We are already starting to see the seeds of the second layer potential develop from the primitives at the basic level that have been added or optimized in the first decade. Lightning, although still subject to some rather large limitations, is really starting to thrive. And this is only the first limited version that is currently specified and distributed. Now there are Sidechains of various types lined up: liquid, RSK and even token chains related to Bitcoin developed by commerceblock. This is only the beginning.
Schnorr and Taproot
Just beyond the horizon, we have the combination of Schnorr and Taproot. On the Schnorr side of things, this is much cheaper check the signature scheme in the lots, as well as the next big leap in the optimization of the multi-firm script construct in Bitcoin. Multisig started how to simply fill all public keys and the script for Multisig in an output of transactions to send it and have to include all this in the input to spend it. P2Sh has optimized the appearance of the output, including a constant hash of public keys and Multisig scripts, saving commissions for anyone who sent a Multisig address and leaving a cost increased only for the sender. Follow probably “optimized” making Multisig Utxos expenditure cheaper with the witnesses discount. Schnorr takes all this incremental optimization to the extreme. Combine individual public keys in a single key, so everyone can collaborate to make a single signature and simply check it. This creates enormous savings on costs for all the use of Multisig, including second layers such as lightning and federated sidechain, and also creates a benefit for privacy making all these Multisig Utxos indistinguishable from single signature.
This does not magically make everything completely private. The states of the Lightning channel (transactions) still require separated key paths for their penalty transactions to react to the presentation of old states. This means that those must be in output scripts that creates a digital imprint. TAPROOT solves it with its crypto-friend who allows you to commit a Merkle tree of different spending conditions, which require only the condition used and the Merkle test at the Merkle root to be spent, with a normal-looking Schnorr key . Now you can hide that penalty script path with taproot. You can hide any condition of conditional script with Taproot, buried under a perfectly normal Schnorr key that allows all participants to agree on something and make a perfectly normal appearance transaction.
Sighash_anyPrevoutput
Sighash_anyPrevoutput (previously Sighash_noinput) it is hoped that the next new primitive will take off from the pipeline. It is a new update of the public key format/flag of suspension. The Sighash flags specify in which parts of a transaction is committing a signature. This feature is there so that you can do something similar to your sign only of your inputs and outputs, but allow other people to add their inputs and outputs to a transaction without invalidating. But currently, a signature must engage in a Exactly Utxo from a Exactly transaction. Sighash_anyprevout, among other things, would allow commit a signature in only an UTXO scriptNot a real specific utxo. This allows a new way (ElToo) to build states of the Lightning channel that do not require a penalty key or take care of old states by allowing the cheated part to confiscate all the money. Instead, the current state of the channel could simply spend the old state of the channel again if it has lost the double spending competition, guaranteeing everyone that they get their own balance on the chain compared to a previous obsolete balance. You make it simply by reusing the same script in the right place and using Sighsh_anyprevout.
This removes many risks for losing the current states of the canal that translates into a transaction of penalty that will take your funds for an honest mistake. It also enables much more. Now we can have lightning channels with more than 2 participants and we can even stack the “sub-channels” above those. In addition, Sighash_anyPrevout and ElToo enable the creation of StateCains, a type of federated channel construct that allows new participants to enter and fully out of the chain with the assumption of the trust that the Federation will not hide with the participants who passed to fray anyone. This opens a lot of potential for what I called to myself “multi -party static utxo protocols”.
Op_checktemplavely
Op_ctv is a proposal by Jeremy Rubin to allow a very simple type of “alliance” on Bitcoin. An alliance is more complicated restrictions on shopping a coin beyond the signatures from certain keys. Rubin’s type of proposal of the implementation alliance is a “model”. In essence, this allows a UTXO script to request the creation of exactly specific outputs from the spending transaction. Therefore, once an UTXO has been created using OP_CTV, it is applied by the consent that the UTXO must be spent on specific addresses in the specific amounts defined in that screening of UTXO. You can even chain them so that one of these Utxos is forced to make some others, which are therefore forced to make them a little more, still and again.
This has a huge general applicability everywhere. In high commission environments, a single UTXO can be made by an entity of custody that 100% according to the rules of consent It guarantees that all the funds of their customers will end up under the control of their customers, even if at the moment they do not have immediate access to them. This has a lot of potential synergy with multi -party channels (channel factories), as a mass “withdrawal” made in this way can also create and be used simultaneously as a channel factory. OP_CTV can be used to create Payment channels that at least work uniquely without the end of receipt must participate or have an online key to receive payments (And remember that you can stack the channels one above the other). It can also be used to allow a single channel to process more HTLC simultaneously by grouping them together with the same trick that the first example with the use of custody withdrawals. And it could also create a potential for new types of coinjoins.
Put everything together
Assuming that all the above proposals are adopted and incorporated into bitcoin, I really think that apart from the developers who actually work at the advantage of these things, people do not even have the weaker clue of which types of protocols and services will be built using using These primitives. Or the strange things in which there is no clear division line between service or protocol.
They will enable multi-party channels with numbers of theoretically unlimited participants, who can stack the sub-channels at the top with smaller subgroups of the participants in the base channel. The channels can be built above these “channels factories” that allow people to receive money without having online keys for a hot wallet. These multipartic channels can be stacked on federated channels (StateCains) that allow participants to enter or exit Zero chain activity! And the construct of the “splicing” of the channel will allow the liquidity to move relatively fluidly between different channels in ways that will allow all types of things that people have not even started thinking.
My last word in this section is: this is only considering what can be done with the things I consider direct parts of the Bitcoin protocol itself. You can do much more if you start looking at centralized custody services and as subsets of Bitcoin properties that can provide it to make it ignore regulatory or legal barriers.
This is only part 2 of 4, read the next part tomorrow.