原理:
在比特币主网进行 Taproot 升级之后,通过 Schnorr 签名技术来构造 m-n 的多签 Taproot 账户成为了可能。通过构造一个特殊的 Tapscript,就能够实现基于 Schnorr 的门限签名。
任何一个 Tapscript 脚本都可以被理解为存在多个条件,并且可以按照每个条件进行解锁的特殊脚本。其中,每个分支所对应的解锁脚本,事实上都是默克尔化抽象语法树(MAST)的叶子节点。显然,只要将 Schnorr 签名的不同可能的结果,都作为一个独立的叶子节点,就能够实现 m-n 的多签钱包了。
具体来说,生成这样一个 Tapscript 需要多方在链下完成脚本的构造。以2–3多签为例,首先在链下,参与者必须首先构造多组可能的 Schnorr 多签。例如通过 MuSig2,三个参与者A,B,C 分别生成 Sig1(A,B),Sig2(B,C) 以及 Sig3(A,C)。之后,需要将这三个生成的 Schnorr 签名Sig1,Sig2,Sig3 分别放在不同的叶子结点中并加入 OP_CHECKSIG。最后,通过叶子结点,生成最终的默克尔树根,即可完成一个 Taproot 的多签钱包,如下图所示。
ZKSwap (Bitcoin) 采纳Schnorr 签名的优势很明显,可以实现 m-n 的原生多签,并且具备原生 Schnorr 多签的其他优点,例如隐私保护,减少空间占用等。与此同时,其使得多签钱包能够拥有的碎片数量得到了极大的拓展,理论上完全能够使用数百个密钥构建更加去中心化的跨链桥,进一步增加多签方案的安全性。
目前对于ZKSwap(Bitcoin)而言,目前的多签方案只是一个暂时的过渡方案,未来ZKSwap(Bitcoin)主网会采取基于ZK和BitVm的比特币Layer2拓展解决方案ZKByte。不但可以增强比特币Layer2网络的安全性和完整性,还可以提升速度、效率与安全性。
ZKByte的设计框架是为比特币区块链建立一个专门定制的Layer2网络。比特币Layer2网络旨在满足比特币生态系统内日益增长的对更快速、更高效交易的需求。通过将某些交易处理任务从主网上释放,旨在缓解比特币主网的拥堵问题并大幅减少交易确认所需的时间。
鉴于比特币虚拟机(VM)计算能力的固有限制,我们的设计使用了BitVM,它展示了在两层网络之间执行智能合约的潜力。通过利用挑战和响应方案,BitVM展示了一种比特币网络可编程性的新方法,打破了传统的限制。
为了增强比特币Layer2网络的安全性和完整性,该设计通过集成零知识证明(ZK)技术来实现状态验证。这些先进的加密技术允许比特币主网可以有效验证Layer2网络的状态,而不会损害底层交易的隐私和机密性。零知识证明能够验证信息而不泄露交易的具体细节,从而在保护隐私的同时确保Layer2网络的完整性。
总体而言,该设计旨在通过Layer2网络、采用BitVM进行智能合约执行以及集成零知识证明技术进行状态验证,提高比特币网络的可扩展性、速度和效率,同时保持底层交易的隐私和安全性。
ZKBase即将发布V4路线图,敬请期待!
ZKBase团队