2015-11-19 IRC 会议总结
概述
日志
主要主题
- 交易优先级
- 处理内存池驱逐
- 序列号
简短主题/笔记
按费用选择性替换 需要一些额外的测试,但其他方面看起来已经准备就绪。一些钱包开发者已经加入并积极参与,例如 GreenAddress。
交易优先级
背景
每个交易都被分配了一个优先级,由其年龄、大小和输入数量决定。这使得一些交易目前是免费的。
目前代码量很大,这使得维护变得更加困难,而且并不十分理想,因为你不能指望矿工会包含 0 费用的交易。
会议评论
如果我们不停止对交易创建中优先级的支持,我们还需要一个用于优先级的内存池区域,否则这些交易将始终被驱逐。
如果我们开发一个更好的框架来支持这些类型的指标,我们就可以将其添加回来。
计划是从钱包中移除优先级交易创建,而不是挖掘部分。
会议结论
应该从钱包中移除优先级交易的创建。
处理内存池驱逐
背景
当一个交易在网络中转发时,它会被节点保存在内存中,直到它进入一个区块。所有这些保存在内存中的交易被称为内存池或简称 mempool。
就像我们在垃圾邮件攻击期间看到的那样,如果存在大量无法进入区块链的交易积压,这个内存池会变得非常大,导致节点崩溃。
为了防止这种情况发生,开发人员创建了一种机制来拒绝和/或从内存池中移除交易。
会议评论
当前问题:当一个钱包交易被内存池拒绝时,钱包会将生成的交易视为“冲突”,并且会很乐意重新花费这些输入。
sipa 建议让钱包只在交易存在不存在的输入时才将其视为冲突。
然而,它应该在稍后的某个时间将其视为可重新花费的。
你可以添加一种方法来手动移除交易,或者将其标记为已移除,或者将其归档。
你还可以做一些单独的事情来标记交易为可重新花费的,因为移除会让人误以为该交易将来无法被挖出。
我们想要的选项是:一个“以更高费用重新花费”的选项和一个完全忘记交易的选项,我们只需要一个 0.12 的最小可行方案。
会议结论
鉴于 0.12 的截止日期很紧,我们检测的是实际的冲突,而不是内存池驱逐,并立即将硬币设为可重新花费的。
序列号**
背景
BIP 68 将一些未使用的 nSequence 字段重新用于相对锁定时间,这意味着锁定输入直到某个时间或区块高度过去。
会议评论
我们需要等到 BIP113 被部署为标准,这样 BIP 68、112 和 113 才能进行软分叉。
目前有一些项目已经使用序列号。
合并 BIP68 将使 BIP112 更容易审查,并且会停止始终需要 rebase。
如果我们觉得 68/112 已经过充分审查并且足够成熟,它们可以作为标准规则包含进来。
BIP 文本似乎没有反映代码中写的内容。
会议结论
检查 BIP68 以匹配 实现
参与者
sipa Pieter Wuille
gmaxwell Gregory Maxwell
morcos Alex Morcos
jtimon Jorge Timón
wumpus Wladimir J. van der Laan
btcdrak btcdrak
jgarzik Jeff Garzik
petertodd Peter Todd
Luke-Jr Luke Dashjr
BlueMatt Matt Corallo
jonasschnelli Jonas Schnelli
CodeShark Eric Lombrozo
sdaftuar Suhas Daftuar
gavinand1esen Gavin Andresen
致谢
这份摘要最初由 Stefan Gilis(又名“G1lius”)编制,并发布到 bitcoin-discuss 邮件列表,并附有免责声明:“请记住,我不是开发者,所以有些内容可能不正确或完全错误。”,并将版权置于公有领域。