2016-12-01 IRC 会议摘要

概述


笔记 / 简短主题

  • 由于 segwit 改变了 JSON-RPC API 中数据的格式,因此提出了一个拉取请求,以添加一个选项来返回非 segwit 序列化,这样那些尚未及时升级其库的用户仍然可以使用 RPC 接口。
  • JeremyRubin 的 更好的 SigCache 实现 已经准备就绪,但缺少一些审查。

主要主题

  • Main.cpp 拆分
  • 钱包中的 vchDefaultKey
  • HD 恢复

Main.cpp 拆分

背景

TheBlueMatt 正在重构 main.cpp。这应该使代码更容易被新开发者访问,并改进代码审查和测试。

会议评论

PR #9183(main.cpp 拆分的最终准备)已准备好合并,它已经有很多 ACK 了。

在 main 拆分之后,反向移植会变得更加复杂。仍然需要反向移植到 0.13.2 的 PR 是

  • #9253(修复用于计算绑定套接字数量的计算)
  • #9229(删除对 getaddrinfo_a 的调用)
  • #9194(添加选项通过 rpc 返回非 segwit 序列化)
  • #9188(使孤儿父级获取请求见证人)
  • #9239(禁用 1 块目标的费用估算)
  • #9252(在调用 ProcessNewBlock 或处理头文件(cmpctblock 处理)之前释放 cs_main)

会议结论

  • 合并 #9183(main.cpp 拆分的最终准备)
  • 专注于审查带有“需要反向移植”标签的内容
  • 在完成反向移植后拆分 main

钱包中的 vchDefaultKey

背景

vchDefaultKey 是“默认地址”概念的遗留物,该概念在古老的 0.4.0 版本中被移除。Wumpus 为此行为打开了一个问题

目前它仅用于确定是否刚刚创建了一个新钱包。

会议评论

Sipa 希望摆脱它,但是如果我们这样做,降级到旧的钱包版本会导致无法重新扫描。

鉴于这不是很紧急,所以不需要像虚拟密钥等 hack。0.14 可以停止依赖 vchDefaultKey,但仍然写入它,然后在 0.15 中删除 vchDefaultKey 并将最小版本提升到 0.14,这样 0.15 钱包将永远无法用 0.13 打开。

会议结论

  • 使用版本控制在 0.15 中摆脱 vchDefaultKey

HD 恢复

背景

从 0.13 开始,新创建的钱包将根据BIP32 使用分层确定性密钥生成。钱包转储将包含 HD 种子,但目前无法导入该种子。

会议评论

Jonasschnelli 认为它应该是一个单独的工具来恢复 HD 种子。该工具将创建一个新的 wallet.dat,并在之后运行重新扫描。该工具可以与 RPC 和 UTXO 集交互,以检测间隙限制。

Wumpus 建议先审查并合并当前的钱包 PR,然后再进行额外的工作。PR #9143(重构 ZapWalletTxes 以避免层级违规)、#9256(修复更多 CWallet/CWalletDB 层级违规)和 #8723(添加对灵活 BIP32/HD 密钥路径方案的支持)可能需要一些审查。

Gmaxwell 认为我们应该避免在修复密钥路径拆分问题之前向 HD 支持添加更多复杂性。问题是更改输出与接收密钥在同一条链上,因此你最终可能会将更改密钥作为地址发出去让人们支付(将他们的付款隐藏起来),或者如果你从 hd 数据中恢复了钱包,更改可能会显示为付款。

低垂的果实可能是为密钥池添加一个“已使用”标记,并将 HD 钱包的默认密钥池增加到 1000,因为目前的 100 实在太小了。

会议结论

  • 审查 #9143(重构 ZapWalletTxes 以避免层级违规)、#9256(修复更多 CWallet/CWalletDB 层级违规)和 #8723(添加对灵活 BIP32/HD 密钥路径方案的支持)
  • 专注于拆分密钥路径

幽默解嘲

gmaxwell      I just noticed #9188 isn't merged. 
gmaxwell looks to see if he's the delay on that one
gmaxwell is not the delay

参与者

IRC 昵称 姓名/匿名
sipa Pieter Wuille
gmaxwell Gregory Maxwell
wumpus Wladimir van der Laan
morcos Alex Morcos
jtimon Jorge Timón
BlueMatt Matt Corallo
Chris_Stewart_5 Chris Stewart
jonasschnelli Jonas Schnelli
Michagogo Michagogo
achow101 Andrew Chow
cfields Cory Fields
jcorgan Johnathan Corgan
petertodd Peter Todd
instagibbs Gregory Sanders
sdaftuar Suhas Daftuar
paveljanik Pavel Janik
kanzure Bryan Bishop
luke-jr Luke Dashjr
btcdrak BtcDrak

免责声明

此摘要是在未经任何讨论参与者同意的情况下编写的,因此任何错误都是摘要作者的责任,而不是讨论参与者的责任。