2018-05-17 IRC 会议摘要

概述


本次周会讨论的主题包括会议参与者最希望看到哪些拉取请求得到审查,版本 0.16.1 的第一个发布候选版本发布之前需要解决哪些问题,项目是否应该离开 GitHub,对一个铺平了将节点代码与钱包代码分离路径的 PR 的审查请求,以及一个潜在的新 P2P 协议消息,以便更好地处理未验证区块的中继。

高优先级审查

背景: 每次会议,比特币核心开发者都会讨论会议参与者认为在下周最需要审查的拉取请求 (PR)。其中一些 PR 与贡献者特别希望在下个版本中看到的代码有关;另一些 PR 是阻碍进一步工作的 PR,或者需要进行大量维护(重新整理)才能保持待定状态。任何有能力的审阅者都鼓励访问项目的 当前高优先级 PR 列表

讨论 (日志): 特别讨论的 PR 包括:

  • #12254: BIP 158:轻量级客户端的紧凑区块过滤器

  • #12196: 添加 scantxoutset RPC 方法

  • #13142: 将 IsMine 与可解性分离

  • #12979: 为辅助索引创建可重用基类

此外,Wladimir van der Laan 表达了对列表越来越长的担忧。

0.16.1

背景: 比特币核心开发者已经开始准备一个新的 0.16.1 维护版本,其中包含错误修复和重要功能的移植。

讨论 (日志): Wladimir van der Laan 提出了该主题,并简要概述了仍需完成的工作。

  1. [0.16] 进一步移植 (#13253). 需要更多审查。

  2. 0.16.0 bitcoin-qt: 启动时“断言 `copyFrom` 失败” (#13110). Van der Laan 说他“为此提出了一个修复方案,它似乎有效。”

  3. 重新扫描期间断言失败 (#12646). Jonas Schnelli 建议提升,Van der Laan 同意。它被重新定位到 0.16.2。

  4. 0.16 关闭断言 (#12337). Schnelli 正在调查此事。

结论: “我们只需要完成移植并为 0.16.1RC1 打标签,”Matt Corallo 说。

放弃 GitHub

背景: 现在已经超过 6 周了,GitHub 上高度审查的比特币核心 PR 的网页经常无法加载,审阅者看到的是一只愤怒的独角兽的插图。该问题已由不同的人多次报告给 GitHub 支持团队,但尚未解决。

讨论 (日志): Matt Corallo 请求了该主题并介绍了它:“它一直无法正常工作 […] 而且我一直希望拥有一个自托管的、具有更好审查工具的东西,我知道很多人想要。”

Pieter Wuille 和 Wladimir van der Laan 建议 GitLab 是一种替代方案,Corallo 接受了,但他指出,“虽然 GitLab 似乎没有比 GitHub 更好的审查工具。”

Suhas Daftuar 担心,“在我看来,自托管似乎要难得多。” Van der Laan 也有同样的担忧,“谁来照看它、监控它并应用安全补丁等等呢?”

Cory Fields 补充道,“一般否定:除了自托管问题之外,我认为 GitHub 的网络效应太强大了。我肯定不是唯一一个对想要修改的代码位于 BitBucket 上感到不合理地沮丧的人。” Van der Laan 同意,“是的,只有像 FreeDesktop 这样的 [大型] 玩家才能真正负担得起在单独的基础设施上托管;对于较小的项目来说,缺乏网络效应(以及需要单独注册)是不利的。” John Newbery 也表示同意。

谈到他希望在 GitHub 替代品中看到的特性时,Corallo 希望有一个命令行方式可以“验证,例如,评论上的 PGP 签名。” 这样,如果有人破坏了存储库 Web 服务以伪造对 PR 的 ACK,则可以在合并之前检测到它。

Jim Posen 和 Steve Lee 表示愿意帮助从 GitHub 获取有关该问题的更多信息。比特币核心项目并不是唯一遇到此问题的项目,Corallo 说:“一些其他项目发布了他们收到的回复,[GitHub 支持团队] 说,‘我们实际上不知道我们做了什么更改导致了这些问题,请稍等。’ 但那是三周前的事了。”

结论: Corallo 认为目前该想法面临着太多阻力,因此“我不会花时间去研究它。” Van der Laan 总结说:“我认为,在有人建立一个可行的替代方案并向我们证明它更好之前,没有可能真正替代 GitHub。”

会议后: 大约在会议结束后的第二天,Jonas Schnelli 收到了一条来自 GitHub 产品经理 Ben Balter 的 消息,称 GitHub 已“确定了根本原因,并正在努力修复。”

将钱包与节点分离

背景: 比特币核心的完整节点实现、钱包和图形用户界面 (GUI) 目前都作为一个进程运行(尽管钱包和 GUI 可以被禁用)。这意味着,例如,如果您关闭 GUI,您也会停止节点。长期以来,一些贡献者一直致力于将这些不同的部分拆分为单独的进程,以便它们可以独立运行。

讨论 (日志): John Newbery 请求了该主题并介绍了它:“#10973 是一个很大的 PR,但我认为它非常值得 […] 但它需要不断地重新整理。 […] 我认为在这一方面取得进展会很棒。”

Wladimir van der Laan 担心高优先级审查队列太大了:“哦,不,不要再加更多高优先级审查了。它阻碍了什么吗?它对 0.17 很重要吗?我们无论如何也不会在 0.17 中实现进程分离。”

该 PR 的作者 Russell Yanofsky 提议将前六个提交拆分为一个单独的 PR,以便它们可以独立于后面的提交进行审查,从而减小 PR 的大小,并有望使其更容易审查。

结论: 由于 Yanofsky 提议拆分 PR,并且一些贡献者表示将在下周进行审查,Newbery 结束了该主题的讨论。

未验证区块消息

背景: BIP152 紧凑区块中继引入了一种高带宽模式,在节点完成验证新区块之前,节点可以向其对等节点发送有关该区块的信息。如果节点确实完成了对区块的验证,并发现该区块无效,但对等节点仍然请求整个区块,那么目前节点无法告诉其对等节点它没有有效的区块可以发送给它们。目前,在这种情况下,对等节点最终会因为未能发送请求的区块而断开与节点的连接。

讨论 (日志): Matt Corallo 请求了该主题,并通过描述解决该问题的两种潜在方案介绍了它。

  1. 节点告诉请求对等节点它拒绝中继该区块。

  2. 节点向对等节点提供请求的区块,证明它具有有效的区块头(如 BIP152 所要求的那样),但也将其标记为可能无效。

Pieter Wuille 建议现有的 notfound 消息可能可以重复使用,作为实现第一个提议的解决方案的一部分。

Suhas Daftuar 反对重复使用 notfound 消息,转而支持第二个提议的解决方案:“我认为 notfound 比较糟糕,因为存在区块可能无论如何都没有被验证的情况。” Wladimir van der Laan 同意应该使用一个新的消息,“如果没有充分的理由重复使用 notfound,那么使用一个新的消息会更好。”

结论: Corallo 仍在考虑这些选项,但他认为“提出这个问题很好。显然 [实际解决方案] 需要一个 BIP 等等。”

其他主题

在会议仅剩几分钟时,Matt Corallo 提出了一个名为“对队列排空锁断言进行锁定以避免死锁”的主题,但没有足够的时间讨论该主题,Corallo 说:“我现在意识到我应该直接打开一个 PR,这样人们就能看到它,[因为] 它有点难以描述。”

幽默解压

<BlueMatt> trashing github
<BlueMatt> or we could switch to gitlab
    <sipa> let's move back to sourceforge
<sdaftuar> i think we could just add a new BLOKC response type
           BLOCK_COULDBEBAD
    <sipa> 0xDEADB10C
  <wumpus> hehe

参与者

IRC 昵称 姓名/匿名
BlueMatt Matt Corallo
wumpus Wladimir van der Laan
sipa Pieter Wuille
jonasschnelli Jonas Schnelli
jnewbery John Newbery
jtimon Jorge Timón
jimpo Jim Posen
sdaftuar Suhas Daftuar
cfields Cory Fields
MarcoFalke Marco Falke
jamesob James O’Beirne
promag Joao Barbosa
moneyball Steve Lee
ryanofsky Russell Yanofsky
kanzure Bryan Bishop

免责声明

本摘要是在没有讨论参与者的任何意见的情况下编制的,因此任何错误都是摘要作者的责任,而不是讨论参与者的责任。特别是,从讨论中摘录的引语已经修改了它们的字词大小写、标点符号和拼写,以生成一致的句子。括号中的词语和片段,以及背景叙述和说明,都是由本摘要的作者添加的,可能无意中改变了一些句子的意思。如果您认为有任何引语被断章取义,请 打开一个问题,我们将更正错误。