IRC meeting summary for 2016-04-14
- Segwit and backports
- C++11 status
- Status of 0.12.1: RC2 has been released. Meanwhile there has been a 0.12.1 RC block mined last week. Normally we wait a week after the RC release before labeling it as final, but many like to release it sooner. 0.12.1 features BIP68, BIP112, BIP113 which will be deployed via the BIP9 softfork mechanism. (0.12.1 was released on 2016-04-15, the day after the meeting)
- There’s independent review in progress for the constant time AES library, talked about in the 2016-03-24 meeting, from one of Matthew Green’s graduates, hopefully available in a couple of weeks.
- Given the amount of new features planned for 0.13 and the timing of the meetup in Zürich the feature freeze and RC release cycle of 0.13 are pushed back a month. The revised schedule can be found here.
- BlueMatt has implemented efficient block relay; related to a design gmaxwell has been circulating for a long while. He has code up, and gets about a 96% reduction in block bandwidth. The protocol needs a few tweaks but once in, it should be able to send the vast majority of blocks in 0.5 round-trip times (plus whatever awful overhead TCP adds), the rest will need a 1.5 round-trip time. He’s also been working on on other things that go further, though that work is mainly relevant to miners. The first part should get into a pull-request soon.
Segwit and backports
several developers are working on a soft fork to introduce segregated witness onto Bitcoin mainnet, with initial testing being performed on a special testnet. Segregated witness (segwit) allows transaction signature data to be stored outside of the data hashed to produce transaction identifiers, removing all known forms of third-party malleability, allowing full nodes to compile the current UTXO set without downloading all signatures, and laying the groundwork for fraud proofs that can allow lightweight (SPV) clients to help enforce more of the consensus rules. The segwit soft fork also allows miners to substitute 1 byte of block space with 4 bytes of segwit data, increasing transaction capacity for wallets that use segwit.
Sipa reports the segwit branch is currently on top of 0.12.1 and is close to making the PR to bitcoin. Morcos proposes to making the PR’s very quickly to both master and 0.12 and have a combined effort to review them at roughly the same time. Btcdrak agrees and notes there’s already been a lot of help, testing and review from downstream consumers.
Gmaxwell notes btcd, an alternative bitcoin full node implementation written in Go, has implemented the consensus changes for segwit and is interoperating with segnet4.
Sipa will pull request soon.
C++11 is an update of the C++ language. It offers new functionalities, an extended standard library, etc.
Zerocash had to be written with some c++11 libraries and some IBLT simulation code was written in c++11, which they want to recycle for the eventual core commit.
The plan is to start using c++11 in 0.13.
The travis team has enabled caching, but only for flagged projects since it’s in a testing phase, so cfields has mailed to request the flag. He’s also been hacking on C++11 on his personal branch and says it’s clear there’s a need for a policy on what modernizations we’ll allow. People seem to revolve around the idea of starting with new C++11 code only, then boost-replacement, then refactors.
Wumpus has made a PR #7165 a while ago, which enables C++11 build and requires a C++11 compiler, this way we’ll get user reports.
Turn on C++11 in a week. New things can use it, but refactors can wait for 0.14.
|wumpus||Wladimir van der Laan|
This summary was compiled without input from any of the participants in the discussion, so any errors are the fault of the summary author and not the discussion participants.