作者:Kris,ABCDE
Arch Network 是一个比特币原生应用平台。它通过一种新颖的架构将智能合约功能直接引入比特币,该架构利用基于 Rust 的雾知识虚拟机 ArchVM,并与去中心化验证者网络配对,统称为 Arch 网络:ArchvM 是一种受 SVM 后发的虚拟机(即专为并行执行而设计)E结合了零知识证明(ZKP)进行交易验证,在BTC上完成了原生的可编程性
Arch 在尊重比特币建立的主权原则的同时,通过图灵完备的可编程性增强了BTC原生一层的功能,解锁了BTC一层的可编程性。
BTC为什么不能运行智能合约的话题大家已经已经讨论过很多次了,其原因主要有三:
1. 有限的脚本语言:比特币的脚本语言 Script 有意限制其功能,以确保安全性和简单性。它缺乏以太坊等平台使用的语言中的图灵完备性,这限制了比特币智能合约中可以执行的逻辑类型和条件。
2. 数据和状态存储:比特币的区块链针对存储交易数据而不是复杂智能合约所需的状态信息进行了优化。比特币设计中缺乏状态性使得实现可以根据不同条件进行交互和更新的动态智能合约变得具有挑战性。
3. 执行环境:比特币没有可以运行复杂智能合约的原生执行环境。支持高级 dApp 的平台(例如以太坊)拥有虚拟机 (EVM),为执行智能合约提供受控环境。比特币的架构不包括用于处理复杂的去中心化应用程序的类似组件。
迄今为止,BTC生态已经有了相当多条Layer 2解决方案,试图解决这些基础支柱的缺失,但是这些方案都需要用户(接收方)被单方面强迫将其资产桥接到信任环境中,这些环境通常是多重签名账户。这违反了比特币的第一规则:不掌握私钥,不拥有比特币。
Arch Network 是一个比特币原生应用平台。它通过一种新颖的架构将智能合约功能直接引入比特币,该架构利用基于 Rust 的零知识虚拟机 ArchVM,并与去中心化验证者网络配对,统称为 Arch 网络。ArchVM 是一种受 SVM 启发的虚拟机(即专为并行执行而设计),它结合了零知识证明 (ZKP) 进行交易验证, 在BTC上完成了原生的可编程性。
接下来我们看看具体Arch是如何赋予BTC一层可编程性的?
Arch 的结构为两部分层,旨在增强比特币的功能,由 ZKVM 和去中心化验证网络组成。这两部分一起形成了直接在比特币上的无需信任的执行层。这种集成不仅保留了比特币的安全性和流动性,而且还显着增强了其功能,从而在比特币上实现了快速、安全且完全可验证的智能合约。
怎么做到的其实核心就是一句话,通过在交易中启用附加数据的存储。这种增加的数据可用性为直接在链上嵌入状态信息和元数据开辟了新的可能性,这对于需要可访问和可验证状态数据的智能合约等应用至关重要。
Arch 网络在比特币一层采用创新的状态管理方法,通过独特的“状态链”流程利用ordinals,状态更改在单笔交易中提交,从而降低费用并确保原子执行。
什么是“状态链”? UTXO维护了智能合约地址内的状态,将其与执行分开以提高效率和安全性。状态与执行的分离允许更具表现力的智能合约,促进了灵活的开发环境。
该协议实现了一个证明者-验证者模型,其中序列化的智能合约交易在池中等待执行。证明者检索和执行交易,生成验证者使用的收据,验证者使用类似于权益证明模型的阈值签名机制对其进行验证。
u 状态和执行解耦:这种设计选择允许更具表现力的智能合约和创新的用例,促进了灵活的开发环境。
u 零知识虚拟机(ZKVM)的使用:Arch Network利用了RISC Zero,一个领先的通用ZKVM,类似于RISC-V微处理器,支持Rust、C和C++等语言。
u 合约特定密钥:每个合约都有唯一的密钥来防止漏洞,在部署时生成一个随机密钥对,确保合约不共享密钥并保持其完整性。
Arch的交易过程是怎样的?
Step 1:通过一个比特币交易调用智能合约,交易包括执行所需的基本信息,如最新状态、部分签名的比特币交易(PSBT)和智能合约输入。 同时有一个Arch Indexer,不断监听新的比特币区块,检查每个新比特币区块中的交易,看看它是否符合这个调用。
Step 2: 在检测到该交易后,Arch解析相关细节并继续执行智能合约。随后,智能合约生成一个结果状态和一个未签名的交易,反映了执行中的资产转移,以及验证智能合约执行的证明。
Step 3: 所有内容都被传输到验证者网络,特别是一个领导节点。在每个Arch纪元期间,根据股权随机选择一个领导者。领导节点将接收到的信息传播给网络中的所有其他节点。
Step 4: 每个节点对证明进行验证,并将状态更改合并到交易中,然后认可该交易。领导者从这些节点收集签名,直到达到预定义的阈值。
Step 5: 一旦交易被足够数量的节点签名,就可以在比特币网络上广播该交易。
总结来说,Arch解决了BTC layer1如何具有编程性的两个核心问题:
第一: 如何在比特币第一层不通过私钥生成签名?(例如,以太坊的解决方案是:由合约提供支持的资产转移,这些合约是受信任的)
第二:Indexer的实际作用其实像是一个负责计算的模块,而在index完成计算后,谁将要来match 整个trade?
有了这一套流程就可以在Layer 1一层实现可编程性,另外Arch实现了智能合约可以调用其他智能合约,暂时暂停调用智能合约的执行,直到被调用的智能合约完成其处理。这种机制可以实现不同智能合约之间的无缝交互和协调。
Arch生态与机会: Arch上面已经有了相当多的生态,比如layer1 native的稳定币、sol与btc之前的去中心化桥,layer1 native的Dex等 ,欢迎更多的开发者加入Arch network。
Arch目前主要关注在第1层解锁可编程性和执行能力。 Layer2和Layer3将成为较小金额的频繁交易的场所,而第1层将处理更加昂贵的比特币资产。一旦Arch在BTC第1层为DeFi解锁了可编程性这一点,他们将解决可扩展性问题,无论是Layer2还是layer1.5或者app chain。
与此同时,Arch 的目标是通过建立去中心化的验证节点网络来扩展其网络。最初,这可能会从一组选定的受信任节点开始,以确保稳定性和安全性。随着时间的推移,该战略涉及通过激励更广泛社区的参与来扩展该网络,向完全去中心化的模式过渡。这种扩展将增强网络的弹性、去中心化和可信度,使其对开发者和用户更具吸引力。到时候有更多的参与机会开发者可以关注一下。