Christian Lewe 在 Advancing Bitcoin 2023 大会上介绍了 Simplicity,这是一种新的区块链编程语言,它吸取了 Miniscript 的优点,并具备任意计算和形式化验证能力,旨在解决 Bitcoin Script 的复杂性问题,并支持通用签名哈希模式、零知识证明验证器以及定制化的密码学,最终目标是集成到比特币和 Liquid 网络中。
本文档详细介绍了比特币核心中Output Descriptors的使用方法。Output Descriptors是一种用于描述输出脚本集合的简单语言,Bitcoin Core从v0.17版本开始支持Output Descriptors,包括其特性、功能以及各种脚本类型的描述方式,并提供了大量示例和参考信息,以便开发者理解和使用。
本文深入浅出地介绍了比特币脚本(Script)、Miniscript以及描述符(Descriptors)这三个关键概念,阐述了如何利用它们构建更安全、更灵活的比特币应用,例如多签名钱包和智能合约,并通过实际案例展示了如何使用 bdk-cli 工具进行操作,描述符可以实现钱包的可移植性,相同的描述符可以在不同的钱包里生成相同的地址集合,从而可以使用相同的方式同步和广播交易。
Liana 钱包 v1.0 发布,该钱包支持 Miniscript 描述符、时间锁和多路径花费等特性,意味着可以从丢失私钥中恢复、实现免信任的财产继承以及更安全的备份。Liana 钱包通过主路径和恢复路径的设计,允许用户设置不同的花费条件,并结合硬件钱包和时间锁机制,为比特币的保管和使用提供了更灵活和安全的方案。
本文介绍了比特币多签名脚本的概念、示例和用途。多签名脚本允许多个签名来解锁比特币,可以用于个人保险柜、企业财务、联盟侧链、电子商务和免信任的托管等场景,以提高安全性和灵活性。文章还提到了Policy语言、Miniscript代码和Script代码,以及多签名的其他用途。
本文介绍了比特币脚本中的时间锁概念,包括绝对时间锁和相对时间锁,以及如何在交易和脚本层面设置时间锁。文章还通过示例展示了如何使用 Policy 语言和 Miniscript 编译器来创建包含时间锁的复杂脚本,并探讨了时间锁在个人强制储蓄、灾备措施、资金社交恢复、免信任仲裁、资金托管者灾备以及免信任服务商等多种场景下的应用,最后提到了Taproot升级引入的MAST技术对脚本隐私性和经济性的提升。
本文介绍了Bitcoin Script的复杂性和难以使用的问题,并引出了Miniscript的概念,Miniscript是一种高级语言,旨在简化Bitcoin Script的编写,使钱包开发者更容易创建复杂的花费条件,提高脚本的正确性和可靠性,并促进钱包和工具之间的互操作性。
本文是“理解比特币 Miniscript”系列的第二篇,深入讲解了 Miniscript 的工作原理以及如何映射成 Bitcoin Script。
本文是“理解比特币脚本”系列的第三篇,介绍了如何使用 Go 语言实现 Miniscript 的解析、抽象语法树(AST)的构建、类型检查以及比特币脚本的生成,最终生成 P2WSH 收款地址。文章还提及了未来将探讨如何生成见证数据以及保证 Miniscript 遵守比特币的共识和标准。
本文是 Kevin Loaec 在 Advancing Bitcoin 2023 大会上的演讲稿,主要讨论了比特币中时间锁的各种应用场景,以及如何通过 Miniscript 等工具,提升比特币钱包的安全性和灵活性,例如:无需备份主要密钥、社交恢复、反向出口等。
本文是“有趣的比特币脚本”系列的第一篇文章,介绍了比特币交易、输出和脚本等基本概念,以及Miniscript和Policy语言。比特币脚本通过脚本规定UTXO的锁定条件,并通过提供特定的数据来解锁,从而实现经济合约,并为合约的关键状态转换提供密码学保证。
本文是Sanket Kanjalkar在Advancing Bitcoin 2022上关于Miniscript的演讲稿,Miniscript旨在解决比特币脚本在分析、使用和组合方面的难题,它通过结构化的方式实现脚本的语义分析、通用签名和互操作性,并可用于创建复杂的花费方案,简化脚本编写和分析的过程。
Stepan Snigirev 在 Advacing Bitcoin 2022 上的演讲,主要讨论了在硬件签名器上支持 Taproot 的必要性和面临的挑战,包括隐私性、Miniscript支持、交互式多签名的难点以及随机数生成器的风险。他提出了一些可能的解决方案和应用场景,如闪电网络、原子化互换和服务端签名。
本文介绍了Miniscript,这是一种以结构化的方式表示比特币脚本的编程语言,旨在实现高效分析、组合和通用签名等功能。Miniscript通过将复杂的脚本转化为人类可读的格式,并提供在线编译器优化脚本,从而简化了比特币脚本的构造和使用,提高了互操作性,并为诸如储备金证明、花费方式组合和动态联盟等应用场景提供了解决方案。
本文介绍了Miniscript和Simplicity两种树形结构的编程语言,它们可以用于比特币脚本的编写和分析。