title: but what about blockchain apps? date: 2018-01-15 tags: technology

blockchain developers

global synchronization on a blockchain creates a huge amount of unnecessary overhead. in many ways blockchains (

BTC

,

ETH

, &c.) and

DHT

networks (

BitTorrent

,

IPFS

,

Dat

, &c.) all have a very antiquated mindset. they have a decentralized architecture, but they are still operating in terms of a shared global data structure.

Secure Scuttlebutt

has some

design challenges

that address this issue directly.

the primary value i see in blockchains right now is payments. honestly the scaling challenges that they are forced to face because of the shared global state they depend on have me inclined to believe that they aren't really suited for use as the basis for general purpose applications. i mean, most blockchains struggle to keep up with just processing payments. there isn't a single blockchain on the planet that can keep up with the tx processing speed of traditional banking systems.

cryptocurrency* in an inspiring concept, but current-gen tech isn't really up to the task. this is the main reason why i'm not in a hurry to launch something: the "killer app" for decent systems is still very much a research problem imo. it is particularly sobering when you look at the [practical outcomes][practical-outcomes] of these types of systems.

BTC

and

ETH

really aren't that distributed. [BitTorrent|BitTorrent] perhaps a bit more, but you are still dependent on the global internet and a relatively small number of trackers and indexes.

i don't think blockchains are a good substrate for mesh applications. even a

blockchain-linked runtime

is tethered to the problematic parts of relying on a global distributed data structure.

Secure Scuttlebutt

is a peer-to-peer protocol designed to avoid global singletons. blockchains and

DHT

s are distributed systems, but they are still designed around a single, global, distributed data structure. this is a problem for a mesh because you cannot rely on access to the global internet for arbitrary names. the network needs to be aware of a constantly changing network topology. unfortunately, this is very inefficient in IP. throughputs

drops off rapidly

for relatively small swarms.

a mesh-oriented protocol does not require internet access to operate. with

Secure Scuttlebutt

(and

tracker

for that matter) i can join an internet-disconnected LAN or wireless mesh and still interact with my local peers. there aren't any blockchains that can operate under these conditions: you always need internet access to interact with peers.

i don't have a solution to this problem for financial applications, but most applications aren't fintech. i don't need a globally consistent data structure to share cat photos or special music with my friends, or to play a video game. i'm not even convinced that i need that for anything, but i can't prove it yet.