3 Comments
User's avatar
KurtOverley's avatar

Fascinating that all the other blockchains are stuck using Napster-era file sharing network tech that cannot hope to scale.

Robin Smith's avatar

The challenge is that Multicast does not work across the Internet. The IX's and ISP's do not want it for good business reasons. I'm not saying there is no business case. I am saying it has yet to be made. This means a historically radical change of relationship with them. To the extent this new biz is worth more than the old, because it is the old which will be impacted by it. Until then, Bitcoin cannot scale. And this seemingly small problem is bigger than all others Bitcoin has faced put together, and then some. We can help. You have to call though.

Lightweb's avatar
2dEdited

I started to put together an implementation of a sharding proxy. It receives BSV transactions in a socket and efficiently passes them out to deterministically sharded multicast groups on a configurable interface.

I believe I have the top bit-level sharding implemented correctly, with customization possible. I am unclear about the best way to approach the subtree, or other specialization via the transaction format.

Also, I have been contemplating the idea of sequence numbering and re-transmission. I have found the NORM implementation for Negative-Acknowledgement handling, but it seems possibly over-engineered for this particular application. There is also the inherent risk of DOS via the re-transmission mechanism that I haven't been able to wrap my head around yet. Even the NORM implementation acknowledges this.

Go code here: https://github.com/jefflightweb/bitcoin-shard-proxy

I think a global multicast deployment is doable with some creativity in the deployment and topology, especially during the bootstrap phase. I do wonder about incentive structures that could fuel the roll-out via third-party participation, rather than a centralized approach.