(注意:总结工作还在进行中,可能修正为更详细的总结)
主要议题- 隔离见证代码审查
- 未来地址类型的纠错码
- P2P网络协议的加密
- 压缩区块广播协议
- Schnorr签名和集成
- 新的网络库
- Merkelized抽象语法树
注意- 这次会议是在瑞士苏黎世举行的,不是平日的IRC频道,详细报道http://coredev.tech/。
- 一些参与者借此机会校验PGP签名,并且对彼此的私钥签名,扩大围绕着提高比特币安全性的可信PGP网络。
- 指定的travis缓存了BitcoinCore正在使用的特征,对于所有的GitHub用户是有效的,所以CI测试应该运行在任意仓库,不仅仅是Bitcoin Core一个。
- Greg Maxwell指出一些开发者出现了获取PDF恶意软件的注入。
隔离见证代码审查背景
隔离见证是删除了常规交易的签名,消除无意的扩展,附带着提高容量以及增加最大区块大小。
会议注解
JonasNick回迁隔离见证网络(自定义的隔离见证测试网络)到0.9版,检验隔离见证向后兼容性,且升级激活到启用隔离见证的版本。Suhas收集了剩下的测试列表。很多的代码审查已经完成了,修正了一些BUG。讨论了关于Fund-raw交易的特殊需求的不确定性。
会议结论
- Fund-raw交易不应存在需要改变共识隔离见证代码。
- Sdaftuar起草了应该写的额外的测试列表。
- Sdaftuar起草了应该写的额外的测试列表。
- 挖矿:找出GBT如何工作(非隔离见证软件不能够处理隔离见证版本位),可能的实现的内容在#7935。
- 隔离见证的种子节点--jonasschnelli正在做。
- 添加发布日志的文档
- 审核如何处理恶意的节点。
未来地址类型的纠错码背景
因为比特币的历史,比特币地址使用了自定义的base-58编码,造成无法迁移到支付协议,因此未来可能有新的地址类型的需求。通常认为Base-58是差的编码,所以期望想出一个用于未来的地址类型的新的编码。
会议注解
Pieter正在做用于未来地址类型定义的高性能的base-32 BCH编码,Pieter给了一个进度更新,Pieter取得了很好的进展,发现了有价值的高性能的实现代码(例如:30个校正位提供高达4个换位错误或4个替代错误的准确检测)。
会议结论
逻辑上为可靠的错误检测使用纠错码是个好主意,但应该明确不能尝试纠正用户的安全方面的错误。
P2P网络协议的加密背景
比特币网络没有加密节点之间的通信,带来了安全问题(例如:其他人操纵交易),以及大量的比特币用户的监视和分析。由于比特币的信任模式,这些可以忽略不计,然而对于SPV节点,这些有重要的隐私保护以及降低节点的审核阻力。
加密节点传输,使得分析以及特殊用户的目标变得更加困难。这样使得网络提供商或者任何其他的中间人确定比特币用户和他控制的地址、密钥(连接他的Google数据等等)变得毫无价值。创建和广播交易将会泄漏数量和收款人给网络供应商。
因为协议被认为是公开的,所以过去用于节点比特币节点之间的通信协议是不加密的。然而,运行了钱包瘦客户端的用户希望有这个安全选项,安全的使用它们自己的私有节点。
会议注解
JonasSchnelli已经更新了BIP151,现在看起来准备实现了。这个改变除了提高隐私外,也能降低P2P协议的CPU开销。
会议结论
草案BIP151已经发表在BIP仓库,Jonas编写实现代码。
压缩区块广播协议背景
带宽是在P2P网络中广播区块的主要的瓶颈。除非能够降低这个瓶颈,越来越大的区块会损害比特币的去中心化特点。
从历史上看,比特币的P2P协议的没有很好的区块广播的带宽效率。广播时区块的每笔交易都包含进来,即使在广播前区块中的大量的交易已经包含在节点中。当节点接收区块时,这会引起下载带宽峰值,但当节点在接收区块时,会导致显著的上传带宽峰值。当发生这样的峰值时,缓存膨胀使得消费级网络连接暂时不可用,延迟广播节点到远程的节点,这些远程节点选择等待代替降低从其他不拥堵的节点请求相同的块。
因此对于运行中的节点降低在区块广播中的带宽是有用的。
虽然这项工作的目标不是降低区块传输延迟,但他附带着降低了区块传输延迟。此外,这项工作为今后的低延迟块传输的工作奠定了基础。
会议注解
很多人要求审查内存池的相互作用(特别是使用引用计数代替复制)
会议结论
继续审核BIP152草案和core实现#8068。
Schnorr签名和集成背景
当前的比特币需要给交易中的每一笔输出和多重签名的各方打签名。Schnorr签名允许把这些结合成一个单一的签名,然后检查整个交易,可以减少验证时间和数据大小。
会议注解
Pieter讲解了关于Schnorr签名和签名集成的想法。
会议结论
大概预期是在接下来的12个月做出Schnorr签名的BIP。
新的网络库背景
Bitcoincore的网络代码很小,且不灵活,或者不容易提升。Cory正在重写。
会议注解
CoryFields提供了新的网络库的工作概述。
会议结论
这可以用来移除代码中的对于boost的依赖了。
Merkelized抽象语法树背景
BIP114,MerkelizedAbstract Syntax Tree (MAST),增强了比特币脚本语言,有利于隔离见证脚本的版本控制。它提高了某些交易的效率和隐私。BIP114同时启用了很多在比特币早期版本禁用的操作码。MAST脚本使得少量的数据被公开,增强了隐私,且使交易变小了,因此节省了空间。
会议注解
MAST的提议很好,与当前的P2WCH体系十分类似。当你花费币时,你需要提供脚本、merkle分支、位置。用ECDSA校验计算root,以及和公钥进行比较。它建立一棵叶子是脚本的树。你会说,这是让我执行的脚本,这是证明它是可信的merkle分支。
会议结论
MAST依赖隔离见证的激活。
参加者Adam Back
Bryan Bishop
Johnathan Corgan
Suhas Daftuar
Luke Dashjr
Tadge Dryja
Marco Falke
Cory Fields
Mark Friedenbach
Wladimir van der Laan
Johnson Lau
Eric Lombrozo
Gregory Maxwell
Jonas Nick
Gregory Sanders
Jonas Schnelli
Jorge Timón
Peter Todd
Pieter Wuille
免责声明 这份总结是在没有和参加讨论的参与者讨论后汇总的,总结中可能存在错误,而不是讨论参与者。
英文原版:Non-IRC meeting summary for 2016-05-20
https://bitcoincore.org/en/meetings/2016/05/20/翻译:龙少