本文详细介绍了数字签名的多种变体,包括盲签名、环签名和多签名。这些签名技术在特定场景下非常有用,如保护用户隐私、实现匿名签名以及多人共同签名。文章通过数学公式和图形化的方式解释了这些技术的实现原理。
本文是系列文章的第一篇,讨论了在比特币中使用Taproot和假设的CAT操作码实现契约(covenant)的技术。文章详细介绍了如何利用Schnorr签名的数学特性来模拟CHECKSIGFROMSTACK的功能,并探讨了ECDSA和BIP340签名在契约中的应用。
CAT
CHECKSIGFROMSTACK
本文深入探讨了比特币的脚本系统及其签名方案,包括Schnorr签名和ECDSA签名,并阐述了多个项目如何通过这些技术构建复杂的功能,如BitVM和zkBitcoin等。文章详细分析了比特币脚本的工作机制、特定脚本类型以及Taproot、SegWit及FROST签名等扩展方案。全篇结构清晰、逻辑严谨,适合有一定技术基础的读者阅读。
该文档详细描述了 Taproot 脚本验证的语义,包括对签名操作码的修改、多重签名策略的实现、以及资源限制的变化等。Tapscript通过软分叉进行升级,并引入了OP_SUCCESS操作码以实现更简洁的新操作码引入方式,旨在改进比特币脚本系统的灵活性和效率。
本文深入探讨了比特币的可编程性,阐释了比特币编程的特点和局限性。通过闪电网络(LN)和谨慎日志合约(DLC)两个范例,展示了如何利用比特币可编程性的特点以及突破其局限性的方法。同时,文章也解释了比特币开发者限制可编程性的理由,以及这种限制对比特币网络参与者的保护。
本文详细介绍了比特币中 Taproot 升级带来的 Schnorr 签名和 MuSig 多签名的优势。通过对比隔离见证 v0 和隔离见证 v1 交易的结构,展示了单签名和多签名交易体积的缩减,解释了公私钥生成,以及 ECDSA 签名和 Schnorr 签名的过程,并深入探讨了椭圆曲线密码学和 SECP256K1 曲线。
本文深入探讨了椭圆曲线密码学(ECC)和Schnorr签名的运作原理,特别是如何通过聚合和批量验证来提升效率。同时,文章与其他数字签名算法(如ECDSA)进行了对比,分析了它们的优劣,以及Schnorr签名在区块链上的实际应用,尤其是在以太坊中的整合。
本文深入探讨了FROST(Flexible Round-Optimized Schnorr Threshold)签名方案,FROST 可以被认为是 MuSig 利用分布式的密钥生成延伸成了门限签名。
本文探讨了如何利用以太坊的 ecrecover 函数验证 Schnorr 签名。通过将 Schnorr 签名的验证过程与 ecrecover 的处理相结合,提供了一种低成本的签名验证方法,并提供了具体的 Solidity 实现代码。文中还引用了 Chainlink 的相关实现与安全性的注意事项。
ecrecover
本文详细介绍了Schnorr签名和Musig的实现原理。首先讲解了与椭圆曲线相关的基础知识,然后深入探讨了Schnorr签名的签名和验证过程,以及为什么需要随机数nonce。接着介绍了Musig的聚合公钥和签名的实现,包括如何通过多轮通信防止关键取消攻击,确保多个参与者的安全和隐私。
本文介绍了知识证明(Proof of Knowledge)的概念,它是一种密码学证明,允许“证明者”向“验证者”证明其掌握了某些信息。文章阐述了知识证明与零知识证明的区别,并列举了知识证明在Web3中的应用,如零知识云存储、比特币中的Schnorr签名以及使用DECO实现隐私保护的数字身份。
本文介绍了 Schnorr 签名在密码学中的定义,以及它在比特币 Taproot 升级中的应用。Schnorr 签名相比于 ECDSA 具有更高的效率、更强的隐私性和更好的可扩展性,通过密钥聚合减少交易费用,提高区块链的处理速度。文章还对比了 Schnorr 签名和 ECDSA 的区别,并提及了 Schnorr 签名在多重签名方案中的优势。
本文深入探讨了Schnorr签名及其在比特币中的应用,包括Schnorr签名的基本原理、线性特性、适配器签名、Musig2协议以及Musig2与BIP 32推导的结合使用。文章详细解释了这些技术概念,并提供了相应的算法步骤和示例,展示了Schnorr签名在构建更高级加密方案中的潜力。
本文介绍了 Tapscript,它是对比特币脚本语言 Script 的升级版,建立在 Schnorr 签名的批量可验证性之上,并简化了新功能的添加。
本文宣布了《精通比特币(第三版)》的出版,并介绍了本书的新内容,包括Schnorr签名、无脚本式多签名、默克尔抽象语法树(MAST)等。此外,还介绍了本书的更新内容,如授权和身份验证的泛化、术语的更新、染色币的替换等。作者还将把本书的版税捐给Brink组织。