Today, a freelance developer focused on Bitcoin and the Lightning Network, Super Testnet, unveiled his latest invention, Hedgehog, a protocol for asynchronous layer two bitcoin payments.
“This is a protocol similar to the Lightning Network,” Super Testnet stated. “And that it is a layer 2 for Bitcoin payments, only in this one, unlike the Lightning Network, the two parties don’t have to both be online, it’s asynchronous. One party can send the other money then they’re offline.”
One of the features of Hedgehog channels is its simplicity compared to lightning channels, according to the project’s Github. State updates in Hedgehog channels only require the sender to propose an update, which the recipient can then accept at their convenience. This asynchronous nature allows for more flexibility and efficiency in payment processing.
The protocol works by leveraging a primitive in Bitcoin script known as “revocable connectors.” These connectors are built on two even more primitive components: revocable scripts and connector outputs. Revocable scripts allow either party to revoke a transaction after a certain period, adding an extra layer of security and control. Connector outputs allow you to construct a pre-signed transaction spending a separate UTXO alongside the connector output, allowing the transaction to be invalidated by spending the connector output by itself.
To illustrate how Hedgehog channels operate, consider a scenario where Alice opens a channel with Bob by sending a certain amount of bitcoin into a multisig address. Using the revocable connectors, Alice can then send off-chain payments to Bob while he is offline. These payments are embedded in a piece of text, similar to a cheque, and can be sent via email or other communication methods.
When Bob comes online, he has the option to accept or reject the payment. If he accepts, he can cosign and broadcast the transaction to update the channel balance. If he rejects, he can propose an alternative transaction for Alice to consider.
One of the potential problems that Hedgehog needs to solve is, for instance, if a party sends money to their counterparty they lose the ability to force close the channel because they do not have the other partyβs signature. The protocol provides a conditional revocation mechanism. This mechanism aims to allow the sender to revoke a previous state conditionally, giving both parties a window of time to override the transaction if needed.
Additionally, Hedgehog addresses the issue of funds being stuck in a multisig address if one party becomes permanently unavailable. By incorporating time-lock conditions into the script, the protocol can ensure that funds can still be accessed after a certain period, even if one party is unable to provide their signature.
Super Testnet posted that he has an idea for how to use Hedgehog channels to build a federated CoinPool that he named Burrow. Those interested in that can learn more about it here.