Once again my attempt to summarize and explain the weekly bitcoin developer meeting in layman's terms.
Link to last summarisation DisclaimerPlease bear in mind I'm not a developer so some things might be incorrect or plain wrong.
There are no decisions being made in these meetings, but since a fair amount of devs are present it's a good representation.
Copyright: Public domain
## Logs-
link to this week logs -
Meeting minutes by meetbot ## Main topics - Versionbits
- Status of segregated witness
- Status of 0.12 bitcoin-core release
- Consensus code encapsulation (libconsensus)
- Locktime PRs
## VersionbitsbackgroundBIP 9 Currently softforks have been done by the isSuperMajority mechanism, meaning when 95% of the last 1000 blocks have a version number higher than X the fork is deployed.
A new way of doing this is currently being worked on and that uses all bits of the version number, appropriately being called versionbits.
So instead of a fork happening when the version is larger than (for example) 00000000011 (3), a fork happens when (for example) the 3rd bit is up (so 00100000011).
This way softforks can be deployed simultaneous and independent of each other.
meeting commentsMorcos is volunteering to take over championing this proposal as CodeShark and Rusty are busy on other things. He'll review both implementations and then decide on which implementation he'll base his work upon.
He notes that if non-core implementations are trying to do something else (and are using nVersion for their signaling) while segregated witness is being deployed, not conflicting will be important so users of other versions can also support segregated witness.
If there's an agreement with this approach it's necessary that versionbits is ready before the segregated witness deployment.
jtimon has some suggestions to make the implementation less complicated and more flexible.
meeting conclusionMorcos will champion the new reference implementation for
BIP9: Versionbits.
## Status of segregated witnessbackgroundSegregated witness changes the structure of transactions so that the signatures can be separated from the rest of the transactions.
This allows for bandwidth savings for relay, pruning of old signatures, softforking all future script changes by introducing script versions and solves all unintentional forms of malleability.
During the last scaling bitcoin conference Pieter Wuille presented a way of doing this via a softfork, and proposed increasing the maximum amount of transactions in a block by discounting signature data towards the total blocksize.
Segregated witness is part of the
capacity increase roadmap for bitcoin-core.
More detailed explanations:
-
By Pieter Wuille at the San Francisco bitcoin developer meetup (more technical)
-
By Andreas Antonopoulos in the let's talk bitcoin podcast (less technical)
meeting commentsSegnet, the testnet for segregated transactions, will be going to it's 3rd version soon.
Luke-Jr has assigned all the segregated witness BIPs to a 14x range. Currently there are 4 BIPs:
141,
142,
143 and
144.
## Status of 0.12 bitcoin-core releasebackgroundBitcoin Core 0.12 is scheduled for release around February and introduces a lot of fixes and improvements. (
release notes)
There's a release candidate 0.12rc1 available at
https://bitcoin.org/bin/bitcoin-core-0.12.0/test/meeting commentsLuke-Jr feels PR's
#7149,
#7339 and
#7340 should have been in 0.12, but are now really late and possibly impractical to get in.
For gitian builders: 0.12rc1's osx sig attach descriptor fails due to a missing package (that's not actually needed). Rather than using the in-tree descriptor, use the one from
#7342. This is fixed for rc2.
"fundrawtransaction" and "setban" should be added to the release notes. At some point it makes more sense to document these commands elsewhere and link to it in the release notes, as they've become very lengthy.
Wumpus thinks the release notes have too much details, they're not meant to be a substitute for documentation.
meeting conclusionClose PR
#7142 as it's now part of
#7148 Everyone is free to improve on the release notes, just submit a PR.
## consensus code encapsulation (libconsensus)backgroundSatoshi wasn't the best programmer out there, which leaves a pretty messy code. Ideally you'd have the part of the code that influences the network consensus separate, but in bitcoin it's all intertwined.
Libconsensus is what eventually should become this part. This way people can more easily make changes in the non-consensus part without fear of causing a network fork.
This however is a slow and dangerous project of moving lots of code around.
meeting commentsjtimon has 4 libconsensus related PRs open, namely
#7091 #7287 #7311 and
#7310 He thinks any "big picture branch" will be highly unreadable without merging something like #7310 first.
The longest "big picture branch" he currently has is
https://github.com/jtimon/bitcoin/commits/libconsensus-f2 He'll document the plan and "big picture" in stages:
1. have something to call libconsensus: expose verifyScript. (Done)
2. put the rest of the consensus critical code, excluding storage in the same building package (see #7091)
3. discuss a complete C API for libconsensus
4. separate it into a sub-repository
Wumpus notes he'd like to start with 3 as soon as possible as an API would be good to guide this.
meeting conclusionreview
#7091 #7287 #7311 and
#7310 ## Locktime PRsbackgroundBIP 68 Consensus-enforced transaction replacement signaled via sequence numbers.
BIP 112 CHECKSEQUENCEVERIFY.
BIP 113 Median time-past as endpoint for lock-time calculations.
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. BIP 113 enables the usage of GetMedianTimePast (the median of the previous 11 blocks) from the prior block in lock-time transactions.
meeting commentsWe need to make a choice between 2 implementations, namely
#6312 and
#7184.
PR #7184 is a result of the CreateNewBlock optimisations not being compatible with #6312.
jtimon thinks it could be merged relatively soon as #7184 is based on #6312 which has plenty of testing and review.
meeting conclusionClose
#6312 in favor of
#7184.
Morcos will fix the open nits on #7184
btcdrak will update the BIP-text
## Participants wumpus Wladimir J. van der Laan
btcdrak btcdrak
morcos Alex Morcos
jtimon Jorge Timón
Luke-Jr Luke Dashjr
MarcoFalke Marco Falke
jonasshnelli Jonas Schnelli
cfields Cory Fields
sipa Pieter Wuille
kanzure Bryan Bishop
droark Douglas Roark
sdaftuar Suhas Daftuar
Diablo-D3 Patrick McFarland
## Comic relief 19:54 wumpus #meetingstop
19:54 wumpus #stopmeeting
19:54 btcdrak haha
19:54 MarcoFalke #closemeeting
19:54 wumpus #endmeeting
19:54 lightningbot` Meeting ended Thu Jan 14 19:54:26 2016 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)