) i B" l1 M- k3 f" L9 @+ _ 1 |) X4 M& T( O" U) q \) @3 p8 D! l. w
一篇题为《BitVM:Compute Anything On Bitcoin》的白皮书引发了开发者热议,似乎意味着比特币网络实现图灵完备合约了,可以执行任何可计算的函数?! d. i {$ U; S1 Z
9 J# p$ x, C: @ v+ v+ C# c' P# t / r. N: L. m2 p4 F! J) Z 2 S/ L9 P, `' R; C- ~/ e- j* x9 I这意味着比特币网络可以复现以太坊等生态的一切叙事?而且不需要改变现有比特币共识,甚至不需要任何升级,仅依托当下比特币的基础 op_code 就可以赋予比特币网络「复杂」的可编程能力,让比特币网络可以图灵完备计算一切?; }1 e3 [0 H$ m) W8 i0 ^4 w
@3 O: Z* h2 n
a1 {7 k& z9 K, ?1 \4 u, i : i2 \ w- P8 O4 SWait,先别展开美梦了,先探讨下 BitVM 的构想路径怎么回事。Script 空间如何执行复杂编程?Optimism Rollup 思想指的是什么?Fraud Proof 欺诈证明原理是什么?BitVM 落地实现存在哪些障碍?接下来带大家逐步分析下它的大致逻辑框架,便于大家通俗理解。(不过多探讨具体技术实现细节4 D% b" Y+ _$ O" ^
& t8 y- ?2 K0 S! e' I
! N: N9 B" w+ u, m
9 Q# R2 P. H, l% {
如何实现复杂可编程特性? ! E" U; P7 a3 C) b4 M 4 J+ S! D6 o, y8 r# _, e 0 Z; C9 A* t ^! g% n由于,比特币的编程能力非常有限,仅在 script 脚本上支持简单的逻辑和有限的操作码,因此无法在比特币网络上开发复杂的智能合约。BitVM 提案脑洞大开的核心点就是,通过 taproot 地址矩阵或者说 taptree 实现了类似二进制电路的各类程序指令,组合起来就相当于完整的合约执行了。 8 ]3 d- o. O- V r ]" l ) p4 P/ X4 d+ |2 t. z* N% C: G9 X) `' z9 a
5 x* A+ [5 P h. C
具体而言,我们可把每一个 Script 脚本中的 UTXO 花费条件指令当成一个程序最小单元,一个脚本执行无非 true 和 false 两种结果,若在 taproot 地址中输入一定的代码就能得到一个确定性的 0 或者 1,若把大量的 taproot 地址组成矩阵就能构成一个有序的 taptree,而执行的结果就有大量 011001 之类的二进制电路文本效果,就可以被视为一个可执行的二进制程序。程序的复杂性取决于组合的 taproot 地址多少,地址越多,在比特币框架范围下每个 Script 预置的指令越丰富,整个 taptree 可以执行的程序就越复杂。Maker Sense 吧?9 V" e: J- }5 V9 H