a16z:为什么 DePIN 至关重要,我们如何让它发挥作用?(6) / BTC123 | 区块链信息行情第一站

a16z:为什么 DePIN 至关重要,我们如何让它发挥作用?(6)

03-27 , 14:56 分享新闻

共识机制(Consensus)

大多数区块链采用共识机制(通常结合抗女巫攻击机制,如工作量证明PoW或权益证明PoS)。将“共识”重新表述为“重新执行”(re-execution)可能更有助于理解,因为它突出了区块链网络中形成共识的每个节点通常都必须重新执行网络处理的每个计算。(对于模块化区块链或将共识、执行和数据可用性分离的区块链架构,这一规则并不完全适用。)

重新执行通常是必要的,因为网络中每个节点通常被假定为可能表现出拜占庭行为(Byzantine behavior)。换句话说,节点需要相互检查工作,因为它们无法彼此信任。当有新的状态变更提案时,每个验证区块链的节点都必须执行这一状态变更。这可能会导致大量的重新执行!例如,截至本文撰写时,以太坊网络中有超过6000个节点。

重新执行通常是透明的,除非区块链使用可信执行环境(Trusted Execution Environments,简称TEE,有时也称为硬件或安全飞地)或完全同态加密(Fully Homomorphic Encryption)。关于这两种技术的更多信息,请参见下文。

正确执行证明(Proof of Correct Execution,例如有效性汇总、ZEXE等)

与其要求区块链网络中的每个节点重新执行每一个状态变更,不如让单个节点执行给定的状态变更,并生成一个证明,表明该节点正确执行了状态变更。这种正确执行的证明比直接执行计算更快验证(这一特性使得证明具有简洁性)。最常见的此类证明形式是SNARK(简洁非交互式知识论证,Succinct Non-Interactive Argument of Knowledge)或STARK(简洁透明知识论证,Succinct Transparent Argument of Knowledge)。SNARK和STARK通常被扩展为零知识证明(Zero-Knowledge Proof),即在不泄露被证明声明任何信息的情况下完成证明。因此,当用于压缩计算证明时,SNARK/STARK和零知识证明(ZK Proofs)这两个术语常常被混淆使用。

目前最知名的基于正确执行证明的区块链类型可能是零知识汇总(Zero-Knowledge Rollup,简称ZKR)。ZKR是一种二层区块链(L2),它继承了某个底层区块链的安全性。ZKR将交易批量处理,生成一个证明表明这些交易被正确执行,然后将该证明发布到一层区块链(L1)进行验证。

正确执行证明通常用于提升区块链的可扩展性和性能、隐私性,或兼具二者。zkSync、Aztec、Aleo和Ironfish是这方面的典型例子。此外,正确执行证明也可以用于其他场景。例如,Filecoin在其存储证明(Proof of Storage)中使用了ZK-SNARKs。近年来,正确执行证明开始被应用于机器学习的推理(ML inference)、训练(ML training)、身份验证等领域。