联合创作:Infinitas ; Waterdrip Capital ; viaBTC Capital
技术提供:李宁;洪蜀宁
Web3技术经过长达十多年的蓬勃发展,涌现出了各种层面的创新。比特币则在不损害其去中心化特性和安全性的前提下,持续提升隐私保护能力,实现了Schnorr签名,Taproot等一系列高级特性,为后续技术创新奠定了基础。与此同时,以以太坊为代表的链上智能合约的演进,催生了区块链应用(如DeFi)的黄金时代,带来了两轮牛市。但自2022年以来,Web3行业的创新突然失去了方向,区块链技术始终无法摆脱不可能三角的束缚,导致区块链的大规模应用无法落地。那么,我们是否已经触及技术的边界?是否还隐藏着更为深邃的未知领域等待我们去探索?或许,正是在这些探索的过程中,比特币二层协议RGB正在静待时机,逐渐成熟,以挑战现有的技术局限,展现出耀眼的光芒。
比特币:确立作为货币层的地位Web3与Web2最大的区别在于其内置的经济体系,而任何经济体系都是以货币作为其基础层,在货币层之上则为协议层和应用层。Web3的货币称为密码货币(CryptoCurrency),通过区块链进行发行。
由于以下几个关键因素,比特币被公认为最安全和稳定的密码货币,比特币的价值已经得到全球共识:
首先,比特币网络覆盖全球,拥有一万多个全节点,这些节点协同工作来验证和记录交易。这种分散性使得攻击者难以篡改交易历史。其次,比特币采用强大的哈希计算能力作为工作量证明机制,是网络安全的基石。在区块验证和挖矿中,耗费大量计算能力使攻击者难以控制网络。此外,比特币的共识规则在历史上没有经历重大变化,这种稳定性有助于维护网络的一致性和安全性。相对于其他区块链项目,比特币的共识规则更加不容易受到激进的改变。比特币社区极为关注网络的安全和稳定,专注核心协议的安全。对核心协议的修改经过慎重讨论和测试,以确保网络稳定。总之,比特币在众多区块链中被公认为最安全和稳定,凭借卓越的分散性、共识机制、稳定性和社区关注,成为Web3货币层的首选。
保障安全与简洁并行的比特币脚本比特币作为Web3世界基础货币层的重要角色,在核心协议经过审慎讨论和测试逐步演进中,特别值得关注的是其脚本系统的发展。比特币脚本语言的初衷是确保安全性并规避潜在风险,因此在设计上有意限制了功能,同时保持了类似芯片指令集的简洁和安全性。比特币脚本是基于逆波兰表示法的、基于堆栈的执行语言。这种脚本旨在在有限的硬件上执行。
在比特币主流节点代码中,开发者对可执行的脚本类型进行了一些限制,只允许称之为“标准脚本”的若干类型交易被执行。其中最重要的是P2SH (Pay to Script Hash)交易,事实上允许任何比特币脚本被执行,这使得在比特币上执行具有一定复杂功能的脚本称为可能。例如闪电网络,已经成为小额高频比特币支付的事实标准。
随着提案Schnorr签名和Taproot软分叉升级的引入,比特币迈出了重要的一步,标志着一个重要的里程碑。这使得比特币能够更好地支持二层协议的发展,进一步提升了其在未来Web3世界中的作用。
聚焦Schnorr签名与Taproot在Schnorr签名和Taproot的背后,存在着一系列技术创新,为比特币创造了新机遇。首先,Taproot引入了更为灵活的支付渠道,使得多种交易类型能够以更加隐私保护的方式在链上执行。通过将复杂的多方签名脚本隐藏在单一的脚本中,Taproot使得各种复杂交易看起来像是常规的单方支付,从而提升了隐私和安全性。Schnorr签名的引入使得比特币网络的交易更加紧凑,减少了交易费用,提高了扩展性,与Web3世界的高效交易需求紧密契合。
这两项创新不仅提升了比特币的性能与隐私,也为生态系统带来更多创新可能。更高效的脚本与签名技术支持跨链操作、闪电网络扩展和复杂智能合约。这将比特币重新聚焦于Web3核心,为建设更安全、高效的去中心化金融与应用生态铺平道路。
Schnorr签名的影响在比特币协议初期设计阶段,中本聪需要综合考虑签名算法的多方面因素,包括签名长度、开源性、专利问题、安全验证时间以及性能等。最终,他选择了椭圆曲线数字签名算法(ECDSA),并选用了特定的椭圆曲线 secp256k1,基于这个算法的性能和安全性。然而,除了ECDSA,仍存在满足条件的其他数字签名算法,尤其是Schnorr Signature。先前中本聪未采用该算法的原因可能在于Schnorr Signature的专利在比特币诞生年份尚未过期。德国数学家和密码学家Claus-Peter Schnorr于1990年申请并获得了相关专利,因此在专利有效期内,开源社区无法采用此技术。否则,中本聪或许本可以在初版比特币协议中采用这一签名机制。
与ECDSA相比,Schnorr Signature更贴合比特币签名的本质。不仅性能更佳,签名长度更短,还具备线性特性,使得密钥聚合变得简单,不再需要多签所需的特殊技巧。这种线性特性易于理解,各参与方的密钥通过简单机制聚合形成新密钥。聚合机制有多种方式,例如Blockstream提出的MuSig以及更新版本的MuSig2。在MuSig2方案中,多个签名能够从各自私钥生成一个聚合公钥,然后共同为该公钥生成有效签名,将交互轮数从原先的三轮(MuSig)优化至仅需两轮。
所以以一个 2-3 的多签交易来看,原来的传统方式是需要三个公钥加上两个签名才可以发起交易。
而在 Schnorr Signature 场景中,链上交易只需要一个聚合的公钥和一个签名即可,降低了很多的交易字节数,也就是降低了转账成本。
Taproot脚本的创新Taproot是一种创新的比特币脚本结构,旨在规定如何使用和解析Taproot类型的交易地址。Taproot的灵感最初来自比特币开发者对默克尔抽象语法树(MAST)的研究,因此可以将Taproot看作是MAST的一种特殊实现。通过Taproot,具有多个不同分支脚本的比特币UTXO,在花费可以只暴露其中一个分支,其余分支永远不会出现在区块链上,从而大幅提高交易的隐私性和效率。这种技术在更加安全的前提下,使得复杂脚本的使用变得更加便捷高效。
在比特币协议中,通过「锁定脚本」(输出脚本)规定收取比特币(UTXO)的条件,而「解锁脚本」(输入脚本)则规定使用比特币(UTXO)的方式,前者可视为一把锁,后者则是对应的钥匙。在隔离见证(SegWit)升级中,比特币的脚本规则得到了全面升级。引入了两种新的脚本规则,即 P2WPKH(支付给见证公钥散列)和 P2WSH(支付给见证脚本散列),这些规则使得以 bc1 开头的地址得以应用。P2WPKH 主要用于常规地址,而 P2WSH 则常用于多重签名地址。
在隔离见证升级中,脚本还引入了版本号的概念,之前的隔离见证规则被标记为 V0 版本。而Taproot在隔离见证框架上进行了进一步的升级,版本号被更新为V1,这也是 BIP 341 中 "SegWit V1" 标题的由来。因此,这套新的脚本规则被称为 P2TR(支付给Taproot),以与P2WPKH和P2WSH对应。
此外,结合Schnorr Signature和Taproot,构建多重签名(多签)的方式十分多样化。如比特币社区中的先驱者Steve Lee,就在其演讲中介绍了多种方法,比如门限签名和Musig树(Musig Keytree)等。
演讲原视频:https://www.youtube.com/watch?v=fDJRy6K_3yo
举例来说,对于交易所的热钱包而言,可以使用2-3多签方案,涉及三个私钥:交易所私钥、可信第三方私钥和冷钱包备份私钥。在门限签名中,多个签名者通过MuSig机制预先构建收款地址。在实际交易时,只需对两个签名进行聚合,即可完成交易。
LNP/BP:“比特币协议/闪电网络协议”的成熟在前文中,我们深入探讨了比特币网络通过引入Schnorr签名和Taproot软分叉升级所展现的前瞻性。与此同时,随着科技奇迹的从未停歇,LNP/BP标准协会则在幕后默默耕耘,仿佛一幅精雕细琢的艺术品为比特币生态系统带来了更多的创新可能性。LNP/BP代码库涵盖了比特币第二层及以上的标准和最佳实践,它们不需要比特币区块链级别的软分叉或硬分叉,并且与闪电网络RFC(BOLTs)所涵盖的内容没有直接关联。简而言之,LNP/BP标准覆盖了与比特币交易相关的全部内容,定义了第二层及以上解决方案的基本构建模块,并描述了基于这些模块构建的复杂用例。这为金融资产、存储、消息传递、计算等领域,以及利用比特币安全模型和比特币作为支付方式/交换媒介的二级市场等提供了可能性。
此篇文章将不会详细展开LNP/BP内的每个协议,希望全面了解LNP/BP的用户可以访问 https://github.com/LNP-BP/LNPBPs 。
在这里,将仅对Web3未来具有重要影响的几个关键要点进行介绍,例如状态通道中的关键阶段交易,以及一些关键协议和技术:双向通道(Bi-directional channels),PTLCs,eltoo,通道工厂(Channel factories),离散对数合约(Discreet log contracts),高频微支付(high-frequency micropayments)以及Sphinx等。
状态通道同阶段交易概览注资交易(Funding Transactions): 注资交易是在闪电网络中用于创建支付通道的初始交易。它将各方的资金集合到一个多签名地址,作为支付通道的保证金。注资交易确保在参与者开始在支付通道上进行链下交易之前,他们都已承诺一定数量的资金。注资交易是创建支付通道的第一步,确保通道的安全和可用性。
部分签名比特币交易(PSBT,Partially Signed Bitcoin Transactions): 部分签名比特币交易是一种特殊的比特币交易格式,允许多个参与者共同构建并签名交易。在闪电网络中,PSBT可以用于创建、更新和关闭支付通道的交易。当支付通道的双方要进行交易时,他们可以共同构建PSBT,并各自进行部分签名,然后将部分签名的交易合并,最终完成交易并将其提交到比特币网络。PSBT使得多方合作的交易过程更加灵活和高效。
基于状态的比特币交易(BSBT,Base-Signed Bitcoin Transactions): BSBT是一种闪电网络中用于构建和更新通道状态的交易。它包含通道的当前状态信息,并由通道的所有者签名。BSBT用于记录通道中的最新状态,以确保交易的正确性和安全性。在通道状态发生变化时,BSBT会被创建和更新,以反映新的通道状态。
闪电网络支持RGB智能合约的关键技术闪电网络是建立在比特币之上的第二层解决方案,它允许用户通过一个或多个双向通道进行快速、低成本的交易,同时保持了区块链的去中心化和安全特性。在接下来的内容中,我们将深入探讨闪电网络在面对复杂的RGB智能合约需求时所采取的策略。从高效性到可扩展性,我们将逐一剖析内在关键技术,揭示闪电网络在不断演进中是否具备支持大规模 RGB 智能合约的潜力。
双向通道(Bi-directional channels):作为一种特殊的支付通道,使两个参与者能够进行双向的实时交互,而无需在每次交互时都在区块链上执行交易。可以将这种通道类比为两人之间的私人账本,允许他们在通道内自由地进行资产的转移和交易。通道的最终状态只在通道关闭时提交到区块链上。在比特币网络中,实现双向通道主要依赖于比特币脚本。例如闪电网络,用户可以在通道内实现支付和资产转移,只有在需要关闭通道时,通道的最终状态才会被提交到比特币区块链上。需要补充说明的是,闪电网络的双向支付通道的核心技术包括RSMC和HTLCs,在此不展开详细介绍。
点时间锁合约(PTLC): 在探讨 HTLC(Hash Time Locked Contract)在隐私性方面的问题时,我们遇到了一个关键的挑战:整条路径上的每一跳都使用同一个原像,也就是说,整个路径中的每个 HTLC 都只能由相同的原像来解锁。这是否意味着我们没有其他解决方案呢?实际上,我们需要解决以下几个问题:
一旦付款完成,付款方(Alice)必须能够向收款方(Bob)提供有效的付款证明。
路径中的每一跳都必须能够提供某个秘密值 s,以解锁前一个节点发送的有条件付款。
为了获取秘密值 s,每一跳都需要将需要使用秘密值 s’ 来解锁的有条件付款发送给路径中的下一个节点。这个秘密值 s’ 可以被用来找到秘密值 s。
虽然可以采用“简单”的方法,即在整条路径中使用相同的秘密值 s,就像我们使用 HTLC 时所做的那样,但实际上这并非唯一的解决方案。事实上,秘密值 s 和 s’ 不必相同。关键在于,只要一个节点知道了 s’,那么它就能够知道 s,因此我们可以构建秘密值时满足这个条件。这就是 PTLC(Pointlocked Timelocked Contract)的核心概念,
下述为图示案例:
Eltoo:比特币和其他基于区块链的系统在可扩展性方面有局限。链上支付需要所有网络节点验证和储存,限制了整体吞吐量。为解决这问题,第二层协议(链下协议)被视为可行解。它在少数参与者间重新协商并共享状态,避免频繁广播状态更新到区块链,减轻网络负担。但所有第二层协议都面临一个核心问题,即如何确保只有最新的状态才会被提交至区块链。
在这背景下,eltoo成为引人瞩目的替代协议。它引入状态编号,一种可强制执行的链上序列号变体。这解决了旧状态提交问题,确保只有最新状态被认可并记录在区块链上,提高了系统效率和安全性。这简单且强大的机制提升了第二层协议的可行性,为比特币和其他区块链的可扩展性提供了强大解决方案。
离散对数合约(Discreet log contracts):虽然智能合约在加密货币系统(如比特币)中备受推崇,但在金融领域尚未得到广泛运用。智能合约的可扩展性和将外部数据引入的难题是实施和应用的两大主要障碍。同时,合约的隐私也一直受到关注。离散对数合约(Discreet Log Contracts,简称DLC)是一个系统,它解决了可扩展性和隐私问题,同时也试图最小化对提供外部数据的预言机的信任需求。这些合约在离散性上保持隐蔽,使外部观察者难以在交易记录中察觉合约的存在。此外,这些合约依赖于离散对数知识,这是一个优势。
SPHINX:在闪电网络中,“路径”指的是支付方通过一系列支付通道将支付发送给收款方所采用的路线。为了实现用户能够通过路径中继支付,闪电网络采用了一种名为“基于源的洋葱路由(Source-based Onion Routing)”的机制,通常称为“SPHINX”。SPHINX是一种用于确保安全通信的工具,要求支付方创建多个加密层。在消息传递过程中,这些加密层逐一被中间节点剥离,直到预期的收款方获得最内层的消息。在传输的过程中,每个中间节点仅了解其前后的节点。通过源路由,支付方负责创建从其节点到收款方节点的支付路径。
总结来看,闪电网络在面对复杂的RGB智能合约需求时,可以通过双向通道完成支付和资产转移,无需频繁广播至区块链。点时间锁合约(PTLC)则解决了支付路径中使用同一秘密值的问题,提高了隐私性。而Eltoo作为第二层协议的新选择,通过引入状态编号解决了旧状态提交问题。此外,离散对数合约(DLC)应对了智能合约的可扩展性和隐私问题,降低了对预言机的信任需求。最后,SPHINX作为基于源的洋葱路由机制,确保了大规模应用的安全通信。这些创新技术和策略不仅提升了比特币网络的性能和功能,也为其在未来的数字金融世界中发挥重要作用奠定了基础。
引领创变:探寻RGB协议的使命RGB作为一个强大的协议,旨在将比特币作为底层货币层的特性与智能合约的灵活性相结合。通过RGB,我们可以在比特币网络上创建和管理各种资产,实现更广泛的金融和应用创新。从高效、安全的资产发行到更复杂的合约逻辑,RGB为比特币网络注入了新的活力,使其在未来的数字化生态中发挥更为重要的角色。让我们一同深入探索RGB的引人之处,以及它在推动比特币网络向前迈进方面的作用。
简要概述关于RGB的历史已在最近的多篇文章中进行了详细介绍,这里只做基础回顾。
在2016年,Peter Todd提出了一次性密封(Single-use seal)和客户端验证(Client-Side Validation)的概念。受到这些重要思想的启发,RGB于2018年被提出。2019年,核心开发者Orlovsky开始推动RGB,并致力于开发许多最终构成RGB协议的部分。随后,瑞士成立了LNP/BP协会,致力于制定与这些标准相关的指导。经过大量开发工作,2023年4月,RGB发布了版本v0.10,这是第一个初步可用的版本,并承诺将保持向后兼容。
解读RGB智能合约RGB智能合约可以简要概括为两个核心要素:所有权(ownership)和状态验证(state validation)。因此,RGB智能合约可以被看作是一个分布式网络。在这个网络中,没有人拥有完整的当前状态视图,但由于基于比特币工作量证明(PoW)的一次性密封技术(有可能通过闪电网络作为中介),以及相同的客户端验证规则(架构),它仍然在全球范围内保持一致(具有共识)。在这个系统中,只有所有者可以访问他们拥有的状态,以及与这些拥有的状态直接相关的状态历史有向无环图(DAG)的一个分支。
在RGB智能合约中,权利管理涉及对特定类型操作的定义,这些操作只能由拥有智能合约状态特定部分的一方来执行。这些操作包括但不限于资产所有权、身份所有权、资产供应增发权、子身份创建权、资产裁剪/销毁权等。
在RGB智能合约中,用户的权利得以实施。允许的权利类型在模式中得到明确定义,这些类型被称为状态类型,因为每个权利都必须具有一些当前状态/值,即使这是“空值”。初始权利由合约发行者在创世时进行分配,随着状态的转换,权利可以与新的所有者一起转移(同时携带新的状态值)。权利(状态)的所有权通过比特币脚本和一次性密封机制进行控制。特定权利的下一个所有者始终由当前拥有该权利的一方(即状态所有者)来定义。客户端验证要求权利转移必须始终由新的所有者根据验证规则进行反向验证。
RGB智能合约实现了权利转移/状态转换验证规则,这些规则由Schema通过两种主要工具进行定义:模式结构(用于决定权利在后代之间的分配)和简易脚本(用于规定某些权利状态的演变方式)。例如,在资产方面,脚本要求输出的总和必须等于输入的总和。这些规则在创世时和每个状态转换时都可以进一步受到限制(而不是扩展)。在状态DAG的一个特定子图内,新的所有者可以回溯并验证这些规则,直至创世。同时,值得注意的是,在一个智能合约的所有权分支中违反权利规则不会影响其他分支中智能合约的完整性。
在RGB智能合约的核心安全措施方面,每个权利(即状态)都不能直接访问其他权利下的状态信息。如果需要,在一些情况下,权利可以使用元数据来实现“共享状态”。关于是否允许这种共享,模式和创世文件都有明确的规定。
RGB智能合约范例:
当Web3遇上RGBRGB智能合约的技术创新所带来的新兴智能合约范式赋予用户权利管理的能力,从资产所有权、身份所有权到资产供应的增发权,提供了更大的灵活性。在RGB智能合约中,权利的转移通过比特币脚本和一次性密封机制进行控制,保障了权利的安全转移。
同时,RGB智能合约试图通过引入状态编号的概念来解决旧状态的问题。这使得权利的所有者能够回溯地验证规则,有望提高系统效率和安全性,为合约转移和状态转换提供更强的保障,确保每次转移都符合验证规则。总的来说,RGB智能合约带来了一些令人振奋的想法,尤其是在智能合约的可扩展性、隐私性和权利管理方面。这种创新势必将对整个比特币网络产生积极的影响,为未来的Web3领域带来更多可能性。
开启无限:类比TCP/IP的全新世界在比特币网络中,Schnorr签名和Taproot等提案的逐步实施,以及以LNP/BP和RGB为核心的二层协议的不断成熟,为我们描绘出了一个令人兴奋的未来。在这个背景下,标准Web3的发展路径愈发清晰,构筑了一个建立在更为复杂的去中心化技术和密码学基础之上的全新格局。Infinitas技术团队认为这种格局将以LNP/BP协议为基石,呈现出分层结构,类似于TCP/IP的架构,将货币层、协议层和应用层三个关键层次有机地融合在一起。
扩展性和效率提升: LNP/BP协议可以为比特币网络引入更多的第二层解决方案,如闪电网络,从而提升交易速度和吞吐量,降低交易费用,促进更高效的资金流动。
隐私和安全增强: RGB智能合约的发展将在第二层协议中实现更高程度的隐私和安全,允许用户在更加私密的环境下进行交易和合约执行,保护个人信息和资产安全。
扩展性和效率提升: LNP/BP协议可以为比特币网络引入更多的第二层解决方案,如闪电网络,从而提升交易速度和吞吐量,降低交易费用,促进更高效的资金流动。
隐私和安全增强: RGB智能合约的发展将在第二层协议中实现更高程度的隐私和安全,允许用户在更加私密的环境下进行交易和合约执行,保护个人信息和资产安全。
更丰富的功能: RGB智能合约为比特币生态引入更多的智能合约功能,支持资产所有权、身份管理、资产增发等操作,促进更多类型的金融和非金融应用的发展。
降低区块链负担: 第二层协议的发展可以将大部分交易从主链转移到第二层,减轻主链的负担,使主链能够更专注于安全性和核心功能。
开发者创新: LNP/BP协议和RGB的发展为开发者创造了更广阔的创新空间,能够构建更多样化的应用和服务,推动Web3生态系统的多样化和繁荣。
TCP/IP的发展历程为更好地帮助大家理解此类全新格局,让我们迅速回顾一下传统计算机网络领域。在这个领域中,TCP/IP协议栈的发展历程扮演着至关重要的角色。它经历了从最初的零散逐渐演进到复杂,再到最终的规范化和易用化的过程。在上世纪60年代末至70年代初的早期阶段,不同的研究机构尝试和开发了各种协议和通信方式。1969年,美国国防部高级研究计划局网络(ARPANET)创立,使用NCP协议进行通信。随后,1972年,Vint Cerf和Bob Kahn提出了TCP协议,而ARPANET在1973年开始采用TCP协议,标志着TCP/IP协议栈的雏形开始形成。到了1977年,规范化阶段开始显现,Vint Cerf和Jon Postel发布了RFC 791,其中定义了IPv4协议。随后,TCP和IP等核心协议陆续被规范化,形成了今天的基本框架。而在1989年,Tim Berners-Lee发明了万维网,引入了HTTP和HTML,使互联网变得更加易用和可视化。
引人注目的叙事Web3的正确发展之路是建立在更为复杂的去中心化技术和密码学基础之上的,这一发展路径是以LNP/BP和RGB等协议的发展演进。与TCP/IP协议栈(Web2的核心)的发展类似,Web3也必须经历几个关键阶段和需要更多伟大的贡献,尽管这段道路漫长,但却是必不可少的。Infinitas作为一系列基于比特币的智能合约的创新解决方案,在LNP/BP和RGB等协议的基础上,进行深入扩展,并将实现支付通用地址、Contractum语言智能合约开发环境、模式(schema)的不可更改性,以及基于RGB客户端验证数据(Proofs等)的多级安全存储等核心技术。追求每个细节的完美,以使智能合约的编写变得更加高效和可靠。这些技术的集成构成了分布式Infinitas平台,为大规模Web3应用的开发提供了坚实基础。
Web3发展的璀璨未来通过本文的深入探讨,我们看到了一个类似于TCP/IP协议的发展道路,并且有理由相信随着LNP/BP协议和RGB协议的不断成熟,人们对于元宇宙的无限想象正在变成现实,Web3世界将变得更加丰富和多元,我们将会很快看到:
去中心化金融会大规模的采用;链游的涌现:高性能竞技类、策略类、休闲类等游戏;链上多元化的社交应用:媒体类,交友类,视频类等;与AI的深度结合,避免AI作恶;与穿戴设备、传感器的融合。RGB协议让我们正站在一个崭新的起点,目睹着像比特币一样具备无限可能性的未来,作为这一进程的参与者和见证者,我们期待着由此带来的更加开放、包容和创新的Web3未来。