Kurz erklärt:
Ein Bundler ist ein Netzwerkknoten im Ethereum-Standard ERC-4337 (Account Abstraction), der sogenannte UserOperations aus einem eigenen Mempool sammelt, zu einer einzigen Transaktion bündelt und an einen zentralen EntryPoint-Smart-Contract übermittelt.
Hintergrund
ERC-4337 wurde 2021 vorgeschlagen und im März 2023 auf dem Ethereum-Mainnet aktiviert. Ziel des Standards ist die sogenannte Account Abstraction: Nutzerkonten werden als Smart Contracts umgesetzt, ohne dass Änderungen am Basisprotokoll nötig sind. Der Bundler ist eine zentrale Rolle in dieser Architektur und funktional mit einem klassischen Relayer verwandt, folgt jedoch einer festgelegten Spezifikation.
UserOperation und Mempool
Statt einer regulären Transaktion erstellt ein Nutzer eine sogenannte UserOperation, ein Objekt, das die gewünschte Aktion, Signaturdaten und Gebührenangaben beschreibt. Diese Objekte werden nicht in den regulären Transaktions-Mempool eingestellt, sondern in einen separaten, alternativen Mempool. Bundler beobachten diesen Mempool, prüfen die UserOperations auf Gültigkeit und Bezahlbarkeit und wählen jene aus, die sie verarbeiten.
Bündelung und EntryPoint
Der Bundler fasst mehrere UserOperations zu einer einzelnen On-Chain-Transaktion zusammen und ruft damit den EntryPoint-Vertrag auf, einen standardisierten Smart Contract, der die Ausführung koordiniert. Der EntryPoint prüft jede Operation, ruft die zugehörigen Smart-Contract-Konten auf und stellt sicher, dass der Bundler seine ausgelegten Gasgebühren erstattet bekommt. Optional können sogenannte Paymaster-Verträge die Gebühren übernehmen, was gaslose Zahlungen oder die Begleichung in anderen Tokens ermöglicht.
Ökonomie und Betrieb
Bundler tragen zunächst die Gaskosten der Sammeltransaktion vor und werden über den EntryPoint-Mechanismus entschädigt, wobei eine Marge als Anreiz dienen kann. Da mehrere Bundler unabhängig voneinander um die Verarbeitung konkurrieren, soll das System gegen Zensur einzelner Betreiber robuster werden. Bekannte Implementierungen entstanden im Umfeld verschiedener Infrastruktur-Anbieter, die Bundler-Software als Open Source bereitstellen.
Häufige Fragen
Was ist der Unterschied zwischen einer UserOperation und einer Transaktion?
Eine UserOperation ist ein Datenobjekt für den Standard ERC-4337, das erst durch einen Bundler in eine reguläre Ethereum-Transaktion umgesetzt wird. Sie liegt in einem separaten Mempool.
Wofür dient der EntryPoint-Vertrag?
Der EntryPoint ist ein zentraler Smart Contract, der die eingereichten UserOperations validiert, ausführt und die Erstattung der Bundler-Gebühren regelt.
Verdient ein Bundler an seiner Tätigkeit?
Ein Bundler legt Gasgebühren vor und erhält sie über den EntryPoint erstattet. Zusätzlich kann eine Gebührenmarge als wirtschaftlicher Anreiz vorgesehen sein.
Muss ein Nutzer selbst Ether für Gas halten?
Nicht zwingend. Über sogenannte Paymaster-Verträge können Gebühren von Dritten übernommen oder in anderen Tokens beglichen werden.
Wann wurde ERC-4337 eingeführt?
Der Vorschlag stammt aus dem Jahr 2021, der zugehörige EntryPoint-Vertrag wurde im März 2023 auf dem Ethereum-Mainnet aktiviert.
Zusammenfassung
Ein Bundler ist ein Knoten im Ethereum-Standard ERC-4337 für Account Abstraction. Er sammelt UserOperations aus einem separaten Mempool, bündelt sie und übergibt sie dem EntryPoint-Vertrag. Der Standard wurde 2021 vorgeschlagen und 2023 aktiviert.
Weiterführende Quellen
- EIP-4337: Account Abstraction (Ethereum Improvement Proposals): eips.ethereum.org
- Ethereum: Account Abstraction: ethereum.org