BitVM 脑洞大开,复杂概念和落地可行性剖析
作者:Haotian Twitter:@tmel0211 SevenUp DAO
BitVM 像是在人人可以用移动终端的时代里,构建了一台比房间还大的巨型计算机。
一、如何实现复杂可编程特性?
由于,比特币的编程能力非常有限,仅在 script 脚本上支持简单的逻辑和有限的操作码,因此无法在比特币网络上开发复杂的智能合约。
BitVM 提案脑洞大开的核心点就是,通过 taproot 地址矩阵或者说 taptree 实现了类似二进制电路的各类程序指令,组合起来就相当于完整的合约执行了。
具体而言,我们可把每一个 Script 脚本中的 UTXO 花费条件指令当成一个程序最小单元,一个脚本执行无非 true 和 false 两种结果,若在 taproot 地址中输入一定的代码就能得到一个确定性的 0 或者 1,若把大量的 taproot 地址组成矩阵就能构成一个有序的 taptree,而执行的结果就有大量 011001 之类的二进制电路文本效果,就可以被视为一个可执行的二进制程序。
程序的复杂性取决于组合的 taproot 地址多少,地址越多,在比特币框架范围下每个 Script 预置的指令越丰富,整个 taptree 可以执行的程序就越复杂。Maker Sense 吧?
这脑洞着实够大。不过按照这个逻辑,最小单元指令确实由比特币全节点完成,而且无限叠加 taproot 地址,无限组合的可能性可以叠加很多复杂计算。某种程度上,说它为图灵完备机不为过。
但无限叠加 taproot 地址只会增加成本消耗,理论上是可以图灵完备实现一切,但却不切实际。
所以,白皮书中提到的图灵完备只是极端理想情况下的说法,有点「偷换概念」之嫌,连以太坊号称超级计算机都无法完全实现图灵完备,何况仅依托 script 的比特币网络呢?
二、若干复杂概念浅析
基于上述核心框架理解,再去看白皮书中提到的 Optimism Rollup 和 Fraud Proof 以及 Bit commitment,Logic Gate 为何物了?由于,单个 taproot 空间和可执行代码逻辑有限,在链下执行复杂程序,只把关键验证环节放到链上,不就是一种 Rollup 的思想吗?
而 Fraud Proof 可以这样理解,Prover 和 verifier 双方先编译一个巨大的二进制电路,比特币网络在执行电路时,有一个前提是 Prover 要预签名 且要质押一定的比特币资产,若 Verifier 验证出来 Prover 有作恶之嫌,就可以同理向链上发送交易以触发链上 taptree「程序」的 UTXO 解锁条件,成功的话,verifier 就可以罚没 prover 的抵押资产,等于就是一次欺诈证明过程。
这个逻辑里,我们就不难理解为啥 BitVM 只适用于两个有约定共识的 parties,即必须执行前共享总电路图,必须在有效期内执行欺诈者证明程序,必须质押一定资产且预签名。若双方没有在链下配合搞一套约定的共识,仅靠比特币网络有限的链上执行环境,很难促成一次真正的「合约」执行。
三、BitVM 落地会存在哪些障碍?
1)BitVM 目前只适合两个约定共识的 Parties 之间实施链上操作,链上环境只是公开透明化执行合同的过程。目前也仅能实现两个约定主体之间,若实现 N-N 需要更复杂的技术逻辑设计。
2)BitVM 如何应用单个 taproot 地址的脚本实施最小编程单位,不能超出比特币的执行逻辑框架比如 hashlock、timelock 这些,不能超出限定的存储条件,乐观情况下 一个 taproot 地址可以编程上百个逻辑门,更多就得组合大量地址进行 taptree 构建了。
问题来了,taproot 地址预设解锁条件的执行需要付矿工费,地址组合越多要花费的成本也越大。未来也许靠闪电网络的双向通道技术可以降低成本,但总得来说要靠比特币网络执行逻辑门电路,不仅慢不说,想想就是个高花费的事儿。
3)BitVM 理想状况下支持的场景很有限,比较适合重链下计算,只有部分共识和资产转移需要依赖链上的场景,比如游戏的资产处置环节等;
总的来说,BitVM 是个脑洞大开且极具创意的构想,但按照它的落地实现技术框架,就知道它短期大概率会限于白皮书构思阶段了,长期的应用场景探索,落地应用还面临极大的挑战。
用个很通俗的例子来形象说明:BitVM 像是在人人可以用移动终端的时代里,构建了一台比房间还大的巨型计算机。
最后更新于