详解Merlin Chain技术架构
原文作者:熵时 Vincent
比特币减半临近,对于如何提高 $BTC 资金利用率的关注日益增加,比特币二层的发展成为焦点。在此背景下,Merlin Chain 迅速崭露头角,质押活动开启仅一个月内 TVL 超过 35 亿美元。本月,Merlin Chain 推出了 M-Token,随着流动性的逐步释放,市场热度不断攀升,其技术设计备受瞩目。
Merlin Chain 在 ZK-Rollup 的基础上,引入了去中心化的 Oracle 网络,并采用了 Celestia 作为 DA 层。这一技术架构赋予了 Merlin Chain 强大的性能,同时为比特币网络提供了增强支持。
在本文中,我们将深入探讨 Merlin Chain 的技术特点和创新之处。
高度扩展的 ZK-Rollup
Merlin Chain 提出了基于 Taproot 的聚合零知识证明和 Rollup 数据写入比特币主网的解决方案,实现了高度扩展的 ZK-Rollup,解决了比特币网络的图灵不完备性。
该网络将交易数据汇总并压缩成批次,再通过零知识证明提交到比特币主网的 Taproot 中。重要组件包括节点、zkProver 和数据库,三者共同完成数据交换和存储,确保交易处理和验证过程的顺利进行:
节点:负责处理和传输交易数据,以及与 zkProver 和数据库进行交互
-
将 Merkle Tree 的内容发送到数据库,并存储于其中
-
将输入交易发送给 zkProver 进行处理
-
与 zkProver 交互,确保交易的有效性和正确性
zkProver:利用 SNARK 技术生成零知识证明,证明交易的有效性和正确性
-
包含 13 种状态机,分为主状态机和子状态机(如 BinarySM、StorageSM、MemorySM、ArithmeticSM 等)
-
执行复杂的数学计算,使用 PIL(Polynomial Identity Language)描述交易执行过程中的状态转换和约束条件,将其转换为多项式约束或多项式身份,并在智能合约上进行验证
-
与节点和数据库交互,获取信息以生成可验证的交易证明,包括 Merkle Root、相关的兄弟密钥和哈希值等信息
-
将生成的交易证明发送回节点,以便节点进一步验证并记录,确保交易的合法性和安全性
数据库:用于存储重要的数据,如 Merkle Tree 的内容和交易信息
-
接收并存储由节点发来的 Merkle Tree 的内容
-
为 zkProver 提供生成交易证明所需的信息
这一模式为 Merlin 带来了诸多好处:
-
安全性:继承比特币安全 bu 性,提供 L2 批量处理可扩展性,确保了数据在比特币中锚定并不可篡改
-
EVM 兼容性:支持现有智能合约和工具,确保互操作性
-
低成本:利用 ZK 证明和 zkSNARK 技术减少 L1 空间消耗,优化交易成本
-
高性能:通过频繁的有效性证明确保交易的快速最终性,递归 STARK 实现可扩展性,应对高并发和大规模用户需求
去中心化 Oracle 网络
Merlin Chain 采用了分布式 Oracle 网络。序列节点负责收集和批量处理交易,生成压缩的交易数据、ZK 状态根和证明。这些数据由 Oracle 网络执行电路编译并上传到比特币主网的 Taproot 中,使其对整个网络公开可访问。具体机制如下:
-
采用专门设计用于 ZK 证明的防欺诈机制,以在比特币上提供最终确认
-
所有原始数据存储在 Oracle 网络中,对应的状态根存储在比特币网络中
-
用户可以随时检索 Merlin Chain 上的所有聚合交易
-
用户通过 ZK 证明验证数据的正确性和有效性,而无需暴露具体数据内容
通过分散权力和数据,Merlin Chain 能够抵御单点故障和中心化带来的风险。同时,系统采用了多重签名和冷存储技术,以确保质押资产的安全性。所有的质押和奖励分配过程都是公开透明的,用户可以随时查看自己的质押状态和预期收益。
节点质押的设计如下:
-
多样化资产:支持 $BTC、$MERL 以及其他主流 BRC 20 资产的质押,提升灵活性与抗风险能力
-
智能合约管理:所有的代理质押和奖励分配都将通过智能合约自动执行,确保过程的不可篡改性和公正性
-
实时监控:用户可以实时查看自己的代理质押状态和收益情况,以及代理节点的表现记录
-
退出机制:系统提供了灵活的退出机制,用户可以随时撤回自己的资产,保障资金的流动性
数据可用性
Merlin Chain 使用 Celestia 作为数据可用性层,确保了区块数据的可验证发布,增强了网络的透明度和可信度:
-
Celestia 提供公共数据可用性保证,允许所有人查看和存储 Merlin Chain 的状态
-
一旦数据在 Celestia 上发布并确认可用,Rollups 和应用程序负责将其历史数据存储起来
-
节点在接收到新的区块时,会验证数据的可用性,确保网络中的数据完整且一致
零知识证明两步提交机制
Merlin Chain 将在后续采用 Lumoz 提出的零知识证明(ZKP)两步提交机制,实现去中心化 PoW:
提交哈希值
-
证明者为特定的序列生成 ZKP,需要首先计算 (proof/address) 的哈希值,并将该哈希值连同他们的地址一起提交到链级智能合约
-
proof 表示该序列的 ZKP,而 address 则标识了证明者身份
-
初始证明者的哈希提交不受限制,在接下来的 T+ 10 个区块内被处理和接受;在第 T+ 11 个区块之后,新的证明者将不被允许提交额外的哈希值
提交 ZKP
-
在第 T+ 11 个区块之后,任何证明者都可以提交完整的 ZKP
-
一个经过验证的 ZKP 可以用来验证之前提交的所有哈希值
-
证明者将根据质押的比例获得 PoW 奖励
此机制可以有效激励矿工保持在线,确保稳定的计算环境,进一步增强网络的安全性和可靠性:
-
防止竞速攻击:防止恶意参与者试图通过快速提交大量证明来干扰或破坏系统的正常运行
-
鼓励稳定参与:通过奖励激励矿工提供稳定和持续的 ZKP 算力,增强网络的安全性和可靠性
-
确保系统效率:确保高效性和公平性,避免资源浪费和网络拥塞,同时提高整体系统的性能和稳定性
基于比特币的欺诈证明
Merlin Chain 将在后续引入欺诈证明机制,以进一步确保数据的完整性和安全性。
该机制涉及两个角色,证明者(Prover)和验证者(Verifier),具体实现路径如下:
-
证明者和验证者预先签署了一系列交易,确保他们之间可以启用挑战-响应机制
-
证明者将要验证的程序转换为一个包含许多 NAND 逻辑门的二进制电路,以确保数据的完整性和正确性
-
每个逻辑门都有一个叶脚本,用于定义和描述该逻辑门的行为和功能
-
证明者将这个大型二进制电路中的每个逻辑门的叶脚本都放入一个 Merkle Tree 中,并将 Merkle Root 提交到 Taproot 地址
-
验证者从这个 Taproot 地址提取 Merkle Root,并验证其有效性
-
如果验证者怀疑证明者提交的 Merkle Root 存在问题,比如数据不正确或者欺诈行为,可以启用挑战-响应机制,向证明者发起挑战,要求他们提供相应的叶脚本或者其他证明,以证明 Merkle Root 的正确性
-
证明者需要根据挑战提供相应的证据,证明他们所提交的 Merkle Root 是正确的
-
验证者会对这些证据进行验证,确保证明的正确性和数据的完整性
随着比特币减半即将到来,市场对 Merlin Chain 的持续发展和创新充满期待。作为比特币二层网络的领导者,预计 Merlin Chain 将会不断推动发展和创新,为用户和开发者提供更加稳定、安全、丰富的区块链服务和应用场景。