本文介绍了椭圆曲线密码学(ECC)的基础数学原理,包括椭圆曲线、有限域、群、群定律、有限循环群、离散对数问题(DLP)以及椭圆曲线离散对数问题(ECDLP)。解释了ECC在比特币中的应用,以及相较于其他非对称算法的优势,即在相同安全级别下密钥长度更短。
本文介绍了比特币轻客户端使用 Bloom 过滤器进行交易验证的原理、挑战和局限性。Bloom 过滤器虽然能在一定程度上保护隐私,但也存在隐私泄露、依赖诚实节点以及给全节点带来额外工作负担等问题。因此,提出了紧凑型区块过滤器(compact block filters)作为替代方案,以解决 Bloom 过滤器的不足。
本文解释了比特币交易签名的基本数学原理,阐述了为什么不同的签名脚本可以应用于同一交易,以及隔离见证(SegWit)如何修复交易可延展性问题。文章分析了签名过程中随机数 k 的作用,以及恶意用户如何通过修改签名脚本来改变交易ID,最后说明SegWit通过将签名数据移至见证字段来解决此问题。
本文深入探讨了比特币交易中数字签名哈希标志(SIGHASH flags)的作用和类型。详细解释了DER签名的结构,以及SIGHASH ALL、NONE、SINGLE三种基本类型及其ANYONECANPAY修饰符的应用方式,并提供了各种标志的使用场景示例,旨在帮助读者理解如何使用这些标志来构建灵活的交易。