Hacker News new | ask | show | jobs
by jaekwon 2983 days ago
> While many of the technologies I'd use already exist, rebuilding the web around blockchains and onion routing would require a revolution in user interface design to have a chance; otherwise it will be a playground for the technology elite

We've been working on proof-of-stake and blockchain scaling/interoperability infrastructure since 2014. It all starts with a classical BFT algorithm which provides simple light-client proofs and fork-accountability. Your mobile phone can verify transaction finality in 5 seconds, with no need for an hour of block confirmations as in Bitcoin proof-of-work mining.

  https://github.com/tendermint/tendermint <-- blockchain consensus engine
  https://github.com/cosmos/cosmos-sdk     <-- blockchain framework in Go
  https://github.com/keppel/lotion         <-- blockchain framework in JS
  https://github.com/cosmos/voyager        <-- blockchain explorer
  https://github.com/tendermint/go-amino   <-- blockchain codec derived from Proto3
  https://cosmos.network
  https://tendermint.com
The Cosmos Hub will launch very soon. Lets build stuff! Onion routing for Tendermint would be a great addition. And DNS/name-resolution on Tendermint can actually solve Zooko's triangle.

While we're at it, lets fork Go too. https://groups.google.com/forum/#!msg/e-lang/cQiXS_GnKS4/Zsk...

Disclaimer: I'm a cofounder of the Cosmos project, cofounder of Tendermint, and long-time HN lurker.

2 comments

It's generally considered good Hacker News etiquette to declare affiliations on your posts.
Thank you, does that look good?
Thank you :).
> And DNS/name-resolution on Tendermint can actually solve Zooko's triangle.

How?

Zooko's triangle: Human-meaningful, Secure, Decentralized.

Tendermint provides BFT security in the likes of Bitcoin proof-of-work, except without the mining. It allows for massively replicated public decentralized databases. (e.g. BFT as opposed to Raft's FT). The Tendermint algorithm guarantees that as long as less than 1/3 are malicious, the blockchain will continue to function very well. And if there ever is a double-spend attack, we can figure out who to blame (and it will necessarily be 1/3 of bonded stakeholders).

The human-readable part is relatively simple. You can easily program a name-resolution system using the Cosmos SDK. Using the KVStore implementation there, you can commit the value of a name in the Merkle tree, and get a Merkle proof all the way up to the block-hash. And the block-hash is signed by 2/3 of the validator-set by voting power.

There's more to it than that, but that's the gist of it. Now we can really, really securely know that a name resolves to a certain IP, and know that it would be extremely expensive to attack this system.

NameCoin almost solved it but you need something like this to keep persistent state and provide Merkle proofs: https://github.com/tendermint/iavl . You can with the simple Bitcoin UTXO Merkle tree, but then you can't provide fast updates or revocation easily.

p.s. anyone know why my parent post is getting downvoted? goes up and down, up and down ;)