Verifiable timestamps and ordering of events
Hedera the only public distributed ledger that utilizes the fast, fair, and secure hashgraph consensus mechanism. Hedera’s governance is fully decentralized, consisting of up to 39 term-limited and highly diversified leading organizations and enterprises.
AFTER READING THIS, YOU'LL UNDERSTAND:
AFTER READING THIS, YOU'LL UNDERSTAND:
Hedera is a public distributed ledger and governing body built from the ground-up to support decentralized applications running at web scale. Developers use distributed ledger technologies to build computational trust directly into their applications. This allows individuals and businesses who might not know or trust each other to quickly and inexpensively collaborate, without the need for slow and expensive third-party intermediaries such as an auditor or broker. Public distributed ledgers allow for creating or exchanging value, proving identity, or verifying and authenticating important data.
Hedera is unique in that it achieves the same result as the most ubiquitous public blockchains (such as Bitcoin or Ethereum) but in a way that is fast, fair, energy efficient, and secure — these advantages are almost entirely due to the underlying hashgraph consensus algorithm.
Let’s unpack Hedera Hashgraph, and take a look at each component individually:
The Hedera public network is built on the hashgraph distributed consensus algorithm, invented by Dr. Leemon Baird, Hedera Co-Founder and Chief Scientist. The hashgraph consensus algorithm provides near-perfect efficiency in bandwidth usage and consequently can process hundreds of thousands of transactions per second (throttled to ten thousand tps in beta) in a single shard (a fully connected, peer-to-peer mesh of nodes in a network).
Unlike a traditional proof-of-work blockchain, which selects a single miner to choose the next block, the community of nodes running hashgraph come to an agreement on which transactions to add to the ledger as a collective. Through gossip-about-gossip and virtual voting, the hashgraph network comes to consensus on both the validity and the consensus timestamp of every transaction. If the transaction is valid and within the appropriate time, the ledger’s state will be updated to include the transaction with 100% certainty (finality).
In blockchain, consensus rules require that blocks eventually settle in a single, longest chain, agreed upon by the community. If two blocks are created at the same time, the network nodes will eventually choose one chain to continue and discard the other one, lest the blockchain “fork” into two different chains. It is like a growing tree that is constantly having all but one of its branches chopped off.
In hashgraph, every container of transactions is incorporated into the ledger — none are discarded — so it is more efficient than blockchains. All the branches continue to exist forever, and are woven together into a single whole. Furthermore, blockchain fails if the new containers arrive too quickly, because new branches sprout faster than they can be pruned. That is why blockchain needs proof-of-work or some other mechanism to artificially slow down the growth. In hashgraph, nothing is thrown away.
The hashgraph consensus algorithm has been validated as asynchronous Byzantine Fault Tolerant (ABFT) by a math proof checked by computer using the Coq system. This proves the claims stated in the hashgraph tech report that hashgraph is ABFT — mathematically the highest possible level of security for distributed systems. Both the algorithm and Hedera's implementation will enter a state of “open review” during the first half of 2020; the source code will be made available for anyone to read, recompile, and verify that it is correct.
Hedera enables developers to build their decentralized applications on the network utilizing four main services: cryptocurrency, smart contract, file and consensus, through the easy-to-use API and officially supported / community-supported SDKs.
The Hedera’s cryptocurrency service offers a way for developers to implement any of the Hedera cryptocurrency service components into their decentralized application. This includes creating account IDs, querying for information about those accounts, and transferring HBAR cryptocurrency on the Hedera network.
Transacting with Hedera’s native cryptocurrency, HBAR, is fast and resource efficient — offering . These efficiencies ensure the cost of a cryptocurrency transaction can remain stable and low, currently priced at $0.0001 USD, allowing microtransactions (<$0.01) to be economically and technologically practical on Hedera.
A single HBAR cryptocurrency transfer includes a 100 byte memo field. Some application developers are taking advantage of the fast transactions, near real-time finality, and fair ordering of Hedera’s cryptocurrency service by bundling application metadata into the memo field of a 0 balance cryptocurrency transfer. In doing so, they’ve created a high-throughput, low latency decentralized audit log for things like track-and-trace supply chain, decentralized messaging queues, and more. This is an acceptable implementation before the Hedera Consensus Service (found below) becomes available in 2020.
Developers can use the Hedera cryptocurrency service to:
Here’s an example code snippet using the Java SDK for checking the balance of an account; visit the Hedera Cryptocurrency API documentation to get started.
//Check balance for the new account
var balance = client.getAccountBalance(receiptAccountId);
System.out.println("initial balance = " + balance);
The Hedera public ledger can run smart contracts written in Solidity. Large libraries of publicly available and reusable Solidity smart contracts exists, and they can be run unchanged on the Hedera mainnet and testnet. Smart contracts allow for distributed applications to be easily built on top of Hedera or migrated from other public or private networks which run Solidity contracts, such as Ethereum.
Using the Hedera smart contract service, developers can:
Here’s an example code snippet using the Java SDK for calling a smart contract; visit the Hedera documentation on smart contracts to get started.
//Creates and submits the query
var contractCallResult = new ContractCallQuery(client).setGas(30000)
var message = contractCallResult.getString();
System.out.println("contract message: " + message);
The Hedera file system allows users to store information, with byzantine agreement on exactly what is stored and what is not stored. The stored information can only be deleted by those that were given permission when the file was instantiated. In this way, the file system can act as a revocation service. For example, in the future, a user might be issued a driver’s license from a government affiliated license issuer, and both the user and the license issuer digitally sign the transaction that puts a hash of it into the ledger. Both have the right to remove the hash of the license. The user can choose to prove to someone that they have a valid license, by giving that person a copy of the license file, so the person can check whether the hash is still stored in the ledger.
If the issuer revokes the license, it would also delete the hash, to show the world that the license is no longer valid. If the user tries to store the hash again, without a signature from the issuer, it will be evident that the hash was stored only by the user without the issuer’s cooperation, and would not be considered valid evidence of the user’s right to drive.
A file can be accessed by its hash, so people can rely on the fact that it is immutable. But it also has a File ID. Its owner can create a new file, and make the File ID to be associated with the new file instead of the old one. In this way, it is possible for users to always find the latest version of a file. They just access the File ID instead of the hash. Files are both securely immutable and securely non-immutable, at the same time. If a file is accessed by its hash, then it never changes. If it is accessed by its File ID, then the latest version is found.
Using the Hedera File Service, developers can:
Here’s an example code snippet using the Java SDK for querying a file; visit the Hedera documentation on File Service to get started.
// Get file contents
var contents = new FileContentsQuery(client)
System.out.println("File content query results: " + contents.getFileContents().getContents().toStringUtf8())
The Hedera Consensus Service will be made available in the first half of 2020, and offer an alternative architecture for building decentralized applications.
The consensus service will give distributed applications direct access to the native speed, security, and fair ordering guarantees of the hashgraph consensus algorithm, with the full trust of the Hedera ledger. Clients submit messages to Hedera for time-stamping and ordering within specific topics. These ordered messages will flow out to mirror nodes or clients of mirror nodes for processing in the consensus order.
A more thorough explanation of the Hedera consensus can be found within these resources:
Hedera is governed by the Hedera Governing Council: An expert council consisting of 39 leading global enterprises and organizations, distributed across up to 18 different industries and spanning a wide range of geographies. The Governing Council makes key decisions over software upgrades, network pricing, treasury management, and more. Governing Council members are term-limited and do not receive any profits from Hedera.
The Hedera Governing Council is structured to best fulfill the desire for a decentralized, wise, stable governance in the long-term interests of the platform. All governing council members have all taken partial ownership of Hedera Hashgraph LLC, by signing the agreement. This LLC agreement has been made available, in its entirety, at https://www.hedera.com/council/. Minutes from every Governing Council meeting will be provided to the public no later than thirty days after they're accepted by a majority of the members.
The first eleven Hedera Governing Council Members include: Boeing, Deutsche Telekom, DLA Piper, FIS, IBM, Magalu, Nomura, Tata Communications, Swirlds, and Swisscom Blockchain.
Hedera won’t be governed by unknown groups of miners and developers, and this enterprise-led structure greatly reduces the risk of ideological or personal disputes that have affected the governance of other public DLT platforms. In the spirit of fostering a strong community and developer-driven roadmap, developers can submit input and feedback through Hedera improvement proposals (HIPs), which are reviewed by Hedera core engineering and product teams. Hedera’s technology and governance make it scalable and well-suited to become the first public DLT platform to achieve mainstream adoption.
For the Hedera network to be secure it must provide utility to the world. So, how does having a useful ledger make you more secure? As the number of applications, assets, and transactions grows, it becomes an integral piece of digital infrastructure, on which the world relies. Providing network utility ensures the networks’ protection by making it even more difficult and expensive to centralize ownership of the native cryptocurrency, preventing the consolidation of voting power for network transactions.
Applications which utilize Hedera’s network services is a critical aspect of Hedera’s utility. Anyone from a single developer, to a startup, to an Enterprise Fortune 500 company can build and run Hedera-powered applications on the mainnet.
Applications deployed on the Hedera mainnet and application development on the testnet are primary health indicators for network utility. At open access, Hedera has thousands of developers building applications on the testnet and over 33 applications live on the Hedera mainnet, pushing hundreds of thousands of transactions per day. There are tens of thousands of members across 36 countries in Hedera meetup groups and thousands of active developers in discord, all supporting a decentralized future on Hedera.
Hedera is a proof-of-stake public distributed ledger which aims to use a combination of a “path to permissionless” (network nodes) and a “path to widespread coin distribution” (HBAR cryptocurrency) to keep the network secure, while working to achieve full decentralization. Let's focus on permissionless nodes and coin distribution, and the role they play in securely achieving and maintaining decentralization.
Distributed ledgers are categorized as “private” or “public” and “permissioned” or “permissionless” — they can be any combination of any of the two. Starting at open access of the Hedera mainnet, will be public and permissioned. To achieve full decentralization of the technology, Hedera believes it must transition to becoming a public permissionless network.
Private / Permissioned: This type of network offers no decentralization. The applications deployed in production, and the network nodes running those application, must be invited to join the network and meet certain criteria or provide a form of identification. Any party can also be removed without warning at any time.
Private / Permissionless: Requires that applications deployed in production be invited to join the network and can be removed without warning at any time. The nodes which constitute the network and run said applications can freely and anonymously join and contribute, typically in exchange for a network’s native cryptocurrency.
Public / Permissioned: Allows applications to be deployed in production or removed, without having to notify anyone, reveal their identity, or meet any application criteria requirements. The nodes which constitute the network and run said applications must be invited to join the network.
Public / Permissionless: This type of network is the most decentralized. Applications can be deployed in production or removed, without having to notify anyone, reveal their identity, or meet any application criteria requirements. Additionally, the nodes which constitute the network can freely and anonymously join and contribute, typically in exchange for a network’s native cryptocurrency.
Hedera is starting off at open access in the upper left quadrant, as a public permissioned network — the nodes which constitute the network will be operated by Hedera Governing Council members, which have been invited to join as network operators. As performance, security, stability, and incentives of the Hedera network mature, Hedera will open node operation to more entities and individuals, relaxing permissions.
The Hedera network will become public and fully permissionless — any individual or organization can run a node anonymously and earn HBAR cryptocurrency for assisting with network operation. This is the path Hedera will take, ensuring security at every point along the path, to fully realize its mission of becoming the most decentralized public permissionless ledger in the market.