<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div name="messageBodySection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;">
<div dir="auto">Hi all,<br />
<br />
We are making public our latest work on Erlay, an efficient transaction relay protocol for Bitcoin.
<div dir="auto">It is available here:&#160;<a href="https://arxiv.org/abs/1905.10518">https://arxiv.org/abs/1905.10518</a><br />
<br />
The main idea is that instead of announcing every transaction to every peer, announcements are only sent directly over a small number of connections (only 8 outgoing ones). Further relay is achieved by periodically running a set reconciliation protocol over every connection between the sets of withheld announcements in both directions.<br />
<br />
The set reconciliation protocol uses error correcting codes to communicate a set of transactions to a peer with an unknown but similar set using bandwidth only equal to the size of the difference and not the size of the sets themselves.<br />
<br />
Results: we save half of the bandwidth a node consumes, allow increasing connectivity almost for free, and, as a side effect, better withstand timing attacks.<br />
If outbound peer count were increased to 32, Erlay saves around 75% overall bandwidth compared to the current protocol.<br />
<br />
This work uses Minisketch, an efficient library for set reconciliation, which we made public before:&#160;<a href="http://github.com/sipa/minisketch">github.com/sipa/minisketch</a>.<br />
<br />
Some of you may already know about it from discussions with me, Scaling Bitcoin 18, or CoreDev in Tokyo. Our proposal has become more precise since then.<br />
<br />
The next step here is to receive more feedback, have a broader discussion, and then write a BIP along with improving reference implementation. We are looking forward to hearing your suggestions or concerns regarding this work.<br />
<br />
This protocol is a result of work by myself, Gregory Maxwell, Pieter Wuille, and my supervisors at UBC: Ivan Beschastnikh and Sasha Fedorova.<br />
I would like to thank Tim Ruffing and Ben Woosley for contributions to the write-up, and Blockstream for supporting my work on this protocol.<br /></div>
</div>
</div>
<div name="messageSignatureSection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;"><br />
<div dir="auto">– gleb</div>
</div>
</body>
</html>