[Short general description]: Harmony builds an open marketplace at Google-scale for the decentralized economy. This project aims to provide a consensus protocol over the open Internet at 10 million transactions per second with 100-millisecond latency and at most 0.1% fee.
[Main contribution proposal]: Harmony aims to build the decentralized economy with 10x innovations in all components: transport network (Google’s UDP, Bloom tables, 5G mobile), consensus protocol (Byzantine committees, acyclic graphs, monopolist fees), and system tooling (unikernels, multi-core in Rust, zero-copy streaming). Harmony’s approach is to productionize research innovations to the scale that serves billions of people and devices.
[Main problems tackled]:
Optimization - After extensive research, Harmony concluded that OmniLedger is the most scalable permissionless protocol. Therefore OmniLedger is the basis of Harmony’s protocol. Principles of scaling include:
1) Representative sharding -O(1)-size multi-signatures for 10k nodes vs 16-node PBFT. Crypto sortition via randomness from multi-party computation and commit-then-reveal step.
2) Gradual transition - Sybil-resistant identities to maintain liveness when swapping shards. A sliding window from a fixed permutation to ensure ⅔ honest majority
3) Atomic shard-commit -Each shard uses O(log n) multicast tree-based BFT to unanimously accept cross-shard transactions with O(1)-size coordination
4) Parallelising blocks - Acyclic graphs to capture transaction dependencies transitively. Divide each shard into groups to replace faulty nodes with a view-change.
5) Pruning checkpoints - State blocks for storage and bootstrapping against Byzantine DoS. Multi-hop, collectively signed back pointers, 100x space savings.
6) Optimistic confirms - Trust but verify low-value transactions with shard deposits. Guarantee finality in ~1s with penalty linear to loss and detection in minutes.
1) Locations and AI - With tight integration of locations, Harmony will be well-suited to support applications for smart cities. For example, autonomous vehicles can fetch verified location data in upcoming trips. Or, imagine thousands of swarm robots, self-organizing around a common mission in an unknown terrain. Maps for geocoding and points of interest can be a showcase for decentralized applications in the real world.
Harmony will also serve as a high-volume data marketplace and optimize its machine learning performance. We follow Blockchain-based Machine Learning Marketplaces to build a new decentralized economy based on data.
2) Contracts and beyond - Harmony has designed a new programming language, Min (see min-lang.com), and built a prototype compiler to demonstrate its ease and the security. Min, a Harmony subproject, is a new language for programming software with security guarantees, leading to unhackable systems. In short, we devise static types with concise syntax as security specification, analyze decentralized protocols in formal models, and generate optimized code across networks.
Sharding contracts by - a) Define a useful subset of limited scripting b) Expose transaction dependencies during sharding, c) Annotate computational contracts with stateless verifiers.