“我们期待下一个周期区块链指数型增长来源于比特币的大规模应用。”
随着 Web3 Labs 与 Waterdrip Capital 共同发起的 Satoshi Lab 实验室正式在香港成立,比特币生态系统的讨论热度在整个加密市场中逐渐攀升。在比特币脚本上利用客户端验证方案构建智能合约,同时兼容具备无限可扩展性的闪电网络进行通道交易,可能成为在同时保证 “安全性,去中心化,可扩展性” 三角上的区块链大规模应用方案。
本文将针对比特币生态一些基础层面概念进行科普讲解。从阻碍大规模应用的“区块链不可能三角”,到克服“不可能三角的比特币“闪电网络”,到目前对比特币脚本的解决方案及 UTXO 模型原理。
以太坊创始人 Vitalik Buterin 和巴比特创始人长铗均提出过,“区块链网络无法同时实现安全性、去中心化和可扩展性”,即“区块链不可能三角”。“不可能三角”的难题,长久以来阻碍了区块链的大规模应用。
在保障安全性的基础上,以太坊过去十年将重心放在发展去中心化,并在底层公链的基础设施层不断创新,以拓展以太坊公链的可扩展性。为了实现这个目标,以太坊十年间也迭代出各种空气算法,分片,Rollup 等技术。
但对于可扩展性难题,从以太坊及其Layer2的尝试来看,似乎只要仍在解决方案局限在区块链上,性能就会存在上限的。即便是我们目前可见性能最强的区块链,仍难突破 TPS (每秒交易量) 上限,离百万级 TPS 的大规模商业应用的要求,和全球工业级实现数亿级 TPS 的目标仍有巨大差距。对于主流公链,不论是以太坊还是比特币,都面临一个瓶颈——“如何解决可扩展性?”
闪电网络利用链下计算的方式,即 “支付通道 (Payment Channel)”,彻底解决了“不可能三角”的可扩展性问题——只要建足够多的通道,就可以跑任意多的并发交易。
如果在通道交易过程中,A 执行欺诈行为 —— 提前关闭通道结算比特币。那么通道关闭时,比特币链上会立刻产生一笔欺诈交易。基于比特币链的开放性,B 就可以及时观察到,并用提前签订的惩罚协议对 A 进行惩罚。惩罚内容就是没收 A 所有准备金。
理论上闪电网络实现了无穷大的可扩展性,克服了区块链不可能三角。但阻碍闪电网络实现大规模应用最关键的问题是:闪电网络使用和比特币相同的脚本,而比特币链上没有智能合约,只有简单的脚本,无法承载复杂应用。即比特币链是图灵不完备的,图灵完备的意味着理论上可以解决任何计算性的问题。使用图灵完备的脚本语言,可以在逻辑上做到和其他编程语言兼容,并在理论上能够实现任何其他语言所能实现的逻辑,以及最大限度的复制现实的商业逻辑。比特币区块链上没有智能合约,更不用说基于智能合约搭建应用。所以闪电网络需要克服的最大问题就是“如何在比特币上实现智能合约”。
2016 年比特币核心开发者 Peter Todd 发表论文提出了客户端验证范式,通过模拟传统的合同签约方式保证只有双方知道合约内容的隐私性前提,无需任何第三方参与,实现完全去中心化。同时,在交易执行时,采用由交易发起方提供必要的完整交易历史数据,另一方自行验证的方式,来防止欺诈问题的产生。既不存在中心化困扰,又是链下验证不受性能限制的特征,使其目前被多数人认为是解决比特币区块链图灵完备性不足的“最优”方案。
传统合同签署vs区块链智能合约签署
客户端验证是否无懈可击?
看到这里,似乎会有人产生疑问,去中心化的比特币区块链本身解决了传统商业中的安全问题,但随着客户端验证的引入,解决方案又回到链下,即便其解决了欺诈问题,那么又该如何有效地防止双花问题产生?
引入“一次性密封”
由于客户端验证本身并不包含双花防止机制,我们不得不需要引入第三方辅助来解决这个问题。为了实现这一目标,我们将客户端验证中需要验证的每个合约的每个状态,与特定比特币的未使用交易输出(UTXO)绑定。由于UTXO仅存在两种形态,”花费”与“未花费”。而一旦要变更验证合约的状态,就必须花费绑定的UTXO(任意金额均可),让花费它的交易得到区块链的确认。此外,花费它的比特币交易还必须提供状态转换的内容的证明(作用类似于哈希值)。简单来说,可以将被绑定的UTXO视为这个状态“信封”的封蜡一一想要打开信封,就必须开启封蜡。
区别于以太坊的账户模型,未花费的交易输出(UTXO)是从一个地址发送到另一个地址但尚未被接收方赎回的加密货币总和,以便在后续交易中将资金发送给其他人。
例如,如果爱丽丝向鲍勃发送 1 个比特币,那么只要鲍勃没有花掉从爱丽丝那里收到的 BTC,他就拥有 UTXO。一旦 Bob 花费了 1 个 BTC,UTXO 的生命周期就结束了。
假设Bob的钱包只参与过一笔交易,其中Bob从Alice那里收到了1 BTC,交易验证者就知道Bob的UTXO余额是1 BTC。如果 Bob 将 1 BTC 发送给 Carol,他的 UTXO 立即变为 0 BTC。如果 Bob 然后尝试在第二笔传出交易中双花-MN4DXX5)他的币,验证者将发现他的 UTXO 余额不足以用作第二笔交易的输入,并且诚实的验证者将不会传播或确认他的双花交易。
在比特币的演进过程中,客户端验证的设计精妙地规避了侧链和彩色币方案的中心化问题,并引入了一次性密封机制,使其进一步提升了安全性。此刻,比特币生态正在迎来一系列全新协议的诞生,其中,RGB协议不仅沿用了上述理念,还提出与闪电网络兼容,为无限可扩展性打下基石。尽管RGB协议与闪电网络的兼容性尚未完美,但我们对未来充满信心,相信帮助协议不断优化的基础设施将突破长期以来的“区块链不可能三角”局限。
我们更加有理由期待下一个周期区块链指数型增长来源于比特币生态的爆发所带动的区块链大规模采用。相信比特币将突破原有的单一价值存储,彰显其货币属性的同时,不断通过多样化的解决方案为比特币生态嫁接更多应用,促进生态可扩展和可持续发展,继续为区块链世界带来无限可能。
“我们期待下一个周期区块链指数型增长来源于比特币的大规模应用。”
随着 Web3 Labs 与 Waterdrip Capital 共同发起的 Satoshi Lab 实验室正式在香港成立,比特币生态系统的讨论热度在整个加密市场中逐渐攀升。在比特币脚本上利用客户端验证方案构建智能合约,同时兼容具备无限可扩展性的闪电网络进行通道交易,可能成为在同时保证 “安全性,去中心化,可扩展性” 三角上的区块链大规模应用方案。
本文将针对比特币生态一些基础层面概念进行科普讲解。从阻碍大规模应用的“区块链不可能三角”,到克服“不可能三角的比特币“闪电网络”,到目前对比特币脚本的解决方案及 UTXO 模型原理。
以太坊创始人 Vitalik Buterin 和巴比特创始人长铗均提出过,“区块链网络无法同时实现安全性、去中心化和可扩展性”,即“区块链不可能三角”。“不可能三角”的难题,长久以来阻碍了区块链的大规模应用。
在保障安全性的基础上,以太坊过去十年将重心放在发展去中心化,并在底层公链的基础设施层不断创新,以拓展以太坊公链的可扩展性。为了实现这个目标,以太坊十年间也迭代出各种空气算法,分片,Rollup 等技术。
但对于可扩展性难题,从以太坊及其Layer2的尝试来看,似乎只要仍在解决方案局限在区块链上,性能就会存在上限的。即便是我们目前可见性能最强的区块链,仍难突破 TPS (每秒交易量) 上限,离百万级 TPS 的大规模商业应用的要求,和全球工业级实现数亿级 TPS 的目标仍有巨大差距。对于主流公链,不论是以太坊还是比特币,都面临一个瓶颈——“如何解决可扩展性?”
闪电网络利用链下计算的方式,即 “支付通道 (Payment Channel)”,彻底解决了“不可能三角”的可扩展性问题——只要建足够多的通道,就可以跑任意多的并发交易。
如果在通道交易过程中,A 执行欺诈行为 —— 提前关闭通道结算比特币。那么通道关闭时,比特币链上会立刻产生一笔欺诈交易。基于比特币链的开放性,B 就可以及时观察到,并用提前签订的惩罚协议对 A 进行惩罚。惩罚内容就是没收 A 所有准备金。
理论上闪电网络实现了无穷大的可扩展性,克服了区块链不可能三角。但阻碍闪电网络实现大规模应用最关键的问题是:闪电网络使用和比特币相同的脚本,而比特币链上没有智能合约,只有简单的脚本,无法承载复杂应用。即比特币链是图灵不完备的,图灵完备的意味着理论上可以解决任何计算性的问题。使用图灵完备的脚本语言,可以在逻辑上做到和其他编程语言兼容,并在理论上能够实现任何其他语言所能实现的逻辑,以及最大限度的复制现实的商业逻辑。比特币区块链上没有智能合约,更不用说基于智能合约搭建应用。所以闪电网络需要克服的最大问题就是“如何在比特币上实现智能合约”。
2016 年比特币核心开发者 Peter Todd 发表论文提出了客户端验证范式,通过模拟传统的合同签约方式保证只有双方知道合约内容的隐私性前提,无需任何第三方参与,实现完全去中心化。同时,在交易执行时,采用由交易发起方提供必要的完整交易历史数据,另一方自行验证的方式,来防止欺诈问题的产生。既不存在中心化困扰,又是链下验证不受性能限制的特征,使其目前被多数人认为是解决比特币区块链图灵完备性不足的“最优”方案。
传统合同签署vs区块链智能合约签署
客户端验证是否无懈可击?
看到这里,似乎会有人产生疑问,去中心化的比特币区块链本身解决了传统商业中的安全问题,但随着客户端验证的引入,解决方案又回到链下,即便其解决了欺诈问题,那么又该如何有效地防止双花问题产生?
引入“一次性密封”
由于客户端验证本身并不包含双花防止机制,我们不得不需要引入第三方辅助来解决这个问题。为了实现这一目标,我们将客户端验证中需要验证的每个合约的每个状态,与特定比特币的未使用交易输出(UTXO)绑定。由于UTXO仅存在两种形态,”花费”与“未花费”。而一旦要变更验证合约的状态,就必须花费绑定的UTXO(任意金额均可),让花费它的交易得到区块链的确认。此外,花费它的比特币交易还必须提供状态转换的内容的证明(作用类似于哈希值)。简单来说,可以将被绑定的UTXO视为这个状态“信封”的封蜡一一想要打开信封,就必须开启封蜡。
区别于以太坊的账户模型,未花费的交易输出(UTXO)是从一个地址发送到另一个地址但尚未被接收方赎回的加密货币总和,以便在后续交易中将资金发送给其他人。
例如,如果爱丽丝向鲍勃发送 1 个比特币,那么只要鲍勃没有花掉从爱丽丝那里收到的 BTC,他就拥有 UTXO。一旦 Bob 花费了 1 个 BTC,UTXO 的生命周期就结束了。
假设Bob的钱包只参与过一笔交易,其中Bob从Alice那里收到了1 BTC,交易验证者就知道Bob的UTXO余额是1 BTC。如果 Bob 将 1 BTC 发送给 Carol,他的 UTXO 立即变为 0 BTC。如果 Bob 然后尝试在第二笔传出交易中双花-MN4DXX5)他的币,验证者将发现他的 UTXO 余额不足以用作第二笔交易的输入,并且诚实的验证者将不会传播或确认他的双花交易。
在比特币的演进过程中,客户端验证的设计精妙地规避了侧链和彩色币方案的中心化问题,并引入了一次性密封机制,使其进一步提升了安全性。此刻,比特币生态正在迎来一系列全新协议的诞生,其中,RGB协议不仅沿用了上述理念,还提出与闪电网络兼容,为无限可扩展性打下基石。尽管RGB协议与闪电网络的兼容性尚未完美,但我们对未来充满信心,相信帮助协议不断优化的基础设施将突破长期以来的“区块链不可能三角”局限。
我们更加有理由期待下一个周期区块链指数型增长来源于比特币生态的爆发所带动的区块链大规模采用。相信比特币将突破原有的单一价值存储,彰显其货币属性的同时,不断通过多样化的解决方案为比特币生态嫁接更多应用,促进生态可扩展和可持续发展,继续为区块链世界带来无限可能。