复制成功

分享至

主页 > 数字货币 >

Bitlayer:BitVM及其优化思考

2024.03.25

作者: lynndell, mutourend;来源:Bitlayer研究组

1.引言

比特币是一种去中心化、安全且值得信赖的数字资产。但是,它存在重大限制,无法成为支付和其他应用的可扩展网络。比特币的扩容问题自诞生以来就一直备受关注。比特币UTXO模型将每笔交易视为一个独立事件,导致一个无状态的系统,缺乏执行复杂的、依赖状态的计算能力。因此,虽然比特币可以执行简单脚本和多签交易,但它难以促进在有状态的区块链平台上常见的复杂和动态的合约交互。这一问题显著限制了在比特币上构建的去中心化应用(dApps)和复杂金融工具的范畴,而状态模型平台提供了一个更加多样化的环境,用于部署和执行功能丰富的智能合约。

对于比特币扩容,主要有状态通道、侧链、客户端验证等技术。其中,状态通道提供了安全且多样化的支付解决方案,但其在验证任意复杂计算的能力上有限。这种限制减少了其在需要复杂、条件性逻辑和交互的各种场景中的应用。侧链虽然支持广泛的应用,并提供超越比特币功能的多样性,但是具有较低的安全性。这种安全上的差异源于侧链采用的是独立的共识机制,这些机制远不如比特币共识机制的健壮性。客户端验证,使用比特币UTXO模型,可以处理更多复杂的交易,但是与比特币没有双向校验和约束能力,导致其安全性低于比特币。客户端验证协议的链下设计依赖于服务器或云基础设施,这可能导致集中化或通过妥协服务器进行潜在审查。客户端验证的链下设计还给区块链基础设施引入了更多复杂性,可能导致可扩展性问题。

2023年12月,ZeroSync项目负责人Robin Linus发表了一篇名为《BitVM:Compute Anything On Bitcoin》的白皮书,引发了大家对于提升比特币可编程性的思考。该论文提出一种在不改变比特币网络共识的情况下可实现图灵完备的比特币合约解决方案,使得任何复杂计算都可以在比特币上验证,而无需改变比特币基本规则。BitVM充分利用比特币脚本和Taproot,实现乐观Rollup。基于Lamport签名(又名bit commitment),让比特币两个UTXO之间建立联系,实现有状态的比特币脚本。在 Taproot 地址中承诺一个大型程序,operator和验证方进行大量的链下交互,在链上产生的足迹很小。如果双方合作,则可以执行任意复杂的、有状态的链下计算,而不在链上留下任何痕迹。如果双方不合作,则发生争议时,需要链上执行。因此,BitVM极大地拓宽了比特币的潜在用例,使比特币不仅可以作为一种货币,还可以作为各种去中心化应用和复杂计算任务的验证平台。

但是,虽然BitVM技术在比特币扩容方面极具优势,但仍处于早期阶段,在效率和安全方面还存在一些问题。如:(1)挑战与响应需要多次交互,导致手续费昂贵,挑战周期长;(2)Lamport一次性签名数据较长,需要降低数据长度;(3)哈希函数复杂度较高,需要Bitcoin friendly哈希函数,降低费用;(4)现有BitVM合约庞大而比特币区块容量有限,可借助scriptless scripts来实现Scriptless Scripts BitVM,节约比特币区块空间,同时提升BitVM效率;(5)现有BitVM采用的是许可模型,仅联盟成员可发起挑战,且限定为仅两方之间,应扩展至permissionless 多方挑战模式,将信任假设进一步减小。为此,本文提出一些优化思路,进一步提高BitVM的效率和安全性。

2.BitVM原理

BitVM定位为Bitcoin的链下合约,致力于推动Bitcoin合约功能。当前比特币脚本是完全无状态的,所以比特币脚本执行时,其执行环境在每个脚本之后都会重置。令脚本1和脚本2拥有相同x值的原生方式是不存在的,比特币脚本原生不支持该方式。但仍可以借助现有opcodes,通过Lamport一次性签名让Bitcoin脚本是有状态的,如可强制script1和script2中的x为相同值。如果参与方签署了相互冲突的x值,则可对其进行惩罚。BitVM程序计算发生在链下,而计算结果验证发生在链上。当前Bitcoin区块有1MB限制,当验证计算过于复杂时,可借助OP技术,采用挑战响应模式,支持更高复杂度的计算验证。

与Optimistic Rollup和MATT提案(Merkelize All The Things)类似,BitVM系统基于欺诈证明和挑战-响应协议,但不需要修改比特币的共识规则。BitVM底层原语简单,主要基于哈希锁、时间锁和大型 Taproot 树。

证明者逐字节承诺,但在链上验证所有计算将过于昂贵。所以,验证者执行一系列精心设计的挑战,以简洁地驳斥证明者的虚假主张。证明者和验证者共同预签一系列挑战和响应交易,用于解决争议,从而允许在比特币上进行通用计算验证。

BitVM关键组件有:

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier