2016年3月31日 IRC 会议总结
概述
主要议题
- 隔离见证更新
- 软分叉回退
- 坏链警报
- 子交易支付父交易挖矿
简要议题
上周讨论过的过去中位数时间违规检查的更新:目前没有挖到违规的交易。Gmaxwell 将开始生成违反 MTP 的交易以再次检查。
网络堆栈重构的更新:cfields 将更新版本推送到他的 net-refactor10 分支,该分支已准备好进行测试和审查。它仍然需要大量单元测试,cfields 也正在为此构建框架以及文档。
Jonasschnelli 询问人们是否仍然对 p2p 加密和身份验证 BIP 感兴趣,他一直在研究这个问题。我们是需要我们自己的解决方案还是采用现有的解决方案。Sipa 建议复制来自 openssh 的加密代码,对于 chacha20 - poly1305,代码只有 300 行。每个人似乎都赞成继续编写 BIP,因为它允许钱包(spv)简单地设置以提高隐私。
隔离见证更新
背景
一些开发者正在开发一个软分叉,以将隔离见证引入比特币主网,并在一个特殊的测试网上进行初始测试。隔离见证 (segwit) 允许将交易签名数据存储在用于生成交易标识符的散列数据之外,消除了所有已知的第三方可塑性形式,允许全节点在不下载所有签名的情况下编译当前 UTXO 集,并为欺诈证明奠定基础,使轻量级 (SPV) 客户端能够帮助执行更多共识规则。segwit 软分叉还允许矿工用 4 字节的 segwit 数据替换 1 字节的区块空间,从而增加使用 segwit 的钱包的交易容量。
会议评论
Sipa,segwit 代码的主要贡献者/维护者,指出
- segwit 代码在过去几天取得了很大进展;它现在通过了所有预先存在的 rpc 测试和单元测试,并且在此过程中修复了许多错误
- 它基于 bip68/112/113 回退进行了重新整理,并且一个新的 segnet(segnet4)正在使用 bip9 激活逻辑运行
- 我已大幅重组了分支中的提交,以 1) 定义 segnet 2) 添加共识/节点逻辑 3) 添加钱包逻辑 4) 添加测试。这样就可以测试从分叉前代码到分叉后的升级测试,并且可以分别审查共识关键部分。
- 我将编写脚本单元测试,因为我们没有测试所有可能的见证验证失败
- 代码更改可以查看 此处
会议结论
- Sipa 将列出他希望其他人完成的工作,以推动 segwit 的发展。
软分叉回退
背景
如 软件生命周期 文档所述,比特币核心开发者旨在维护最新和以前的重大版本,当前版本为 0.12 和 0.11。
会议评论
相关的回退是 #7716(0.11)和 #7543(0.12)。#7543 获得了 5 个经过测试的确认,应该准备合并。
Morcos 表达了一些多个开发者共有的担忧:“我知道这可能存在争议,但我认为,为 0.11 提供回退比不提供更糟糕。提供足够的审查非常困难。你可以以通过所有现有单元测试的方式将这些软分叉回退到 0.11,但如果你不知道需要更改两者,它就会出现问题。我认为,如果不为我们无法提供高安全性的内容盖章,我们为“客户”提供的服务会更好。只是一个想法,鉴于 segwit 也可能难以在 0.11 中得到正确测试……我们似乎为自己设定了回退 2 个主要版本的条件,因此我们在为质量存疑的产品做这件事上浪费了大量开发资源。”
Gmaxwell 还指出,0.11 用户没有反馈或请求回退,并且鉴于 0.11 和 0.12 之间的性能差异,有很多理由不运行 0.11。
会议结论
- 希望回退到 0.11 的人应该查看 #7716
- 0.11 回退不应延迟 0.12.1。
坏链警报
背景
服务正在使用 -alertnotify 来接收关键问题的通知。有些服务连接了寻呼机,甚至会自动关闭服务。
一些基于启发式的消息,例如“异常高的区块数量”消息,似乎经常出现,尽管没有真正的问题:https://www.reddit.com/r/Bitcoin/comments/3ydwg2/warning_abnormally_high_number_of_blocks/
除了浪费时间和资源外,在第无数次之后,用户开始完全忽略这些消息,从而错过了严重的问题。
另一个问题是,当(临时)问题消失时,一些警告不会消失,唯一关闭它们的方法是重新启动 bitcoind。
会议评论
似乎还没有最终确定是什么导致了误报,应该对此进行更多研究。
dgenr8 的拉取请求 #7568 修复了一些问题,但可能并非所有问题。
会议结论
- 暂时禁用警告,尝试在主分支中修复它,如果成功,则回退到 0.12.2/0.13。
子交易支付父交易挖矿
背景
Suhas Daftuar 有一个正在开发中的 (WIP) 拉取请求,它通过考虑未确认交易及其子交易的组合费用率来帮助矿工创建更有利可图的区块。这不仅对提高矿工的盈利能力有用,而且还允许用户通过创建具有高费用率的子交易(通常称为子交易支付父交易 (CPFP))来有效地向已在矿工内存池中的交易添加费用。
会议评论
第一步是让人们为 #7598 提供概念反馈,这是 CreateNewBlock 的重构。设计的最初目标是将优先级填充与费用率填充分开,但我认为总体目标应该是使其更模块化,以找出如何组装区块。
鉴于 0.13 的功能冻结时间不远了(2016/05/15),并且需要在 segwit 之上进行一些更改,Morcos 正在考虑是否并行进行或首先专注于 segwit。
轻松一刻
<gmaxwell> is that bad "chain alerts" or "bad chain" alerts? :)
<jonasschnelli> second.
<wumpus> hehe both
<sipa> (bad ((bad chain) alerts))
<gmaxwell> I think it's actually more the first.
参与者
IRC 昵称 | 姓名/匿名 |
---|---|
cfields | Cory Fields |
btcdrak | BtcDrak |
gmaxwell | Gregory Maxwell |
jonasschnelli | Jonas Schnelli |
petertodd | Peter Todd |
Morcos | Alex Morcos |
sipa | Pieter Wuille |
wumpus | Wladimir van der Laan |
Luke-Jr | Luke Dashjr |
dgenr8 | Tom Harding |
sdaftuar | Suhas Daftuar |
jtimon | Jorge Timon |
phantomcircuit | Patrick Strateman |
paveljanik | Pavel Janik |
warren | Warren Togami |
免责声明
本总结是在没有讨论参与者任何输入的情况下编写的,因此任何错误都是总结作者的责任,而不是讨论参与者的责任。