Ethereum: Do we still need SIGHASH_NOINPUT for Lightning Network?

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

At the beginning of the Lightning Network, Joseph Poon’s original paper proposed a crucial feature: SIGHASH_NOINPUT (SIGHASH) was to be used as a condition to create 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 paper, Poon wrote, “The first commit should be able to reference the funding transaction txid without actually committing it.” This condition was designed to allow for the creation of commitments that could verify the authenticity and integrity of a transaction while also indicating its origin. Using SIGHASH_NOINPUT would allow transactions to not require input from the network, simplifying the process and reducing network complexity.

Evolution

However, the Lightning Network has evolved significantly over time. The introduction of the “Financial Transactions” (FTX) feature in 2017 marked a significant milestone in the development of SIGHASH_NOINPUT. By allowing FTX to be used without requiring input from the network, developers could simplify the process and reduce the complexity of transaction validation.

SIGHASH_NOINPUT in modern Ethereum

In modern Ethereum, SIGHASH_NOINPUT is still used for certain purposes. However, its role has been significantly reduced compared to its original intention. 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 commitment transaction that references another transaction without actually committing it, developers can use a combination of the following methods:

  • Commitment field: This is used to specify a specific range of transactions.
  • Sequence numbers: These are assigned to each transaction and can be used to verify the sequence of events.
  • FTX (Fund Transactions): As mentioned above, FTX allows transactions to be made without input from the network.

Conclusion

While SIGHASH_NOINPUT is still used in certain contexts on Ethereum, its original purpose has largely been superseded by more efficient and streamlined mechanisms. The Lightning Network continues to evolve, and developers are exploring new ways to simplify transaction validation and reduce complexity. Moving forward, it will be interesting to see how SIGHASH_NOINPUT evolves or replaces these alternative solutions.

Sources:

Ethereum: Do we still need SIGHASH_NOINPUT for Lightning Network?

  • “Lightning Network White Paper” (2017)
  • Ethereum White Paper: “The Ethereum 2.0 Testnet and the Lightning Network” (2020)

ethereum limit ethereum

Leave a Comment

Your email address will not be published. Required fields are marked *

Open chat
Hello 👋
Can we help you?