paint-brush
ZKByte:利用零知识和 BitVM 的无需信任的比特币 Layer2 扩展解决方案经过@zkbase
494 讀數
494 讀數

ZKByte:利用零知识和 BitVM 的无需信任的比特币 Layer2 扩展解决方案

经过 ZKBase4m2023/12/30
Read on Terminal Reader

太長; 讀書

BTC 第 2 层网络经过精心设计,旨在满足比特币生态系统内对更快、更高效交易不断增长的需求。这是通过从主区块链卸载某些交易处理任务来实现的,旨在缓解拥塞。使用一个UTXO来追踪所有Layer 2状态,并使用可信预言机来确保只有输入/输出脚本的锁定/解锁脚本遵循Layer 2协议。
featured image - ZKByte:利用零知识和 BitVM 的无需信任的比特币 Layer2 扩展解决方案
ZKBase HackerNoon profile picture
0-item
1-item
2-item

该设计的主要目标是建立专门为比特币区块链量身定制的第 2 层网络。 BTC 第 2 层网络经过精心设计,旨在满足比特币生态系统内对更快、更高效交易不断增长的需求。


这是通过从主区块链上卸载某些交易处理任务来实现的,旨在缓解拥塞并大幅减少交易确认所需的时间和资源。


认识到比特币虚拟机(VM)计算能力的固有局限性,我们的设计使用了 BitVM,它展示了在两方之间执行智能合约的潜力。利用挑战和响应方案,BitVM 展示了一种增强比特币网络可编程性、克服传统限制的新颖方法。


为了增强第二层网络的安全性和完整性,通过集成零知识证明技术来促进状态验证。


这些先进的加密技术允许第 1 层有效验证第 2 层网络的状态,而不会损害底层交易的隐私和机密性。

0. 建筑

Layer 2 区块链采用账户模型。整个区块链的状态通过 zkVM 进行证明,基于 Halo2 证明系统。第 2 层状态与比特币网络同步,所有第 2 层状态均由 BitVM 实现的零知识证明(ZKP)验证器进行验证。一个 UTXO 用于跟踪所有第 2 层状态。此外,还采用可信预言机来确保只有输入/输出 UTXO 的锁定/解锁脚本遵循第 2 层协议。



1. 第 2 层委员会和可信预言机

选定的一组用户组成第 2 层委员会,负责监控第 2 层网络的整体健康状况。如果出现协议问题,委员会可以干预以停止协议并保护所有用户的资产。可信预言机对于验证输入/输出 UTXO 和脚本的正确性至关重要。

2. 第 1 层到第 2 层

在比特币网络上创建单个主根地址来代表第 2 层协议。当 UTXO 创建并转移到主根地址时,相应的 UTXO 实际上从第 1 层“移动”到第 2 层。协议或委员会帐户专门处理所有“存入”UTXO 资产的“转移”。



3. 阻止同步到第 1 层

所有第 2 层网络状态都以块的形式同步到第 1 层。对于一个区块,应提供以下信息: 某一特定区块中的交易 新账户的状态以及这些已应用的交易 当前区块状态的新 UTXO(即使协议被破坏也始终准备就绪) 比特币网络零知识证明的区块信息(证明从最后一个块到当前块的状态转换是正确的)第 1 层中的所有这些状态都记录在一个 UTXO 交易历史中。




3.1 更多关于证明

采用零知识证明来验证 Layer 2 的正确性。该证明试图证明:Layer 2 的区块交易被正确签名。所有帐户的新状态均已正确处理。直到第 1 层的一个特定区块为止的所有存款均得到正确处理。对于当前状态,所有 UTXO 分配均已正确创建。

3.2 区块信息挑战

为了确保第 1 层中指定块信息的正确性,采用了质询和响应方案。证明者可以通过指示锁定时间段内特定块之后还存在 N 个块来证明块信息的准确性。


3.3 ZKP 电路和 BitVM 增强

正如 BitVM 论文中所阐述的,ZKP 证明验证可以表示为一个二进制电路,可以被两方挑战。通过预签名交易,可以发送挑战以获得电路的比特承诺。如果0和1被挑战暴露,挑战者获胜。使用 BitVM 进行 ZKP 验证需要注意两点:相同的二进制电路承诺应该使用一次。也就是说,如果多个块使用相同的电路注释,则可能会暴露一位承诺的0和1。对于 ZKP 验证,除了电路满意度之外,还应该检查“公共输入”。为了解决这两个缺点,对于第 2 层的每个块,创建一个独特的二进制电路并固定“公共输入”。比特币脚本用于处理公共输入哈希和检查。正确的公共输入比特承诺由可信的预言机检查。在电路满意度方面,委员会内的任何成员都有能力提出挑战。




4. 第 2 层到第 1 层

资产从Layer 2转移到Layer 1有两种方式:撤回和强制撤回。提现交易从第 2 层触发,ZKP 电路确保交易按预期处理。强制提现交易是从比特币网络发起的。

4.1 提现和强制提现交易

从第 2 层触发的提款交易使用 ZKP 电路进行验证,以确保正确的交易处理。从比特币网络发起的强制撤回交易必须包含在下一个区块状态更新中。 4.2 UTXO 分配 当区块状态更新时,UTXO 分配会同步。当协议停止时,所有UTXO都可以被应用,以确保所有用户资产的安全。在这些 UTXO 中,只有撤回或强制撤回的 UTXO 是通过协议签名的。

5. 二层出口

一旦 ZKP 证明未经验证,委员会必须停止并退出协议。如果协议停止,委员会将签署第 2 层最新区块状态中指定的所有 UTXO 分布。通过签名,用户可以退出第 2 层而不会造成任何损失。





参考

  1. BitVM:https: //bitvm.org/bitvm.pdf
  2. 比特币白皮书: https://bitcoin.org/bitcoin.pdf
  3. Halo2 说明:https: //electriccoin.co/blog/explaining-halo-2/