风险提示:央行等十部委发布《关于进一步防范和处置虚拟货币交易炒作风险的通知》, 请读者提高风险意识。

比特币又实现图灵完备了?BitVM论文讲了什么?

期待BitVM给比特币带来一些新的应用场景,不过我觉得离真正有用的东西还是太远。

黄世亮
黄世亮
热度 ...

原文作者:黄世亮

原文来源:闪电HSL

上周(2023年10月中旬)在Twitter上看到了BitVM的论文,《BitVM: Compute Anything on Bitcoin》(《BitVM:在比特币完成任何计算》)。https://bitvm.org/bitvm.pdf 这个论文在比特币生态上得到了很大的关注。

如果有底层的计算机实现基础知识,理解这论文并不难。

论文的第一部分是描述了计算机的基本原理,即计算机完成的所有事件最终都是归结为几个简单的数字逻辑电路基本单元的计算,与、非、或,这三种门构建的逻辑计算。包括我们现在可以使用计算机完成各种复杂的操作,如看视频、写文档、购物……,都是这样。

有一种特殊的门,叫NAND门,中文叫“非与门”,中使用NAND门就可以用来构建所有的其他逻辑门。

上面这些都是基础的计算机知识,看不懂也不重要,你只需要知道,整个计算机世界就是靠这些“门”来设计出来的。

而比特币脚本引擎里有两个操作码,OP_NOT和OP_BOOLAND,再加上哈希锁,就可以设计出NAND门(非与门)。

而这就意味着,使用比特币脚本就可以实现任何计算问题,这就是所谓的图灵完备。也就可以基于比特币脚本来搭建一台“虚拟计算机”,这就是标题里VM这两个字母的意思。

(再次推荐学习下计算机的基础知识,对于理解区块链非常有帮助,《掌握计算机基础知识是区块链和数字货币世界的通行证》)

论文的第二大部分就是解释如何使用这两个操作码和哈希锁来实现各种计算问题,以及,为什么是正确的。

这些吧啦吧啦的,非常难看的懂。

我也看不懂,只能假装认为它是对的,然后按我的理解,我来科普下它是怎么工作的。

先来设定一个计算任务,并使用BitVM这套东西来设计成程序来执行,这个任务是:两个人(A和B)分别拿出1BTC的资金进行打赌,赌大小。

程序设计如下:

1.A和B分别将自己的1BTC充值进一个他们生成的2-2签名地址,要花费这个2-2地址里的资金,可以使用如下任一方法:

1)A和B同时提供签名;

关于【比特币又实现图灵完备了?BitVM论文讲了什么?】的延伸阅读

  • 探讨比特币 Layer 2 解决方案的三个关键设计决策

    比特币的二层解决方案涉及三个关键设计决策:桥接BTC、继承安全性和处理数据可用性。最佳解决方案是BitVM桥接,但仍有问题。另一种选择是与Babylon结合,构建PoS侧链。数据可用性对乐观设计很重要,比特币侧链可能需要使用以太坊或其他替代方案。最有利于安全性的解决方案是合并挖矿,通过不同模块可创建18种独特的侧链组合。个人偏好的方案是通过BitVM桥接使用Babylon获得BTCPoS安全性,或者采用创新的合并挖矿方法扩展比特币PoW安全性,并依赖外部数据可用性。

  • 探讨比特币 Layer 2 解决方案的三个关键设计决策

    比特币的二层解决方案涉及三个关键设计决策:桥接BTC、继承安全性和处理数据可用性。最佳解决方案是BitVM桥接,但仍有问题。另一种选择是与Babylon结合,构建PoS侧链。数据可用性对乐观设计很重要,比特币侧链可能需要使用以太坊或其他替代方案。最有利于安全性的解决方案是合并挖矿,通过不同模块可创建18种独特的侧链组合。个人偏好的方案是通过BitVM桥接使用Babylon获得BTCPoS安全性,或者采用创新的合并挖矿方法扩展比特币PoW安全性,并依赖外部数据可用性。

2)A提供签名,以及提供一个“证明文件”,然后等待一定的挑战周期(比如10个区块),如果在挑战周期内,B没有发起有效的不同意见挑战,则A可以花费里面的币。

2.打赌的规则使用NAND门来设计,并且运行在链上,但运行的结果可供链上使用。我们可以视运行的结果是生成一个上述说的可供赎回UTXO的“证明文件”。

按我的理解,本质上BitVM实现的是在依据链外的特定信息,赎回链上特定的UTXO。外链的特定信息需要按BitVM约定好的方式编程,以生成可供链上使用的“证明文件”。

可供赎回的UTXO也需要设计成特殊的赎回脚本。

BitVM的这种模式,我判断至少要保证以下:

1.目前看来只能是两方参与,即只能搞一个2-2签名的地址,在链外可以设计成很复杂的程序,但链上一定是一个证明者和挑战证明者。

这个和闪电网络有点像。

2.在链上双方都必须在线,以防止挑战周期内自己不在场而导致不公平的结果。

这个和以太坊的合约账户区别还是非常大。

以太坊的合约账户是可以定义程序,这些程序可以托管以太坊币等链上资产,这些资产按代码规则进行运行。

以太坊的合约账户里的代码是真正运行在矿工节点里的。

期待BitVM给比特币带来一些新的应用场景,不过我觉得离真正有用的东西还是太远。

目前还只是一个白皮书,连模型都没有,也没有可供使用的高级编程语言,只能使用opcode来编程,相当于只能使用汇编吧,连C语言都还没有。

免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:黄世亮,如有侵权请联系删除。转载或引用请注明文章出处!

标签:

分享至
https://www.chainlook.cn/toutiao/1697417413.html

下一篇:

新加坡联合早报:港新不应对立,Web3.0是维系全球命运共同体新网络

香港和新加坡更应该协同发展,为国际社会打造更公平民主、全球人类共用协作、共治共享的下一代网络。

免责声明:
链观CHAINLOOK作为区块链技术应用与Web3行业研究的智库媒体,旨在为中国区块链专家、学者们提供最新的行业资讯信息与数据样本,用于区块链技术研究与创新。本站所发布的文章仅代表作者的个人观点,不代表链观CHAINLOOK官方立场,本站所发布的区块链行业研究报告与数据分析成果是通过人工智能算法对数据内容进行分析与归纳生成,不代表任何投资暗示与建议,链观CHAINLOOK不承担法律责任。

风险提示:
虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,链观CHAINLOOK坚决反对各类代币炒作,请读者提高风险意识,理性看待区块链技术应用及市场风险。

© 链观CHAINLOOK All Rights Reserved. 京ICP备18054193号-5