IRC meeting summary for 2016-05-26

Overview


Main topics

  • Segwit priority

Notes / short topics

Segwit priority

background

Developers are working on a soft fork to introduce segregated witness onto Bitcoin mainnet. 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. segregated witness BIPs: BIP141, BIP142, BIP143, BIP144 and BIP145

meeting comments

Both the network stack refactoring as the libconsensus refactoring are long-term important, but conflict with code from segregated witness. Although the net refactors hurt compact blocks more than segwit, as the network changes for segwit are at a higher level than the network refactors.

Libconsensus refactoring worked well in 0.10 because there was a clear goal and a clear way to do it, whereas further efforts have mostly been one-person shows and it makes sense to agree on a plan if we want those changes to happen.

The feature freeze for 0.13 is on 2016-06-16 and compact blocks would be good to have in 0.13 to alleviate the extra replay latency. We could merge segwit with no softfork defined to just have the code in which makes testing on testnet easier and let’s further development happen on top so other work isn’t held up by segwit.

Since segwit has activated on testnet, segnet will be dropped.

meeting conclusion

  • Merge segwit as code only

BIP 151

background

The Bitcoin network does not encrypt communication between peers today. This opens up security issues and allows for mass surveillance / analysis of bitcoin users. For SPV nodes this can have significant privacy impacts and could reduce the censorship-resistance of a peer.

Encrypting peer traffic will make analysis and specific user targeting much more difficult than it currently is. Today it’s trivial for a network provider or any other men-in-the-middle to identify a Bitcoin user and its controlled addresses/keys as a newly broadcasted transactions will reveal the amount and the payee to the network provider.

This BIP also describes a way that data manipulation (blocking commands by an intercepting TCP/IP node) would be identifiable by the communicating peers.

Analyzing the type of p2p communication would still be possible because of the characteristics of the encrypted messages.

meeting comments

Petertodd got some feedback from cryptographers who where concerned about BIP 151 not being an off-the-shelf standard. BIP151 uses the openssh’s chacha20-poly1305 exactly, so it might need to be made more prominent in the BIP.

meeting conclusion

  • make it more clear in the BIP text BIP151 uses the chacha20-poly1305 standard.

Child-Pays-For-Parent

background

Suhas Daftuar has a pull request that helps miners create more profitable blocks by considering the combined fee rate of unconfirmed transactions plus their child transactions. This is useful not just or improving miner profitability but also for allowing users to effectively add fees to transactions that are already in miner memory pools by creating child transactions with high fee rates, which is commonly called Child Pays For Parent (CPFP).

meeting comments

The needed refactors for CreateNewBlock conflict with segwit, so it might miss 0.13. There hasn’t been much review / testing although everyone wants to have it in sooner than later, as this is a feature long talked about.

meeting conclusion

Comic relief

sipa       !beginmeeting
sipa       !meetingbegin
sipa       !meetingstart
sdaftuar   startmeeting i think?
sipa       !startmeeting
btcdrak    # startmeeting without the space
sipa       #startmeeting
lightningbot   Meeting started Thu May 26 19:06:07 2016 UTC. The chair is sipa. Information about MeetBot at http://wiki.debian.org/MeetBot.

Participants

IRC nick Name/Nym
Luke-jr Luke Dashjr
jonasschnelli Jonas Schnelli
petertodd Peter Todd
sipa Pieter Wuille
sdaftuar Suhas Daftuar
gmaxwell Gregory Maxwell
wumpus Wladimir van der Laan
kanzure Bryan Bishop
CodeShark Eric Lombrozo
instagibbs Gregory Sanders
cfields Cory Fields
jcorgan Johnathan Corgan
btcdrak BtcDrak
achow101 Andrew Chow

Disclaimer

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.