This LIP proposes a universal transaction format for the LEA protocol. The format consists of a minimal, two-part structure: a DecoderID
and a Payload
. The DecoderID
is a 32-byte identifier for an on-chain contract responsible for interpreting the transaction. The Payload
is an opaque byte stream passed to this contract. This design delegates all transaction validation, serialization, and execution logic to the contract layer, making the base protocol itself simpler and more extensible.
Traditional blockchain protocols enforce a single, rigid transaction structure. This creates significant friction when introducing new features, such as novel signature schemes, privacy-preserving technologies, or account abstraction logic. Implementing such upgrades typically requires a network-wide consensus change (hard fork), which is a slow, contentious, and complex process.
The motivation for this proposal is to create a flexible and future-proof foundation for the protocol. By abstracting transaction interpretation away from the base consensus rules, the network can adopt new functionalities dynamically, without requiring core protocol modifications. This shifts the responsibility for innovation to the execution layer, allowing for faster, permissionless evolution.
The base protocol shall recognize a single transaction structure, referred to as the "Transaction Envelope."
Transaction Envelope Definition: The Transaction Envelope is the raw byte array submitted to the network for processing. It is composed of two distinct fields:
DecoderID
[bytes 32]: The first 32 bytes of the envelope. This field contains the address of a smart contract, hereafter referred to as the "Decoder."Payload
[bytes N]: All bytes of the envelope following the DecoderID
. The protocol treats this field as an opaque byte stream.Base Protocol Execution Rule: The consensus layer will enforce a single, immutable rule for initiating transaction processing:
a. Upon receiving a Transaction Envelope, the node reads the first 32 bytes to identify the DecoderID
.
b. The node invokes the contract located at the DecoderID
address.
c. The node passes the Payload
to the Decoder contract for all subsequent processing.
Decoder Responsibilities: The Decoder contract is responsible for all logic related to the transaction, including, but not limited to:
Payload
.The design is based on the principle of a minimal, robust core protocol with maximal flexibility at the edges.
This LIP defines the foundational transaction format for the LEA protocol. As such, it does not have backwards compatibility considerations with a prior state. It establishes the framework upon which all future transaction types will be built.
The security model is shifted from the protocol to the execution layer.
This LIP is licensed under the MIT License.