Harmony- Open Consensus for 10 Billion People

in #harmonyprotocol5 years ago

What is Harmony?

Harmony is an open, decentralized market. The Harmony protocol was created to build an open-market place on the Google-scale for decentralized economy. The goal of the project is to provide a consensus protocol throughOpen Internet with 10 million transactions per second and a latency of 0.1s, 0.1% fee compared to the transaction value. Harmony will help speed up and accommodate up to 1000 times, expanding the market to around 10 billion people and 100 billion devices

Harmony Seed Funded raised $18 million from an array of investors that includes Hong Kong’s Lemniscap VC, Australia’s BCA Fund, Singapore’s UniValues Associates and Silicon Valley’s Consensus Capital, among others

Consensus Mechanism

       The consensus protocol is a key component of any blockchain. It determines how securely andquickly blockchain validators reach consensus on the next block. The first blockchain consensusprotocol which powers Bitcoin is Proof-of-Work (PoW) consensus. PoW is a process where by miners race to find the solution to a cryptographic puzzle—the winner gets the right to propose the next block and earns some token rewards. PoW’s security assumption is that more than 50% ofthe hashing power is controlled by honest nodes. With such an assumption, the rule for consensusis that the longest chain will be the canonical one, and thus PoW consensus is also calledchain-based consensus. Another type of consensus protocol, one which has been researched for more than two decadesin academia, is called PBFT (Practical Byzantine Fault Tolerance) . In PBFT, one node is electedas the “leader,” while the rest of the nodes are “validators.” Each round of PBFT consensus

The machines that support the blockchain network by validating transactions and reaching consensus.

       involves two major phases: the prepare phase and the commit phase. In the prepare phase, the leader broadcasts its proposal to all of the validators, who in turn broadcast their votes on the proposal to everyone else. The reason for the rebroadcasting to all validators is that the votes of each validator need to be counted by all other validators. The prepare phase finishes when more than 2f + 1 consistent votes are seen, where f is the number of malicious validators, and the total number of validators plus the leader is 3f + 1 . The commit phase involves a similar vote counting process, and consensus is reached when 2f+1 consistent votes are seen. Due to the rebroadcasting of votes among validators, PBFT has O(N ) communication complexity, which is not scalable for a blockchain system with hundreds or thousands of nodes.

       As an improvement on PBFT , Harmony’s consensus protocol is linearly scalable in terms of communication complexity, and thus we call it Fast Byzantine Fault Tolerance (FBFT). In FBFT, instead of asking all validators to broadcast their votes, the leader runs a multi-signature signing process to collect the validators’ votes in a O(1)-sized multi-signature and then broadcast it. So instead of receiving O(N) signatures, each validator receives only one multi-signature, thus reducing the communication complexity from O(N2 ) to  O(N)

       The idea of using O(1)-sized multi-signature is inspired by ByzCoin’s BFT  which uses the Schnorr signature scheme for constant-sized multi-signature aggregation and forms a multicast tree among validators to facilitate the message delivery. However, a Schnorr multi-signature requires a secret commitment round, which leads to a total of two round-trips for a single multi-signature. Harmony improves upon that by using BLS (Boneh–Lynn–Shacham) multi-signature , which only requires one round-trip. Therefore, FBFT is at least 50% faster than ByzCoin’s BFT. Besides, Harmony adopts RaptorQ fountain code to speed up the block broadcasting process (discussed in §6.2). The fountain code broadcasting technique also avoids a security issue in ByzCoin’s original tree-based multicasting design 

Specifically, Harmony’s FBFT consensus involves the following steps:

  1. The leader constructs the new block and broadcasts the block header to all validators. Meanwhile, the leader broadcasts the content of the block with erasure coding (details discussed in §6.2). This is called the “announce” phase. 
  2. The validators check the validity of the block header, sign the block header with a BLSsignature, and send the signature back to the leader.
  3. The leader waits for at least 2f + 1 valid signatures from validators (including the leader itself) and aggregates them into a BLS multi-signature. Then the leader broadcasts the aggregated multi-signature along with a bitmap indicating which validators have signed. Together with Step 2, this concludes the “prepare” phase of PBFT.
  4. The validators check that the multi-signature has at least 2f + 1 signers, verify the transactions in the block content broadcasted from the leader in Step 1, sign the received message from Step 3, and send it back to the leader.
  5. The leader waits for at least 2f + 1 valid signatures (can be different signers from Step 3) from Step 4, aggregates them together into a BLS multi-signature, and creates a bitmap logging all the signers. Finally, the leader commits the new block with all the multi-signatures and bitmaps attached, and broadcasts the new block for all validators to commit. Together with Step 4, this concludes the “commit” phase of PBFT.

 The validators of Harmony’s consensus are elected based on Proof-of-Stake. Therefore, the actual protocol differs slightly from the one described above in a sense that a validator with more voting shares has more votes than others, rather than one-signature-one-vote. So instead of waiting for at least 2f + 1 signatures from validators, the leader waits for signatures from the validators who collectively possess at least 2f + 1 voting shares. The details of the proof-of-stake election mechanism will be discussed in §3.3.

What is the application of Harmony?

+ Speed up the transaction+ Expand the market How do Harmony speed up thousands of times and expand their transaction to tens of millions times?Harmony focuses mainly on three aspects: transport network, consensus protocol, and system tooling.+ For Transport Netwrok:

  • Network based on Google’s UDP (Google’s User Datagram Protocol), also known as QUIC (Quick UDP Internet Connections), accounts for 88% of Chrome Traffic, 35% of Google Traffic and 7% of Internet Traffic. QUIC improves the combination of different cases and achieves the latency of Zero Round-trip. Broadcasting without the round-trip latency makes synchronization stronger and resistant to change and instability.

Explain for QUIC: Quick UDP Internet Connections: The new protocol for the website is developed above UDP instead of TCP Now the website is being built on TCP because of its reliability of transmission protocol. To start a TCP connection, a 3-way handshake is shown. This means that rounds are added (network packets are sent to and back many times) and new connections are delayed. In addition, to use TLS on TCP, it requires more round trips (the network packet must be sent to and back several times) and thus the transmission speed will decrease.UDP (user datagram protocol), one message is sent as if it has reached its destination. However, something must be built on the UDP protocol to validate the packet forwarding for certainty. QUIC can initiate a connection and pass all parameters of the TLS class within 1 to 2 dependent network packets to see whether the connection server is a new or verified server. QUIC does not need to use TLS because it itself implements its own encryption layer.So the structure of one connection is: IP-UDP-QUIC-HTTP/2 APIThe structure with TCP is: IP-TCP-TLS-HTTP2TLS (transport layer security) -https is an update version of SSL (secure sockets layer) that is a global technology security standard creating a link between the web server and the browser.

  • Use a new technique for transaction propagation: Bloom Tables (used for creating reconciliation and coding), which allow communications between shards on a constant scale, rather than just a fraction of the total size.

+ System tooling: Remove the Bottlenecks in the protocol implementationUse Unikernel+ Consensus protocol: Use the OmniLedger Consensus ProtocolUse a new approach called monopoly fees: take advantage of game theory to put the charge in order not to be wasted

 Technological

+ Use Blockchain technology+ Harmony is a high-performance blockchain demands 10x innovations in the transport network, consensus protocol & system tools..+ Use the OmniLedger ledger with Practical Byzantine Fault Tolerance (PBFT). This mechanism has the advantage of high speed. Disadvantage is decentralized model/ should be allowed.+ Programming language: Min Language (github: min-lang)+ State of Research: 13,000 tx / sec @ 1,800 nodes

Deep sharding

Harmony touts incorporating many well-established technologies proven at major tech companies, but the central insight of the protocol is what the company calls “deep sharding.”Sharding is familiar to followers of proof-of-stake technology, most notably as an eventual path to ethereum scaling. However, Harmony puts every kind of calculation onto different shards, which is why it calls it “deep sharding.” It creates shards for everything a blockchain does.“It’s about doing all the things you need to do in a blockchain,” White said, rattling off examples like verifying, routing, communicating and storing, “and parallelizing each of that into subnetworks.”By optimizing for bandwidth, he said, Harmony is able to increase its throughput in a way that other blockchains have neglected. Another startup, BloXroute Labs, has made a similar argument.

my opinion

Harmony is a high-throughput blockchain, optimized from the networking layer up. We're implementing full & secure sharding, which is more comprehensive than transaction-sharding projects. This fast and secure blockchain is being developed by a 12-person team in Silicon Valley with 7 engineers from Google/Apple/Amazon and 2 PhDs 

they have achieved 118,000 TPS with around 44,000 nodes. To be honest, bringing forward the product from the testnet to the real world is the actual challenge; and Team Harmony definitely possesses the talent to implement their vision and the team is always open and answers every question of the telegram and Discord community

💡 RESOURCES 💡

Follow us on the following platforms for the latest news, development, and update:

💻Website: https://harmony.one/

🔦 Whitepaper: https://harmony.one/whitepaper

📡 LinkedIn: https://www.linkedin.com/company/harmony-protocol/

📱 Discord: https://harmony.one/discord

⌨️ Medium: https://medium.com/harmony-one

🐦 Twitter: https://twitter.com/harmonyprotocol

📸 Instagram: https://www.instagram.com/harmonyoneprotocol/

📟 Blockchain Explorer: https://explorer.harmony.one

🔌 Testnet Guide: http://harmony.one/nodes

📀 Github: https://github.com/harmony-one

📣  Latest newsletter: https://harmony.one/newsletter

🗣  Dive deeper on the forum: https://talk.harmony.one

Sort:  

You got a 0.55% upvote from @minnowvotes courtesy of @yudiasgar!

Congratulations @yudiasgar! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 10 upvotes. Your next target is to reach 50 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Vote for @Steemitboard as a witness to get one more award and increased upvotes!