BIP300 由Bitcoin核心开发者Luke-jr 正式提交 PR
8月22日,Bitcoin Core开发者 @LukeDashjr[1] 在Bitcoin Core Github 代码仓库提交了 BIP300 的PR[2],Bitcoin Core社区开始审核 Drivechain 相关代码。
❝luke-jr commented last week
这是 BIP300(Drivechain)共识级代码的(草稿)干净重写。
不是单独的侧链数据库(可能容易出现难以审查/测试一致性问题),而是为非UTXO数据库条目保留UTXO索引中不可用的8个MSB,并且现有的UTXO数据库和缓存层是共享。这可以在未来进行重构,但我认为这是最初最干净、最值得审查的方法——不过,对其他想法持开放态度。撤消数据在处理恢复新数据时也有一些丑陋之处,但它是抽象的,不应该太难推理。
使用这些新原语,可以使用类似 UTXO 的模型重新实现Drivechain。请注意,当前 PR 中存在零激活逻辑:协议更改始终处于活动状态。因此,这在今天的比特币上不起作用(至少不安全),并且如果没有重大的额外更改来处理激活就无法部署。
还添加了一个新的
SERIALIZE_TRANSACTION_FOR_WEIGHT
序列化标志,该标志仅用于重量计数。这允许调整权重(向上)以适应新功能的额外资源需求。在这种情况下,多个Drivechain“消息”的负担预计会比其 OP_RETURN 编码的负担更大。但具体调整并未在本次征求意见稿中落实。
作为共识的改变,这只能在社区的支持下才能实现
。似乎很多人都有意见,但请保留到其他论坛。尽管提供并继续了这一实施,但我本人并不因此认可或以其他方式评论该提案本身。因此,不要寻找概念 ACK/NACK(即关于Drivechain),而只是
寻找方法 ACK/建设性批评
(即关于我如何实现它)。
谁是 Luke-jr
忠实的罗马天主教徒,六个孩子的父亲,Bitcoin Core开发者。 Luke Dashjr 在比特币世界被称为 Luke-Jr,是比特币核心开发者,也是 Eligis 矿池的创始人。他为比特币核心做出了200多项贡献,并在GitHub上维护了比特币改进提案专区。* 自2011年以来,Dashjr一直在为比特币核心和比特币做出贡献[4]。在Dashjr的帮助下,除其他改进措施外,Steclated Witness是作为一项软项目实施的,该提案除其他改进措施外,还增加了比特币的交易能力。 Dashjr的BFG Miner于2014年发布,现已成为比特币挖矿软件最广泛使用的实现方式之一。它支持各种挖矿硬件,可在Mac、Windows和Linux上使用。 Dashjr 创立了 Eligius,这是最早的比特币矿池之一。如今,它占比特币网络哈希率的不到1%。Eligius 是一个匿名矿池,无需注册。 Dashjr 负责 BIP 22 和 23。BIP 22 增加了对长轮询的协议支持,允许立即收到有关新模板的通知。BIP 23 允许矿工 “在继续工作之前检查下一个区块的基本有效性,从而降低意外硬分叉或挖掘无效区块的风险。”
2021年,他的推特账号被封禁,比特币社区为此发起了一场 #Fresslukejr 的活动,要求推特将其账号解封。
Luke对比特币的贡献包括Bitcoin Core的开发、BIP的维护、Knots客户端的维护、节点数据的处理、比特币维基百科的维护等等,比特币著名的隔离见证软分叉也是由他设计。Luke Dashjr同样是BlockStream的联合创始人,撰写了比特币侧链的白皮书。
Luke:Drivechain能给支持者帮助
对于Drivechain,luke明确的表示他目前持中立态度。他指出了当前Drivechain面临的不利环境,又表明如果得到社区足够的支持,Drivechain能够给支持者想要的帮助。
在拉取BIP300代码受到社区关注之后,Luke在推特上表示:“早在 2017 年,Drivechain就可以说是一个好主意,但存在着资产可能流失的风险。不过Drivechain这艘船已经航行很长时间,如今依旧纠结这个问题并没有意义。”
Luke认为,Drivechain方案的问题不在于Drivechain自身,而在于比特币挖矿算力的集中化。
“在目前采矿集中化的情况下,在我看来,将任何比特币发送到Drivechain都有些资金风险。有更好的方法来燃烧比特币或捐赠给矿工。但这不是我的职责来决定你能/不能用你的比特币做什么,所以如果有足够的社区支持Drivechain,它可供那些想要使用它们的人使用。”
Drivechain的代码由Paul Sztorc在7年前编写,并逐步完善,已经编写了包括比特币分叉测试链和7条测试侧链的代码,总共收到了130次代码拉取请求。
为何Drivechain侧链资产是安全的?
在Github上Bitcoin的代码库 PR list 中,关于此次BIP300 PR 的讨论是近期最多的。
除了代码执行层面的细节讨论外,争议同样集中在Drivechain在当前挖矿中心化趋势下,资产的安全性问题,即矿工可能作弊。
Layer 2 Labs创始人Paul Sztorc对此表示,希望反对者提出更明确清晰的问题所在,让Drivechain来应对挑战。
与以往的侧链挂钩系统如欺诈证明、实际证明或者中央侧链管理员签署提款的证明等不同,BIP300并没有去构建并不起作用的安全系统,因为这些方式里,矿工都可以审查数据、伪造数据或与管理员合作并窃取侧链比特币。BIP-300是直接向比特币矿工授予提现的权力,但把这个程序拉长到3-6个月的时间。为了使侧链提款交易有效,超过 50% 的矿工必须在未来六个月内在其 coinbase 交易中投票支持提款。
在这6个月的时间当中,矿工的作弊行为是很容易被发现的,而诚实的参与者有足够的时间来采取措施。BIP300强调缓慢、透明、可审计的交易,诚实的用户很容易做对,不诚实的用户很难滥用。
另一方面,使用默克尔根和哈希函数添加一个简单的实际证明可能会有一些好处,因为这会让矿工窃取资金变得更加复杂。
而BIP301盲合并挖矿在经济层面进一步降低了矿工进行盗窃的可能。BIP301盲合并挖矿给了矿工以极低的投入,获取潜在高额BTC收益的机会
。盗窃某一侧链的资金回让他们损失掉这一稳定的现金收入渠道。因为矿工的盗窃行为发生在比特币网络上,掌握了大算力的矿工们没有动机去盗窃侧链资金,这意味着Drivechain失败的同时,也意味着比特币的失败,矿工不会这么做。
对于Luke的工作,Layer 2 Labs创始人Paul Sztorc表示这是一个推动Drivechain向前推进的好机会,Luke是一个中立的测试者,他的审核具有参考意义,Drivechain的批评者现在可以指出他们认为有问题或次优的特定代码行。
迎接 Bitcoin 的 iPhone 时刻
参考资料
@LukeDashjr: https://twitter.com/LukeDashjr
[2]BIP300 的PR: https://github.com/bitcoin/bitcoin/pull/28311
[3]@LukeDashjr: https://twitter.com/LukeDashjr
[4]自2011年以来,Dashjr一直在为比特币核心和比特币做出贡献: https://github.com/luke-jr
[5]Luke-jr 回归推特: https://twitter.com/LukeDashjr/status/1693746241639706908?s=20
[6]推特来源: https://twitter.com/rot13maxi/status/1695097084662141076