Ethereum: Do we still need SIGHASH_NOINPUT for the Lightning Network?


The Evolution of SIGHASH_NOINPUT on Ethereum and Its Place on the Lightning Network

In the early days of the Lightning Network, Joseph Poon’s original whitepaper proposed a key feature: SIGHASH_NOINPUT (SIGHASH) was intended to be used as a condition for creating a commitment transaction that references another transaction without actually committing it. However, this approach has changed significantly as the network has evolved.


Original Intent

In the original Lightning whitepaper, Poon wrote, “The first commit should be able to reference the funding transaction identifier without actually committing to it.” This condition was designed to allow for the creation of a commitment that could verify the authenticity and integrity of a transaction while also referencing its origin. By using SIGHASH_NOINPUT, transactions would not require input from the network, simplifying the process and reducing network complexity.


Evolution

Ethereum: Do we still need SIGHASH_NOINPUT for Lightning Network?

However, over time, the Lightning Network has evolved significantly. The introduction of the “Funding Transactions” (FTX) feature in 2017 was a major milestone in the development of SIGHASH_NOINPUT. By allowing FTX transactions to be approved without requiring any input from the network, developers were able to simplify the process and reduce the complexity of transaction validation.


SIGHASH_NOINPUT in Modern Ethereum

In modern Ethereum, SIGHASH_NOINPUT is still used for some purposes. However, its role has diminished significantly from its original intent. In fact, most Lightning Network transactions now use other mechanisms, such as the “commit” or “sequence number” field, to achieve similar goals.

For example, when creating a commit transaction that references another transaction without actually committing to it, developers can use a combination of these methods:

  • The commit field: Used to define a specific transaction scope.

  • Sequence numbers: These are assigned to each transaction and can be used to verify the sequence of events.

  • FTX (Fund Transactions): As mentioned earlier, FTX allows transactions to be made without the network being involved.


Conclusion



While SIGHASH_NOINPUT is still used in some contexts on Ethereum, its original purpose has largely been replaced by more efficient and streamlined mechanisms. The Lightning Network continues to evolve, with developers exploring new ways to simplify transaction validation and reduce complexity. As we move forward, it will be interesting to see how SIGHASH_NOINPUT evolves or replaces these alternatives.


Sources:

  • “Lightning Network Whitepaper” (2017)

  • Ethereum whitepaper: “The Ethereum 2.0 Testnet and the Lightning Network” (2020)

Chubby Pengu Raydium Rect

Leave a Reply

Your email address will not be published.