By:付少庆,SatoshiLab,Bihelix,万物岛 BTC 工作室
从状态机的角度理解,不仅容易理解区块链上的状态和状态处理,我们会更容易理解在分布式系统中状态,状态通道,状态转换,同时结合分布式系统的结构,会容易理解路由的问题,理解状态转换的有向无环图要求。状态机是基于图论的底层抽象计算原理,基于这些 原理与具体的实现结构 ( 区块链、分布式、中心化 ),会理解需要解决的具体问题与解决方案的思路。
在这里我们重点介绍一下状态机,因为这种角度可以很好的理解区块链系统与分布式系统。并且可以理解数据 ( 或状态 ) 在区块链系统中处理过程与在分布式系统中处理的差异。 从状态的角度看,区块链是一个基于交易的状态机。一个交易是触发条件,使得一个原始状态σt,在交易的作用下,转变到下一个状态σt+1。
一组交易打包到一个区块链中,是一个数据包,使得与这组数据相关联的状态都发生变化。
于是从这个角度看,区块链是一个状态链 ( 在分布式系统中,是一个个状态通道 )。从状态的角度,区块链系统可以看做是一个基于状态的自动机。 从状态的角度,我们观察区块链 + 分布式系统,会更容易理解状态在两个系统中的传递与变化规则——两个系统其实都是基于状态的自动机。
当把区块链看成基于状态的自动机时,计算机领域图论中关于状态机的理论和算法就可以作用于区块链。同样,如果实现的技术结构不是区块链结构,而是一种分布式结构,我们也可以用状态机的理论。像 RGB 协议原理有限无环图 DAG( 避免产生双花 ),状态通道,一次性密封都是在分布式系统中处理状态需要使用的技术。
比特币二层结构——处理状态的状态机
状态与状态机,在三种二层建设中都存在,只是名称上有些不同,使得多数人不关注这 个观察角度。 如果我们从状态与状态机的角度看,三种二层结构都是处理状态的状态机,只是原理稍有不同。这三种系统组合使用的时候,需要保证“状态”概念在三个系统中一致,并且每个系统的状态机能够处理状态变化,但不能破坏状态的一致性。
图论中状态与状态机的基础知识
在图论中,状态与状态机的基础知识包括以下内容:
虽然看起来这些知识有些抽象和枯燥,如果我们把这些知识转换成经常遇到的一些区块链概念就很容易理解。例如,一些场景要求是有向无环图就是避免双花的问题,一次性封装就是将区块链中的状态转变成分布式系统中的状态,路由算法是在分布式系统中寻找最短路径的计算,闪电网络中支付成本最小的路由就是最小生成树问题; 客户端验证也可以看成一种形式的状态机。
比特币生态或的应用架构,我们从状态机的角度看,就是借助这几种系统组合, 完成状态变换的处理,从而完成业务逻辑的处理。 用状态机的这种思想,我们再看比特币的二层网络建设,可以看到架构的每一层有适合其特点的分工。
闪电网络
闪电网络是基于状态通道技术的比特币二层解决方案,闪电网络中的支付通道是一种双向的状态通道,参与者可以在通道内进行多次交易,并通过更新通道状态来实现快速、低成本的支付。 闪电网络中的交易 ( 即状态 ) 是通过基于 Hash 时间锁定合约 (HTLC) 来实现的,参与者可以通过这种合约来锁定资金 ( 实现状态在比特币与闪电网络两个系统中传递 ),并在通道内进行安全的交易 ( 简单的状态处理 )。
为了实现跨通道的支付,闪电网络使用了一个名为路由的机制,参与者可以通过找到一条可信的路径来进行支付。中继节点是指那些能够转发支付请求的节点,他们可以帮助实现跨通道的支付。
在支付过程中,闪电网络允许参与者在支付通道中进行双向支付,即不仅可以向对方支付,还可以接受对方的支付。 由于闪电网络的交易是在通道内进行的,不需要将所有交易都写入区块链,因此可以提高支付的隐私性。
但尽管如此,闪电网络还存在一些限制,大部分是由于状态与状态机实现技术的限制:如通道的存活性、资金锁定时间等,需要综合考虑这些限制来设计合适的支付通道。
RGB 协议
RGB 基于 LNP 和 BP 协议。有关于 RGB 是二层还是三层的讨论,如果是基于 BP 直接进行 RGB 的运算,则是直接扩展了比特币的图灵完备功能,属于第二层,这种方式对性能的扩展有限。如果是基于 LNP 进行 RGB 运算,则属于第三层 ( 因为 LNP 是比特币的第二层 ), 这种方式既能扩展性能又能扩展图灵完备的计算能力,只是技术实现上有一定的复杂度。通常用组合的方式,既能扩展计算能力,又能扩展性能,还能降低实现的复杂度。
RGB 基于比特币或闪电网络中的状态通道技术。RGB 中的状态通道是指建立在 LNP 和 BP 之上的双方或多方之间的通信通道,可以在通道内进行多次交易和状态更新,减少了区块链上的交易数量和费用。
RGB 中的状态通道使用了基于比特币的多签名脚本来锁定资金,并使用了特殊的交易类型来更新通道的状态,可以应用于各种场景,如支付渠道、去中心化交易所、资产发行等,提高了交易效率和用户体验。状态通道通过更新通道状态来实现支付和资产转移,通道内的交易不需要被写入区块链,只有最终的状态会被写入区块链。状态通道还可以实现更复杂的功能,如原子交换、支付路由等,通过智能合约和多签名脚本来实现。
Nostr 协议
Nostr 中有两个主要组件,客户端和中继。每个用户运行一个客户端,通过中继和其他人联系。每个用户都由公钥来标识。用户发布的每个帖子都有签名。 每个客户端都会验证这些签名。客户端从他们选择的中继获取数据并将数据发布到他们选择的中继。中继之间不相互通信,仅直接与用户通信。
在 Nostr 中因为传递的是信息,还没有体现状态 ( 可信数据,数字货币 ) 和状态机的概念。但相信 Nostr 这种分布式结构稍加改造,增加对状态的处理,会形成像闪电网络相似的系统,这样的系统既可以传递信息,又可以专递价值。
状态机虽然有很强的处理能力,但上限是区块链结构的这个天花板。 对于基于 UTXO 模型和基于账号模型 ( 类 EVM) 的区块链互联组合应用时,状态与状态机的实现方式有较大的不同。基于 UTXO 模型的区块链比较容易与分布式系统结合,是因为两种系统中的状态都是基于 UTXO,不存在转换或仅需要简单转换,比较容易实现。基于账号模型的链,因为其状态与外面分布式系统之间的状态需要进一步的封装与转换,实现有复杂度,这也是以太坊上雷电网络发展不顺利的部分原因。
在没有区块链的时代,应用是建立在中心化系统和分布式系统之上的。例如,建立在中心化系统上的商城、IM、视频等应用,建立在分布式系统上的迅雷下载。
有了区块链系统后,我们进入 Web3.0 时代,这个时期的应用是建立在区块链系统、分布式系统、中心化系统之上的一个复杂架构。其中区块链系统与其二层扩展完成价值的传递与处理,分布式系统和中心化系统完成信息的传递与处理。
Web3.0 时代大规模应用的系统架构
比特币主网与二层建设是所有价值的中心,大部分的价值都建立在这个网络之上。 比特币二层建设中,基于链的二层完成价值的性能扩展与处理,处理的都是全量账本数据。 比特币二层建设中,基于分布式系统的二层建设完成性能的扩展,处理的都是局部相关数据,使用相关者共识,但最终计算结果需要落地到区块链系统。
比特币二层建设中,基于中心化系统的二层建设,直接为上层应用提供服务。 类 RGB 系统还会需要一些临时链或中间链,完成账本的结算功能,如图中的蓝线所示。 除了比特币生态,还有其他区块链系统的生态,完成不同业务场景的需求。如我们在二层基础架构的文章中所描述,基于链的二层会存在众多项目,对于非比特币生态的链也同样适用。其他区块链系统和二层同样可以进入闪电网络与 RGB,随着技术成熟度上升这种情况就会逐渐出现。
在实际应用中,上图内部的连线会加复杂,有些不需要使用二层,而直接对一层网络操作,如 RGB 在使用 BP 协议时。其他区块链也可能会使用分布式系统,如以太坊上的雷电网虽然不成熟,如果有需求场景,通过改造一些基础特性也会有使用场景。
比特币生态建设展望
比特币生态第一阶段是基于铭文和基于链的二层建设的前期,这个阶段相对容易。如 brc20, src20,arc20,铭文等,多数是金融应用,且有改造与模仿以太坊二层的经验加持, 这一阶段主要是完成功能可行性的各种验证。他们帮忙繁荣了生态, 引来了流量和资金,测试了跨链连接技术,测试了稳定币,测试了各种可能性。
第二阶段是基于链的二层建设的中后期与基于分布式系统的二层建设,在这个阶段,基于链的二层建设也参与其中,第二阶段重点是测试和完善多种分布式的二层建设。这一阶段主要是完成功能和性能可行性的各种验证,闪电网络会更加成熟,RGB 功能和稳定性得到较大的改善,应用场景会更丰富。类 RGB 的竞争者也会逐渐出现与成熟,如 BitVM。同时像 Nostr 协议这样的分布式系统也会融入价值功能。
最后一个阶段是成熟阶段,也是基于比特币生态的大规模建设。这个阶段 Web3.0 开始大量建设,并逐渐成熟。这个时间也许会不那么长久,也许遇到一个拐点事件,例如像 BiHelix 这样作为基于 RGB 赛道的重要基础设施的节点搭建完成,能够推动大批的 Web2.0 应用者进入。不管如何,真正的 Web3.0 时代来临的时候,一定会有很大的不同,功能与产值比当前的 PC 互联网 + 移动互联网的总体还要大,还要辉煌。也许就像 AI 领域 Sora 的出现,非常惊艳,让人震惊,只是过程没有那么突然。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。