tractor
tractor copied to clipboard
Discovery and concensus: research and discussion.
This is a draft issue that I hope gets filled out more and more by lurkers over time.
The road map has the following:
- custom cross-host supervisors
- mult-host service architecture tooling
- support for planet scale msg patterns and systems
But in order to do these things we need both a service discovery system (presumably by relying on a (set of) protocols) and, a modern concensus system which these days is usually in the form of either a centralized algo such as raft or, the thoroughly more pumped distributed equivalents.
Here are some resources to start poking at for research and tinkering:
-
RAFTpumps:- this cool slide show
- the quick links on github.io
- the paper
- the implementations list
-
zero-conf protocols:
- python-zeroconf, it's built on threads..
-
BFT variants:
- to be filled out by the crypto pump bois
As always, lurkers engage.
Crypto pump is here:
BFT options:
- Proof of Work: not appropriate to the use case and also highly inefficient
- Proof of Stake: more efficient but also has possible centralization issues
- Delegated Proof of Stake: even more efficient than PoS but with similar centralization issues (video 3:04)
I'm currently working in a startup developing decentralized applications on the DPoS blockchain Telos, Its a fork of the bigger EOS blockchain.
Some good things about it:
- Smart Contract language is C++ uses llvm backend
- Resource model is great CPU/NET is practically free as you just need to stake a bit of tokens, RAM is what you need for storing permanent information in the blockchain, but as with any token you are free to sell it at any point getting your money back or even making a profit.
Basically every time you need for example, voting or an escrow you can write your backend in a smart contract and interact with it from python.
The service discovery could be saved in a ledger inside a smart contract
thanks @guilledk, got any links on performance tradeoffs by chance?
No rush either.
Hashicorp has some great, single binary (so deployment is not a challenge) solutions to:
custom cross-host supervisors mult-host service architecture tooling
Hashicorp Nomad
we need both a service discovery system (presumably by relying on a (set of) protocols) and
Hashicorp Consul
a modern concensus system which these days is usually in the form of either a centralized algo such as raft
Hashicorp Consul also exposes their battle tested raft library https://github.com/hashicorp/raft
https://www.hashicorp.com/resources/everybody-talks-gossip-serf-memberlist-raft-swim-hashicorp-consul