比特币操作码技术新闻通讯184期
January 30th, 2022

翻译:DeepL,Google Translate,校对: 李林

本周的新闻通讯描述了一个扩展PSBT字段的建议,用来花费那些用向合约付款协议构建的输出;并包括我们的常规部分,其中有来自Bitcoin Stack Exchange的顶级帖子的摘要和流行的比特币基础设施项目的显著变化。

新闻

P2C字段的PSBT扩展:Maxim Orlovsky提出了一个新的BIP,为PSBT增加可选的字段,用于花费使用向合约付款(P2C)协议创建的输出,正如之前在Newsletter #37中提到的。P2C允许支出方和接收方就合约文本(或其他任何东西)达成一致,然后创建一个承诺该文本的公钥。付款人随后可以证明,付款人承诺了该文本,并且如果没有接收人的合作,该承诺根本算不出来。简而言之,花钱的人可以向法院或公众证明他们所支付的东西。

然而,为了让接收者随后构建一个签名能花费他们收到的资金,除了他们使用的密钥(该密钥通常是分层确定性密钥串的一部分)之外,他们还需要合同的哈希值。Orlovsky的提议允许将该哈希值添加到PSBT中,以便签名钱包或硬件设备能够产生有效的签名。

Bitcoin Stack Exchange的精选问答

Bitcoin Stack Exchange是Optech贡献者寻找答案的首选,在这上面我们也会花空闲时间来帮助好奇或困惑的用户。在这个月度专题中,我们将重点介绍一些自上次更新以来被投票最多的问题和答案。

  • 是否有办法把一个taproot地址转换成原生隔离见证地址?在一个交易所由于不支持taproot将用户的P2TR(native segwit v1)taproot提款地址改为P2WSH(native segwit v0)地址后,用户问是否有办法要求得到由此产生的v0输出中的比特币。Pieter Wuille指出,这些比特币是无法收回的,因为用户需要找到一个脚本来哈希到P2TR地址中的公钥,这是一个计算上不可行的操作。
  • Bitcoin 0.3.7 是一个硬分叉?用户BA20D731B5806B1D想知道是什么导致比特币的0.3.7版本被归类为硬分叉。Antoine Poinsot给出了scriptPubKey和scriptSig值的例子,说明在0.3.7对scriptSig+scriptPubKey分开评估的bug修复后,以前无效的签名可以有效。
  • 什么是签名研磨?Murch解释说,ECDSA签名研磨是一个反复签名的过程,直到你得到一个r值在下半区的签名,根据比特币用于ECSDA的序列化格式,会产生一个少1个字节的签名(32字节对33字节)。这种更小的签名带来更低的费用,而且当签名长度是熟知的32字节时,能够更准确的估算费用。
  • 如何避免的链之间的网络冲突默奇解释了节点如何使用P2P消息结构中规定的魔数,以识别它们是否连接到同一网络(主网、测试网、信号网)上的节点。
  • 2021年标准客户端采用了多少BIP?Pieter Wuille链接到Bitcoin Core的BIPs文档,记录了在Bitcoin Core中实现的BIPs。

值得注意的代码和文档变化

本周值得注意的代码变化 Bitcoin Core, C-Lightning, Eclair, LDK, LND, libsecp256k1, Hardware Wallet Interface HWI, Rust Bitcoin, BTCPay Server, BDK, Bitcoin Improvement Proposals (BIPs), 和 Lightning BOLTs.

  • Eclair #2134 默认支持 anchor outputs, 当一笔交易手续费过低时,允许提高手续费费用. 因为anchor outputs-style 需要通过CPFP来实现提高手续费, 用户必须在他们自己的bitcoind钱包里面保存UTXO.
  • Eclair #2113增加了自动管理费用提升的功能。这包括按照及时确认的重要性对交易进行分类,在每个区块后重新评估交易以确定是否适合提升费用,也重新评估当前的网络费率,以防交易的费率需要增加,并在必要时为交易增加额外的输入,以增加交易的费率。该变化还呼吁改进Bitcoin Core的钱包API,可以减少Eclair等外部程序对附加钱包的管理工作。
  • Eclair #2133开始默认转发洋葱消息。在新闻通讯 181期中提到的速率限制是用来防止任何滥用LN协议的实验性部分的问题。
  • BTCPay Server #3083允许管理员使用LNURL认证(也可在非LN软件中实现)登录BTCPay实例。
  • BIPs #1270澄清了PSBT规范中关于签名字段的可接受值。在Rust Bitcoin最近的一次更新引入了更严格的签名字段解析后,人们讨论了PSBT中的签名字段是否可以包含一个占位符,或者只允许有效的签名。最终决定PSBTs应该只包含有效的签名。
  • BOLTs #917扩展了BOLT1定义的init消息,使节点能够告诉连接的节点正在使用什么IPv4或IPv6地址。由于NAT后面的节点不能看到他们自己的IP地址,这允许节点在地址改变时更新它向网络宣布的IP地址。
Subscribe to Bitcoin fix this
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from Bitcoin fix this

Skeleton

Skeleton

Skeleton