平行链
翻译:DeepL,Google Translate,校对:李林
我们想要合并开采的区块链。我们想要它们,因为有可能在其中做一些在普通的比特币区块链中无法做到的事情,因为它理所当然地太昂贵了,但是在世界货币之外,还有其他东西可以从 “分布式账本 “中受益–就像人们在2013年相信的那样–比如发行的资产和域名(只是最明显的例子)。
另一方面,我们不能像2013年人们所相信的那样,为每一个微不足道的想法都弄一个比特币的副本,有自己的原生代币,通过工作证明来挖矿,并且重现比特币这种从完全没有价值变成有一些价值神迹。
自定义的合并挖矿协议的区块链(如Namecoin和Rootstock),要求比特币矿工运行他们的软件,成为比特币之外的那个其他网络的积极参与者和矿工,这也不是一个好主意,因为这对所有人来说都太麻烦了。
幸运的是Ruben Somsen发明了这个盲目合并开采的协议,解决了上述问题。虽然它没有解决每个平行链仍然需要某种形式的 “原生 “代币来支付矿工–或者它必须使用另一种不使用原生代币的方法,比如链外的可信支付。
怎么工作的
有了SIGHASH_NOINPUT/SIGHASH_ANYPREVOUT软分叉1,就有可能创建与之前任何UTXO无关的预签名事务。
然后你创建一个长的交易序列(足以持续很多很多年),每个交易的nLockTime为1,每个交易都会花费下一个交易(你从上一个交易创建到第一个交易)。由于他们的scriptSig(解锁脚本)将使用SIGHASH_ANYPREVOUT,你可以获得一个不包括前一个TXO的交易ID/Hash,你可以,例如,在一个交易序列A0–>B(B花了A的输出0)中,在 “A0 “的scriptPubKey(锁定脚本)里面包括 “花A0在B “的签名。
有了上面描述的装置,就有可能做出那一长串大家都会知道(并且知道如何产生)的交易,但每笔交易只能由之前决定的下一笔交易支出,不管任何人做什么,而且它们之间总是必须有至少一个区块的差异。
然后你把它与RBF、SIGHASH_SINGLE和SIGHASH_ANYONECANPAY结合起来,这样平行链矿工就可以增加输入和输出,能够通过包括他们自己的输出并获得找零的回报来竞争费用,同时在找零输出中写入平行区块的哈希值,完美的机制:每个人都试图从长字符串中花费相同的输出,每个人都有不同的平行区块哈希值,只有最高出价者才能得到比特币链上包括的交易,因此只有一个平行区块被开采。