IRC meeting summary for 2015-10-29

Overview

Logs

Main topics

  • Upcoming softfork
  • Chain limits
  • Clang format
  • BIP68 and BIP112 implementations

Short topics/notes

The LevelDB topic was started but deferred till after the meeting as there are currently no plans to move to another database. However research and testing is encouraged. mcelrath volunteered to make a LMDB branch, jgarzik already has a sqlite branch.

Upcoming softfork

background

CheckLockTimeVerify (CLTV) aka “how you thought nLockTime worked before you actually tried to use it” is a softfork scheduled for release at the end of October (ends up being early November).

meeting comments

Check to see if there’s anything that needs to be included in this release that’s not already in. Luke-jr has a Pull-request open to add bugfixes.
Check to see if there’s any coordination for the softfork in regards to other clients. btcd is ready for it, bitcoinj historically hasn’t implemented any softforks.

meeting conclusion

Release with only CLTV as softfork.

Chain limits

background

Chain in this context means connected transactions. When you send a transaction that depends on another transaction that has yet to be confirmed we talk about a chain of transactions. Miners ideally take the whole chain into account instead of just every single transaction (although that’s not widely implemented afaik). So while a single transaction might not have a sufficient fee, a depending transaction could have a high enough fee to make it worthwhile to mine both. This is commonly known as child-pays-for-parent.
Since you can make these chains very big it’s possible to clog up the mempool this way.
With the recent maleability attacks, anyone who made transactions going multiple layers deep would’ve already encountered huge problems doing this (beautifully explained in let’s talk bitcoin #258 from 13:50 onwards)
Proposal and github link.

meeting comments

25 as limit is still very high and could be lower.
Discussion on which statistics and measurements would be useful and relevant to this proposal.

meeting conclusion

Morcos will do some extra measurements to back up the proposal.

Clang format

background

Just like libconsensus this is something to tidy up the code, but more about the style and format of the code itself. Quoting part of a github comment by gmaxwell:
“Stylistic consistency has actual benefits; it aids newcomers in their contributions because it is easier for them to make sure their work is okay on styleistic grounds; though this may be offset by having to install some particular version of clang-format before they can get started. It eases review because the uniformity creates better expectations; but reformating makes looking at the history harder, which harms review. Good style choices (as opposed to merely consistent) have, at times, been shown to lower defect rates in software– but there is not a universal opinion on what choices are good.”

meeting comments

Proposal a while ago was to clang-format file set <a b c …> Once done, maintain those files’ formatting with automation.
Opinions diverge pretty hard. From let’s not change anything for existing files to let’s change the entire bitcoin repository.
Some behavior changes from one Clang version to another, which would require everyone to use the same version of clang format, which is burdensome.

meeting conclusion

No conclusion.

BIP68 and BIP112 implementations**

background

In short: BIP 68 changes the meaning of the sequence number field to a relative locktime. BIP 112 makes that field accessible to the bitcoin scripting system.

meeting comments

Concerns about the fact that the LockTime function skips non-existing inputs.
For review purposes btcdrak combined both pull-requests ( https://github.com/bitcoin/bitcoin/compare/master…btcdrak:sequenceandcsv )

meeting conclusion

Both implementations should stay separate pull-requests.
No use in deploying BIP 112 before BIP 68.

Participants

gmaxwell        Gregory Maxwell  
dcousens        Daniel Cousens  
sipa            Pieter Wuille  
jgarzik         Jeff Garzik  
morcos          Alex Morcos  
Luke-Jr         Luke Dashjr  
wumpus          Wladimir J. van der Laan  
mcelrath        Bob McElrath   
jtimon          Jorge Timón   
jonasshnelli    Jonas Schnelli  
btcdrak         btcdrak  
petertodd       Peter Todd  
dstadulis       Daniel Stadulis   
dgenr8          Tom Harding   
jeremyrubin     Jeremy Rubin  
warren          Warren Togami  
rusty           Rusty Russell  
sdaftuar        Suhas Daftuar

Credits

This summary was originally compiled by Stefan Gilis aka “G1lius” and posted to the bitcoin-discuss mailing list with the disclaimer, “Please bear in mind I’m not a developer so some things might be incorrect or plain wrong.” and placed copyright in the Public Domain.