使用限制条款实现盲化合并挖矿
作者:Ruben Somsen
来源:https://gist.github.com/RubenSomsen/5e4be6d18e5fa526b17d8b34906b16a5
更新:本文的内容也在这个 Spacechain 讲解视频中解释过。
本文也在 bitcoin-dev 邮件组中发表过。
盲化合并挖矿(Blind Merged Mining,BMM)的想法是在比特币区块链的一个唯一的位置承诺另一条区块链的哈希值,并且承诺者为了使用这个哈希值来续写那条区块链、收取那条链上的手续费,需要向比特币矿工支付费用。因为矿工不需要知道这个哈希值代表什么,而且直接被激励去选择出价最高的一个,所以矿工不需要额外的验证(因此是 “盲目的”)。这个想法最初由 Paul Sztorc 提出,但他的提议需要一次特殊的软分叉 [0] 。
本质上,BMM 是一种让其它区块链(山寨币,token)将挖矿工作外包给比特币区块链的机制。这些区块链不是直接用 ASIC 消耗电力,而是给矿工支付比特币,这些矿工会反过来为了获得这些报酬而执行工作量证明挖矿。这就提高了比特币区块链的总 PoW,也为比特币网络增加了安全性。这是一种容易实现、容易挖矿的共识机制,只需要两条链(比特币和挖矿外包的链)的全节点客户端和一些比特币。
虽然很难说为之推动一场软分叉是值得的,但事实证明,Sighash_AnyPrevOut(曾用名 “Sighash_noinput”)的加入就足以实现 BMM。因为,正如 Anthony Towns 所说 [1] ,Sighash_AnyPrevOut 可以创建 OP_CheckTemplateVerity(OP_CTV)形式的限制条款 [2] 。有了它,我们无需任何可信任的启动设置,就可以实现下列功能:
- 一长串的 Sighash_AnyPrevOut 交易,每一个都只能被下一个花费(花费的签名是放在输出脚本中的,形成了一个限制条款)
- 启用 RBF(手续费替代),并使用 Single、AnyOneCanPay、AnyPrevOut 三种 Sighash 模式来签名,允许为交易添加输入和输出来支付手续费(类似于 eltoo 中支付手续费的方式 [3] )。
- 一个区块的相对时间锁,保证每个区块只能挖出一笔交易。
完整的交易流程图示见此处:https://gist.github.com/RubenSomsen/5e4be6d18e5fa526b17d8b34906b16a5#file-bmm-svg
(注意,如果使用的不是 Sighash_AnyPrevOut 而是 OP_CTV,则需要使用 CPFP(子为父偿),因为所有输出都需要预先定义好。)
(译者注:RBF 和 CPFP 都是追加手续费的方法,RBF 的思路是直接通过减少找零输出的面额来增加手续费;而 CPFP 的思路是发起一笔子交易来花费未确认的父交易,并使用子交易来支付更高的手续费。)
这种设置为哈希值创建了一个独一无二的位置,任何人都可以使用 RBF 来竞争这个位置。哈希值可以通过 Taproot 承诺到支付手续费的输出中。如果相应于被承诺的哈希值的区块没有公开或是违反了共识规则,这个区块会在自己的网络中被当成孤块,就像 Sztorc 的提议一样。
虽然比特币区块链对一个 BMM 的链是无感的,但反之不成立。所以,一些有趣的可能性也出现了。例如,你可以创造一种有条件的 BMM 代笔转账,只有当某一笔比特币交易在某一段时间内发生,才能执行;这就是一种原子化互换(结合 资产发行/染色币/锚定币 功能会变得非常有用)。基于比特币的算力及其它指标创建合约也会成为可能。
现在看起来,这样的 BMM 链似乎不可避免要发行一种原生的代币作为链内交易的手续费支付工具。这让我很不舒服。我能想到的最公平、最不会导致投机的方法就是一种永续的单向锚定机制:任何时候你都能燃烧 1 BTC 来换得 1 token。这就维持了 2100 万 BTC 的上限。燃烧掉的比特币就回不来了,可以均匀地给所有比特币持有者带来好处。持有 BTC 将永远是更优的,因为你总能将 BTC 迁移过去(反之就不行)。这样应该能遏制投机 —— 让人们仅在可以满足一个即时的目标时才将币迁移过去。
因为没有区块奖励,人们可能没有足够多的动力推动链的前进,而是会发动重组。但是,BMM 链的重组也有自己的特点:重组链必须跟原本的链竞争同一个位置。一个 10 区块长的重组平均要花 100 分钟才能跟原链打平(前提是这段时间原链不推进)。要是这段时间的新交易的手续费只给原链 [4] ,这种压力会让重组更加昂贵。不过,这种缓解措施是否充分,尚未有定论。
最后,值得追问的是 BMM 是否对比特币当前的激励结构影响过大。我没有清晰的答案,但需要指出,更低效的 BMM 在当前的比特币上已经可以实现了。你不必为哈希值指定一个专门的位置,你可以直接使用大量的区块空间,就像 Veriblock [5] 那样。因此,我认为这跟要通过 OP_RETURN 添加输入的理由是一样的 —— 如果你不支持这种方法,那人们就会使用更浪费的方法。
一些技术细节(感谢 Anthony Towns 提供他的洞见):
- 因为具体的签名已经提前承诺了,私钥的安全性在此无关紧要。你可以直接使用 G(生成点)来取代常规签名 s = r + e * p 中的 R 和 P。这意味着任何人都可以使用 s = 1 + e 预先计算出所有 Sighash_AnyPrevOut 签名。
- 假设有了 taproot,花费的脚本可以成为一个 taproot 叶子。那么,为了保证限制条款的功能,密钥花费路径必须被禁用。这可以通过使用一个 NUMS(Nothing-up-my-sleeve number) 比如 hashToCurve(G) = H 来实现,然后 taproot 公钥可以是 T = H + hash(H||bmm_hash) * G 。
[0] https://github.com/bitcoin/bips/blob/master/bip-0301.mediawiki
[1] https://www.mail-archive.com/[email protected]/msg08075.html
[2] https://github.com/JeremyRubin/bips/blob/ctv-v2/bip-ctv.mediawiki
[3] https://blockstream.com/eltoo.pdf
[4] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-September/016352.html
[5] https://twitter.com/lopp/status/1081558829454802945https://www.btcstudy.org/2022/01/27/breaking-down-the-bitcoin-lightning-network-eltoo/
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
您可能感兴趣
-
不只是钱包,小狐狸也推出了稳定币
等待九年,MetaMask 却给了个稳定币?撰文:angelilu,Foresight News当你问入圈的朋友们接触的第一个链上应用是什么,毫无疑问,必然是小狐狸钱包。一个有着可爱小狐狸头形象,且背
-
如何在MathWallet中添加自定义节点?实用设置步骤指南
本文为区块链小白提供MathWallet添加自定义节点的详细操作指南,涵盖准备事项、核心步骤(获取RPC地址、链ID等参数,进入钱包设置添加并验证节点)及常见问题解答,助用户安全连接特定区块链网络。
-
meme币有哪些获得方法?2025最新获取路径及实用技巧
本文介绍meme币的获得方法,包括交易所直接购买、空投参与、流动性挖矿等核心路径,分析获取前的准备要素及风险规避指南,帮助读者了解其发行机制与投资风险。
-
跨生态深度共建,WConnect 搭建 Web3 协同发展新平台
在全球区块链生态快速发展、各公链及应用层创新不断涌现的背景下,用户在各生态间的理解与参与仍面临一定门槛。生态项目与用户、开发者之间缺乏高效连接,成为行业发展的普遍难题。 作为全球领先交易平台CoinW
-
MANA币是哪个国家的?一文了解元宇宙代币MANA的核心功能与前景
Decentraland(MANA)是元宇宙代表性代币,作为虚拟世界的消费与治理工具,支持土地交易、DAO投票等功能,2025年市值约5.5亿美元,未来受虚拟地产增长与合作推动,但需关注政策风险。
-
MAX币是什么?要一直涨到20元需满足哪些条件?投资避坑指南
文章解析MAX代币的两种定义(Agents.Land生态与Matr1x元宇宙),探讨20元目标价的实现条件,分析市场动态、估值风险,并提供投资建议框架,提醒投资者关注项目落地进展。
-
特斯拉的下一章:吞并 xAI?
将一个千亿美元估值的当红炸子鸡(xAI),并入一个已是万亿市值的巨头(特斯拉),绝非心血 interracial。撰文:硅兔君在科技与资本的世界里,有些传言,起初只是爱好者论坛里的窃窃私语,而后发酵为
-
如何正确销毁mew币?mew币销毁机制避坑指南
文章详解MEW币销毁机制现状、历史模式及潜在操作方法,分析低流动性等风险,提供智能合约验证、小额测试等安全操作建议,助持有者谨慎应对销毁问题。
- 成交量排行
- 币种热搜榜
