BEVM:一文了解闪电网络+Taproot Consensus 的创新组合
本文由 BEVM 提供,不代表未向財經观点。
原文链接:
https://bevm-blog.webflow.io/post/how-to-design-an-escape-hatch-for-bitcoin-l2-using-the-state-channel
长期以来,闪电网络只是被应用于比特币的点对点支付,由于缺乏智能合约,且没有代币激励,一直被广大 Crypto 用户所疏远。但是,闪电网络作为最符合中本聪思想的比特币拓展方案之一,如果能有机的融入智能合约场景,或将开启全新的比特币拓展范式。
近期,BEVM Core Builder—Gavin 在其推特上公布了如何给闪电网络增加智能合约功能,以及如何使用闪电网络给比特币二层增加逃生舱机制的设计思路,并透露 BEVM 团队已经正式推出该方案。
本文将延续该思路,围绕闪电网络的基本原理,以及闪电网络和比特币二层的结合展开思考。
一、闪电网络的基本原理
闪电网络(Lightning Network,以下简称 LN)是最古早的比特币二层拓展方案之一,其主要应用场景在于实现快速且低成本的比特币点对点支付。
闪电网络的技术核心是状态通道,状态通道是中本聪在比特币白皮书提到的比特币拓展方案。比特币开发者 Joseph Poon 和 Thaddeus Dryja 基于状态通道发布了闪电网络的相关论文,最终,由 Lightning Labs、Blockstream、ACINQ 等团队开发落地,并受到 Jack Dorsey 等一众比特币 OG 的支持和追捧。
状态通道应用于闪电网络,实现了快速的、近乎零成本的点对点支付功能。
现在,我们先梳理下状态通道的基本运作原理:
当交易双方建立状态通道进行交易,只有第一笔(建立状态通道)和最后一笔交易(关闭状态通道)会在比特币链上进行,剩余的所有交易都在比特币链外进行,也就是在状态通道内进行。
在状态通道内进行的比特币交易(可以理解为此时的 BTC 并非比特币一层的 BTC,而是在状态通道这个 “比特币二层上的 BTC”),交易快速便捷,成本几乎为零,这里交易双方的账本会出现实时变化的 “BTC 资产负债表”,而且每次交易都需要签名,以保障交易的合法性和准确性。
当双方任意一方关闭状态通道,系统就会把最新的 “BTC 资产负债表” 提交到比特币一层去验证,这个验证一般会设置 7 天的验证期,或者叫 “检举期”,本质就是双方在这 7 天内都可以发起检举,时间到期后,A、B 双方将根据最新的 ‘BTC 资产负债表” 拿到属于自己的 BTC 数量。如果双方都能及时确认,则交易可以立即完成。(以太坊的二层拓展方案 OP-Rollup 就是仿照了状态通道的原理,所有交易在二层进行,然后再向以太坊一层提交验证 , 同时有 7 天的挑战期)
我们举例说明:
假设有 A、B 两个 LN 节点要使用状态通道进行 BTC 交易,具体步骤如下:
1、A、B 两个 LN 节点建立状态通道。
A、B 双方都需要向状态通道存入预先设定的 BTC 数量,比如,A 存入 10 个 BTC,B 存入 5 个 BTC,此时,会生成一个新的比特币多签地址,A、B 双方锁定的 BTC 数量就在 C 地址体现出来(C 地址是 AB 双方生成的多签地址,类似一个无私钥的智能合约地址)。
此时 A、B 双方的 “BTC 资产负债表” 是:
A:10BTC
B: 5BTC
C:15BTC
2、当 A 和 B 之间开始交易,A、B 的 “BTC 资产负债表 “开始更新
假设,第一笔交易,A 执行签名向 B 发送 1 个 BTC,
BTC 资产负债表更新为:
A :9BTC
B :6BTC
C :15BTC
第二笔交易,B 执行签名向 A 发送 5 个 BTC
BTC 资产负债表更新为:
A:14BTC
B:1BTC
C:15BTC
以此类推,随着 A、B 双方的不断交易,BTC 资产负债表不断更新(本质就是二层账本不断更新,只是还没有回到一层验证)
3、关闭状态通道
A、B 双方任意一方都可以随时关闭状态通道
假设,关闭状态通道时,BTC 资产负债表是:
A:12BTC
B:3BTC
C:15BTC
在关闭状态通道的同时,最新的 “BTC 资产负债表” 将被提交到比特币一层,同时,启动为期 7 天的验证,假设,A、B 双方都无异议则交易完成。假设,任意一方没有及时验证确认,7 天到期后,按照 “BTC 资产负债表” 来分配 A、B 双方应该得到的 BTC 数量。
以上,就是状态通道的基本运作原理。
总结就是:状态通道采用互相签名 + 时间锁的机制设计,在没有第三方托管的情况下,可以安全的实现比特币的点对点支付,同时,通过链外交易 + 主链验证的方式来实现快捷、低成本的交易。
二、闪电网络 + Taproot Consensus 的创新组合
了解了闪电网络也就是状态通道的基本原理后,可以再看下状态通道的升级设计,也就是把状态通道和比特币二层以及智能合约融合,这里将诞生更多创新的场景。
我们以 BEVM 提出的闪电网络 +Taproot Consensus 为例,来描述这个创新的场景。
Taproot Consensus 是 BEVM 这个比特币二层的解决方案,BEVM 网络的众多节点基于施诺尔签名和 MAST 会在比特币一层生成一个 Taproot 合约地址,这个比特币地址由 BEVM 网络共识维护,类似于以太坊二层在以太坊一层创建的 ETH 托管合约地址。
这个 Taproot 合约地址可以成为一个闪电网络节点(LN 节点),我们命名为 LN 节点 B。
任意一个比特币用户或者机构都可以运作一个闪电网络节点,我们命名为 LN 节点 A。
这样,BEVM 的 Taproot 合约地址(LN 节点 B),可以和任意一个比特币用户或者机构(LN 节点 A)建立状态通道 , 从而在状态通道内,以无需信任的方式进行任意形式的交易。
某比特币机构(LN 节点 A)和 BEVM 的比特币 Taproot 合约地址(LN 节点 B),建立状态通道,此时会生成一个多签合约地址 C。
假设,LN 节点 A(比特币机构)锁定 1000BTC,LN 节点 B(BEVM 的 Taproot 合约地址)锁定 10BTC,则此时的 “BTC 资产负债表” 显示:
A:1000BTC
B:10BTC
C:1010BTC (C 是 A 和 B 共同生成的多签合约地址)
因为,BEVM 的比特币 Taproot 合约地址是状态通道的节点之一,也是 C 地址的多签地址之一,代表 BEVM 在比特币一层的合约地址拥有 1010 个 BTC 的管理权限,因此,BEVM 链上则可以 1:1 显示出 1010 个 BTC。而 A 在 BEVM 链上的地址,则可以在 BEVM 链上进行任意形式的智能合约操作,在每次链上操作前,状态通道内的 A、B 的 “BTC 资产负债表” 也发生相应的变化。
比如,A 使用 BEVM 链上的借贷协议,抵押 100 个 BTC 借出 100 万美金的 USDT,当执行这个交易前,A 需要签名把 100 个 BTC 转入 B 的状态通道地址
此时,A、B 的 “BTC 资产负债表” 将发生如下变化:
A:900BTC
B: 110BTC
C:1010BTC
再比如,A 使用 BEVM 链上的 DEX,把 100BTC 卖出 600 万 USDT,当执行这个交易前,A 需要签名把 100 个 BTC 转入 B 的状态通道地址。
此时,A、B 的 “资产负债表” 将再次发生变化:
A:800BTC
B: 210BTC
C:1010BTC
A 是比特币机构的 LN 节点,B 是 BEVM 的 Taproot 合约地址的 LN 节点,B 可以在任意时候进行签名结算 A 花费的 BTC。此时,B 如果没有异议,则交易确认,结算完成。
如果 A 对结算有质疑,可以在 7 天检举期内发起挑战,Time Lock 到期后,交易自动确认,结算完成。
即使在最极端的情况下,比如,BEVM 网络瘫痪,A 依然可以在 Time Lock 到期后,取回自己未花费 BTC,这里是满满的安全感。比特币用户再也不用担心自己的 BTC 会丢失或者因为链的问题而无法拿回资产。
某种程度上讲,这是一个已经落地的 “比特币二层逃生舱机制”。
总结一下:
BEVM 团队提出的闪电网络 +Taproot Consensus 这一解决方案,本质上是把比特币用户或者机构作为一个闪电网络节点(而且比特币机构也可以用多签地址作为节点),把 BEVM 链本身作为另一个闪电网络节点,两个闪电网络节点建立状态通道,这样,比特币就可以安全无忧的流通到比特币二层,因为,在二层流通花费的 BTC 本质上是流通在状态通道里。
这一方案兼具了闪电网络的原生性和正统性,同时,拓展了状态通道的应用场景,让 BTC 不仅可以支付,还可以进行链上借贷、Swap 等任意智能合约操作。
三、“比特币二层逃生舱机制” 解决比特币用户的安全焦虑问题
长期以来,比特币用户尤其比特币大户对一切链上行为充满安全焦虑,凡是涉及到跨链,涉及到智能合约,涉及到链上交互都充满了安全质疑。比特币大户宁愿把比特币存在冷钱包,放弃任何收益,也不愿意把 BTC 放到链上。
公开数据可查:目前已经上链的 BTC,排名第一的 WBTC 总量 15.4 万,排名第二的 TBTC 总量约 3500 个,再加上其他比特币二层链上的 BTC,总量不超过 21 万,也就是不足比特币总量的 1%。
安全焦虑是阻挡比特币二层大规模发展的第一拦路虎。
而 BEVM 团队提出的闪电网络状态通道和比特币二层智能合约的融合,或许能解决这个问题。
如上文所述,任意比特币用户可以和 BEVM 链通过状态通道建立交易,用户想花费多少,就签名多少;不花费,则不签名;不签名,比特币则永远在自己手里。也就是说,比特币用户对自己的比特币花费完全自控。
即使,比特币二层网络进入瘫痪或者关闭,在设定的 Time Lock 到期后,BTC 也会自动退回到用户的原地址,完全不受链及智能合约等外界因素影响。
四、闪电网络 + 智能合约,解决了闪电网络发展之路的两大难题
闪电网络 + 智能合约的机制设计,不仅能解决比特币用户的安全焦虑问题,还对闪电网络的发展起到了促进作用。
在闪电网络近 10 年的发展过程中,有两个问题一直困扰着开发者。
第一,如何给闪电网络增加智能合约功能,从而让 BTC 在闪电网络内不仅可以做支付,还可以做借贷、Swap、衍生交易等复杂应用。这个问题的本质是 “如何以去中心化的方式给 BTC 赋予具备可编程的智能合约功能”。
第二,如何让闪电网络具备拜占庭容错机制,从而解决点对点网络带来的效率及安全性问题。
BEVM 团队提出的闪电网络 +Taproot Consensus 的解决方案,针对这两个问题给出了自己的答案。
1、闪电网络不再局限于点对点支付,而是可以拓展到可编程智能合约场景
BEVM 团队提出的闪电网络 +Taproot Consensus 的解决方案,有两个核心设计。
首先,Taproot Consensus 本身是 Bitcoin SPV 节点、施诺尔签名、MAST 三大比特币原生技术的有机融合,本身可以保障比特币二层(BEVM 网络)和比特币主网的数据一致性。
其次,引入闪电网络的设计,则可以把 BEVM 链本身作为闪电网络节点,从而让 BTC 可以自由流通在状态通道内,进一步通过 Taproot Consensus 把流通在状态通道内的 BTC 可以使用任意智能合约应用,从而,让 BTC 不再局限于支付,而是可以实现包括借贷、Swap、Staking、衍生交易等多种复杂场景。
这一创新设计是对闪电网络的极大拓展,对于闪电网络的长期发展也将起到重大促进作用。
2、用 BFT 共识网络作为闪电网络节点,解决闪电网络的去中心化容错问题
众所周知,闪电网络是一个点对点网络,但不是一个拜占庭容错的去中心化网络。
拜占庭容错的去中心化网络依靠 BFT 网络共识来运行,用户只需要信任 BFT 网络共识,并不需要信任任何一个单点或者个人,用户只需要掌握在链上生成的私钥,就可以在链上执行任意交易,本质上和用户交易的是一个 BFT 共识网络,而非个人。
但是,点对点网络,交易双方是个人或者单点,这高度依赖每一个参与节点的专业性和即时响应能力甚至节点运维能力。单点的响应能力和诚实度,决定了交易的效率和安全度。
我们举例说明,A 和 B 在闪电网络建立状态通道进行交易,假设 A 是一个不够专业的节点,而 B 是一个专业但不诚实的节点。假设,在完成交易前,B 向链上提交了不诚实的账单,因为,A 对闪电网络验证不够专业,在 7 天检举期内 A 没有及时发起挑战,则 A 将面临资产丢失或者双花的风险。闪电网络对参与双方的专业性要求是极高的。
以上,是闪电网络在发展过程中,经常遇到的实际性问题,这也是闪电网络近些年发展滞慢的重要原因之一。
但是,BEVM 团队提出的方案是,使用 BEVM 链本身作为闪电网络节点,与用户交易的不再是一个单点或者个人,而是一个靠 BFT 共识驱动、靠 1000 个节点验证运行的区块链网络,链本身是靠共识机制来保障可信,用户则不必担心和不诚实的节点进行交易而带来的麻烦和风险,这将在很大程度上解决闪电网络的去中心化容错问题。