本文主要介绍了Taproot输出的背景知识,包括如何通过密钥路径和脚本路径来花费,以及涉及两个签名方的MuSig2签名流程。Taproot输出可以在交易的scriptPubKey字段中表现出来,可以包含单公钥条件或者n-of-n的MuSig2公钥,还可以拥有多个脚本分支条件。MuSig2是一种协议,定义了如何建立聚合公钥以及创建最终签名,以保证流程的安全性。
本文介绍了闪电网络中的盲路径技术,它通过加密隐藏部分支付路径,保护收款人的隐私。盲路径利用ECDH算法生成共享密钥,对节点ID进行“盲化”,使得付款方无法得知完整路径和收款方身份。文章还讨论了盲路径的原理、创建过程、应用场景(如私密通道路由、强制节点见证)以及当前的应用状态,并指出了现有实现的用户体验挑战,以及对盲路径的误解和潜在攻击。
在本篇中,我们将学习闪电支付通道和闪电网络是如何实现的,并在此基础上了解其它的以脚本实现的特性。
“哈希锁” 也称 “哈希原像检查”,也就是检查某个传入的数据的哈希值是否为某一值。
“时间锁” 就是在某一个时间事件发生后才能打开的锁,即,为了通过这样的操作码的检查,由某种方式取得的当前时间已经越过了脚本预先指定的时间。
本章,我们正式进入最常被使用的比特币复杂脚本模块:多签名。
理解基于比特币脚本的合约式协议,如何嵌入具体的应用场景中并为相关参与者服务。
本文深入探讨了闪电支付通道和闪电网络的工作原理,详细解释了如何利用比特币脚本实现双向支付通道,并通过哈希时间锁合约(HTLC)实现支付路由。此外,还介绍了闪电网络在可扩展性方面的优势,以及Lightning Pool和Swap-in-Potentiam等周边应用,展示了比特币脚本的灵活性和强大功能。
本文介绍了比特币脚本中的哈希锁功能,也称哈希原像检查,并通过示例展示了如何使用 Policy 函数实现哈希锁脚本。哈希锁可用于资助哈希碰撞的发现、实现免信任的原子化互换,也被闪电网络用于支付路由,和潜水艇互换等重要功能。
本文介绍了比特币脚本中的时间锁概念,包括绝对时间锁和相对时间锁,以及如何在交易和脚本层面设置时间锁。文章还通过示例展示了如何使用 Policy 语言和 Miniscript 编译器来创建包含时间锁的复杂脚本,并探讨了时间锁在个人强制储蓄、灾备措施、资金社交恢复、免信任仲裁、资金托管者灾备以及免信任服务商等多种场景下的应用,最后提到了Taproot升级引入的MAST技术对脚本隐私性和经济性的提升。