主页 > TP钱包苹果版 > >tp钱包app官网|比特币「又实现」图灵完备了?BitVM 论文讲了什么? | 动区动趋-最具影响力的区块链新闻媒体

tp钱包app官网|比特币「又实现」图灵完备了?BitVM 论文讲了什么? | 动区动趋-最具影响力的区块链新闻媒体

时间:2023-10-16浏览次数:

目前看来只能是两方参与,在链外可以设计成很複杂的程式,但链上一定是一个证明者和挑战证明者。 (前情提要:万字深究「比特币二层网路」,Ordinals vs Taro 谁更有机会? ) (背景补充:天桥资本创办人:美国 Fed 体系濒临崩溃!比特币市值上看15兆美元 )

上週(2023 年 10 月中旬)在 Twitter 上看到了 BitVM 的论文,《BitVM: Compute Anything on Bitcoin》。这个论文在比特币生态上得到了很大的关注。

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

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

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

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

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

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

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

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

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

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

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

程式设计如下:

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

  • A 和 B 同时提供签名;
  • A 提供签名,以及提供一个 「证明档案」,然后等待一定的挑战週期(比如 10 个区块),如果在挑战週期内,B 没有发起有效的不同意见挑战,则 A 可以花费里面的币。

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

按我的理解,本质上 BitVM 实现的是在依据链外的特定资讯,赎回链上特定的 UTXO。外链的特定资讯需要按 BitVM 约定好的方式程式设计,以生成可供链上使用的「证明档案」。

可供赎回的 UTXO 也需要设计成特殊的赎回指令码。

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

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

这个和闪电网路有点像。

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

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

以太坊的合约帐户是可以定义程式,这些程式可以託管以太坊币等链上资产,这些资产按程式码规则进行执行。

以太坊的合约帐户里的程式码是真正执行在矿工节点里的。

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

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

标签: