We have some exciting news today! The value of the knowledge base has already begun to grow. Jeremy Lim (@jeremylqe) submitted the first article on the Lunyr platform about Ethereum. See below for the content. As we move through the Lunyr Private Alpha stage, the knowledge base is expected to grow increasingly valuable over time and continue doing so past the Open Beta (Interstellar Release) stage.

After reading the first article submitted on Lunyr, if you learned something new and interesting or if you can see yourself proofreading or adding information for rewards, then please join the community and invite your friends to the Lunyr Private Alpha! We hope to see everyone in the Lunyr community soon. Let’s create the future of knowledge sharing together.

Users interested in joining the Private Alpha can signup here. Invited testers will receive an email with further instructions.

First article submitted on Lunyr by Jeremy Lim (@jeremylqe) :

Ethereum

Ethereum is an open source[1], global, distributed computing platform, with the design goal of building “Unstoppable Applications[2]”. These decentralized applications are executed within a Turing-complete[3] virtual machine, Ethereum Virtual Machine (EVM), which features smart contract[4] functionality.

Within this distributed network, a cryptocurrency token called “Ether (ETH)” can be transferred between accounts, and used to compensate any nodes that perform network computations. “Gas”, an internal pricing mechanism used within the Ethereum network, allocates scarce network resources, and safeguards against spam attacks.

History

Origin

Vitalik Buterin[5], a programmer involved with Bitcoin, felt that Bitcoin needed a scripting language[6] to facilitate the creation of general purpose applications. In late 2013, he proposed the creation of a new platform that supports a general scripting language, after failing to gain support from the Bitcoin community[7]. In early 2014, a Swiss company, Ethereum Switzerland GmbH (EthSuisse) was incorporated, which formalized the development of the Ethereum project.

Funding

Ethereum is a community funded project, and development of the Ethereum Project was funded by an online public crowdsale, which lasted from July 22, 2014 to September 2, 2014. Within the first two weeks, over 50 million[8] ETH tokens were sold in exchange for 25,000 BTC[9] (17.300.000 USD).

Key Milestones

A Swiss non-profit foundation, the Ethereum Foundation[10] (Stiftung Ethereum) was established to support the Ethereum platform. Prior to the official launch of the public Frontier network, several prototypes were developed by the Foundation, culminating in the public, beta pre-release known as “Olympic”. The Ethereum platform went live on July 30, 2015, with the release of the Frontier Network[11].

The first protocol upgrade to the Ethereum Network, Homestead Milestone[12], went live on March 14, 2016. This version of Ethereum is considered stable. Future protocol upgrades, such as Metropolis and Serenity Milestones, are being developed.

Hard Forks

In 2016, The DAO[13], a decentralized autonomous organization[14] was created to fund projects launched on the Ethereum platform, in a decentralized manner. After raising a record US$ 150 million in a crowdsale, The DAO smart contract was exploited[15], and US$ 50 milion in Ether was claimed by an anonymous entity. The Ethereum network underwent a “hard fork” to reappropriate the stolen funds, igniting a contentious debate regarding the immutable properties of the Ethereum blockchain[16].

Ethereum, continued on the forked blockchain, while Ethereum Classic[17] continued on the original blockchain. This hard fork activated by the Ethereum Foundation created a fierce rivalry between the two networks[18]. In late 2016, Ethereum underwent two more hard forks, in response to distributed denial-of-service[19] attacks by hackers on the network. These two forks did not result in the creation of new blockchain networks.

Architecture

Ether

Ether is the utility token of the Ethereum blockchain, commonly referred to as, “ETH”. It is used to compensate any public nodes for transaction fees, and computational services performed on the network. Fees for transferring tokens between accounts, and execution of smart contracts, are paid in Ether (calculated in gas).

The initial supply of Ether tokens is 72 million Ether[20]. 60 million Ether was distributed proportionally to contributors of the public crowdsale, in 2014. 12 million Ether, or 20% of the initial crowdsale supply[21], was distributed to early contributors, developers, and the Ethereum Foundation. Issuance of Ether is capped at 25% of the initial supply, or 18 million Ether, per year. The supply of Ether is projected to experience a decreasing rate of inflation on a year-on-year basis, with an algorithm that predicts a gradual decline to 1.59% inflation by 2065[22].

Gas

“Gas” is an internal pricing mechanism used within the Ethereum network[23]. It measures the amount of “work” needed to perform a certain action, or a set of actions. Any operation that can be performed by a transaction, or executed within a smart contract, has a fixed gas cost. This fixed gas cost is directly related to the complexity of computation performed.

The price of one unit of gas is decided by the user, based upon the urgency of the transaction. One GWei is 10–9 Ether. High gas prices will incentivize miners to preferentially add this transaction to the network. The network gas price varies between 5 to 21 GWei[24]. Total fees paid by the user, is the product of the gas cost, which depends on computational complexity, and the gas price, in GWei (or 10–9 ETH).

Proof-of-Work

Ethereum network uses a proof of work (PoW) algorithm called Ethash[25], to secure the distributed network, and propagate blocks in the blockchain[26]. This incentive-driven security model of PoW, dictates that the process of finding the next block requires enumeration of all possibilities, while the verification of a solution is trivial and cheap. Any node participating in the network can mine Ether to generate revenue, and secure the network by verifying computations. Consensus is achieved by choosing the block that contains the highest total difficulty, which can be independently verified by any other node[27].

By manipulating the difficulty threshold within the Ethereum network, it is possible to control the time taken to find a new block. A protocol dynamically adjusts the difficulty threshold within the network, to ensure that on average, a block in generated every 15 seconds (or 15 sec blocktime[28]).

In the Ethereum Serenity Milestone, proof-of-stake[29] (PoS) is likely to replace Ethash PoW.

Performance

All transactions and smart contracts are stored publicly on every node within the Ethereum network, allowing for independent verification of blockchain data. Since every node calculates and verifies smart contracts in real time, the network capacity is capped at 25 transaction per second[30] (TPS). This is sub-optimal network performance, when compared to Visa network which operates at 45,000 TPS[31], and Facebook which handles an estimated 175,000 requests per second[32].

Smart contracts

A smart contract[33] refers to any computer program that executes the terms of its preprogrammed contract, which are a set of commitments, defined in the form of programmable electronic data. This deterministic exchange mechanism facilitates transfer of value between untrusted agents[34], circumventing censorship[35] and minimizing counter-party risk[36]. Decentralization, immutability and transparency of the blockchain, provides smart contracts with a reliable execution environment. Smart contracts are used as carriers to record state changes of data, on the Ethereum network. Instructions stored within Ethereum smart contracts are paid for in Ether, with the gas cost dependent upon the complexity of computation.

Virtual Machine

The Ethereum Virtual Machine[37] (EVM) is a sandboxed[38], runtime environment for smart contract execution in Ethereum. With EVM, every node in the Ethereum network executes the same instructions, maintaining consensus across the distributed blockchain database. EVM is Turing-complete[39], allowing it to execute code of arbitrary algorithmic complexity[40]. As a result, Ethereum is a programmable blockchain, allowing users to create operations of varying complexity within a peer-to-peer network[41]. In a broad sense, Ethereum can be described as a “world computer”.[42]

Programming Language

Smart contracts can be modelled, and implemented using a variety of Turing-complete scripting languages, such as Solidity[43], Serpent (similar to Python[44]), LLL (a low-level Lisp-like[45] language) and Mutan (Go[46] based). These high-level programs are compiled down to EVM bytecode and deployed to the Ethereum blockchain, for execution. EVM has been implemented in C++[47], Go, Haskell[48], Java[49], JavaScript[50], Python, Ruby[51] and Rust[52].

Future Features

Metropolis

Metropolis Milestone is intended to reduce the complexity of the EVM, and provide additional flexibility for smart contract developers.

Serenity

Serenity Milestone is focused around a fundamental shift from PoW hardware mining, to PoS[53] virtual mining, under the Casper[54] consensus algorithm. This milestone will offer developers advanced flexibility in smart contract execution, allowing smart contracts to be more autonomous, through the use of UTXO[55] tree token management[56].

zk-SNARKs

zk-SNARKs[57] (Zero-knowledge Succinct Non-interactive Argument of Knowledge), or “zero-knowledge proofs”, provides an avenue to efficiently perform secret arbitrary computations, that is verifiable by any third party. This method for anonymous transaction of value will be available with the release of Metropolis Milestone[58].

Sharding

Sharding[59] is a scaling solution that allows a small subset of nodes to validate a specific portion (or shard) of the blockchain, instead of processing every transaction, and smart contract execution[60]. Blockchain sharding will theoretically decrease block times, and drastically increase the throughput[61] of the Ethereum network beyond 25 TPS. Since validators are a prerequisite for sharding, the Metropolis hard fork and Casper PoS algorithm must precede the deployment of sharding solutions. Despite intensive research that is being conducted on sharding solutions, there is no timeline for its release on the Ethereum network[62].

Research

Viper, is an experimental, strongly-typed[63], Python-derived language that is being developed to replace Serpent[64].

Raiden Network[65] is an off-chain scaling solution that enables near-instant, low-fee and scalable payments on the Ethereum blockchain. Micropayments, peer-to-peer cash and instant token swaps will be enabled through state-channel[66] technology, implemented by Raiden. There is no official timeline for the release of Raiden on the Ethereum network[67].

Plasma[68] is a scaling solution that creates “child” blockchains to the main “parent” Ethereum blockchain[69], authored by Vitalik Buterin and Joseph Poon[70], author of Bitcoin Lightning Network[71]. With Plasma, decentralized applications are executed on its own blockchain, and it is theorized that a billion computations can be performed every second.

Ecosytem

Decentralized applications

• Knowledge base: Lunyr[72]

• Digital gold pegged to gold: Digix[73]

• Platform for prediction markets: Augur[74], Gnosis[75]

• Digital advertising industry: Basic Attention Token[76]

• Asset management platform: Iconomi[77], Melonport[78]

• Secure identity systems: Civic[79], uPort[80]

• Online gambling: Etheroll[81], DAO.Casino[82]

• Mobile browser: Status[83]

• Cryptocurrency debit card: TenX[84], Monaco[85], TokenCard[86]

• Distributed VC platform: Cofound.it[87]

• Cloud storage: Storj[88]

• Cloud computing: Golem[89], iEx.ec[90]

• Mobile payment service: Everex[91], OmiseGo[92]

• Invoice Finance: Populous[93]

• Healthcare: Patientory[94]

• Virtual Private Networks: Mysterium[95]

• Blockchain-based funds: TaaS[96], Blockchain Capital[97]

• Arbitrage and market maker: Rialto.AI[98]

• Market sentiment provider: Santiment[99]

Enterprise Ethereum Alliance

In March 2017, the Enterprise Ethereum Alliance[100] (EEA) was announced with 30 founding members, which included Accenture[101], British Petroleum[102], Credit Suisse[103], Intel[104], JP Morgan Chase[105], Microsoft[106], Thomson Reuters[107], Banco Santander[108] and UBS[109]. By July 2017, there were more than 150 enterprise members, making EEA the world’s largest, open-source blockchain initiative[110]. Notable members that were added include Lunyr[111], BNY Mellon[112], Cisco Systems[113], Deloitte[114], DTCC[115], ING[116], Mastercard[117], National Bank of Canada[118], Samsung SDS[119], Scotiabank[120], and Toyota Research Institute[121].

EEA is a non-profit organization that connects Fortune 500 enterprises, startups, academics and technology vendors with Ethereum subject matter experts. The purpose of the EEA is to facilitate the establishment of an open-source reference standard, and private, “permissioned” version of the Ethereum blockchain. In order to define enterprise-grade software that is capable of handling high demand, complex applications, performance and privacy improvements are the focus of the Enterprise Ethereum’s roadmap.

Permissioned Ledgers

Ethereum is being tested by enterprise software companies for various applications, including use as a permissioned blockchain[122]. A few members within EEA have indicated interest, in researching on hybrid architectures that anchor private, permissioned blockchains to the public Ethereum blockchain[123].

Quorum

JP Morgan Chase is developing a blockchain on top of Ethereum, dubbed “Quorum”. The design goal of Quorum is to balance the needs of regulators who require seamless access to financial records, while keep the identity and transaction details of clients private, away from the general public[124].

Project Ubin

Monetary Authority of Singapore[125] (MAS) introduced a distributed ledger trial, with the goal of tokenizing the Singapore Dollar[126] (SGD). MAS partnered a group of Singapore banks, professional services firm Deloitte, and distributed ledger consortium, R3, to conduct distributed ledger testing on a private Ethereum blockchain and Quorum (JP Morgan Chase). A working interbank prototype was built on a private Ethereum network, and successful end-to-end integration with the MEPS+[127] (Real Time Gross Settlement for local currency interbank transfers) test environment was achieved[128].

Emerald

Royal Bank of Scotland[129] (RBS) built a Clearing and Settlement Mechanism (CSM), dubbed “Emerald”, based on the distributed ledger and smart contract design of the Ethereum platform[130]. RBS Emerald is a proof-of-concept platform that aims to increase transaction speeds, minimize settlement risk, and lower cost of cross-border remittance[131].

Coco Framework

Microsoft built an enterprise blockchain consortium framework[132], dubbed “Coco”. The Coco framework sits on top of existing blockchain platforms such as Ethereum, and leverages existing trusted execution environments[133] (TEEs) such Intel SGX[134], and Windows Virtual Secure Mode[135]. In order to achieve adoption within financial services, retail and supply chain, Coco framework focuses on improving network throughput and reducing latency, provision of confidentiality models, network governance and support for non-deterministic transactions[136].

References:

1. https://opensource.com/resources/what-open-source

2. https://www.ethereum.org

3. https://cs.stackexchange.com/questions/71473/what-does-being-turing-complete-mean

4. http://www.blockchaintechnologies.com/blockchain-smart-contracts

5. https://medium.com/@VitalikButerin

6. https://www.tcl.tk/doc/scripting.html

7. https://web.archive.org/web/20140302035654/http://blog.ethereum.org/2014/01/23/ethereum-now-going-public/

8. https://blog.ethereum.org/2014/08/08/ether-sale-a-statistical-overview/

9. https://bitcoin.org/bitcoin.pdf

10. https://www.ethereum.org/foundation

11. https://www.etherchain.org/account/0x5abfec25f74cd88437631a7731906932776356f9

12. http://ethdocs.org/en/latest/introduction/the-homestead-release.html

13. https://www.wired.com/2016/06/biggest-crowdfunding-project-ever-dao-mess/

14. https://www.coindesk.com/information/what-is-a-dao-ethereum/

15. https://www.nytimes.com/2016/06/18/business/dealbook/hacker-may-have-removed-more-than-50-million-from-experimental-cybercurrency-project.html

16. https://ethereumclassic.github.io

17. https://spectrum.ieee.org/tech-talk/computing/networks/hacked-blockchain-fund-the-dao-chooses-a-hard-fork-to-redistribute-funds

18. https://www.coindesk.com/ethereum-classic-explained-blockchain/

19. https://www.incapsula.com/ddos/denial-of-service.html

20. https://coinmarketcap.com/historical/20150823/

21. https://www.ethereum.org/ether

22. https://docs.google.com/spreadsheets/d/150B9eytmjZ642tYD0jSdFZQHldmk7VG5Wm3KVctydpY/pubhtml

23. https://ethereum.stackexchange.com/questions/3/what-is-meant-by-the-term-gas

24. http://ethgasstation.info

25. https://github.com/ethereum/wiki/wiki/Ethash

26. https://blockgeeks.com/guides/what-is-blockchain-technology/

27. http://www.ethdocs.org/en/latest/mining.html#what-is-mining

28. https://etherscan.io/chart/blocktime

29. http://www.ethdocs.org/en/latest/mining.html#pos-vs-pow

30. http://www.ibtimes.co.uk/how-are-banks-actually-going-use-blockchains-smart-contracts-1539789

31. https://www.coindesk.com/information/will-ethereum-scale/

32. https://medium.com/@FEhrsam/scaling-ethereum-to-billions-of-users-f37d9f487db1

33. https://blockgeeks.com/guides/smart-contracts/

34. http://www.econmodel.com/classic/terms/agent.htm

35. http://gilc.org/speech/osistudy/censorship/

36. http://www.investopedia.com/terms/c/counterpartyrisk.asp

37. http://gavwood.com/paper.pdf

38. https://stackoverflow.com/questions/2126174/what-is-sandboxing

39. https://cs.stackexchange.com/questions/71473/what-does-being-turing-complete-mean

40. https://www.cs.cmu.edu/~adamchik/15-121/lectures/Algorithmic%20Complexity/complexity.html

41. https://www.computerworld.com/article/2588287/networking/peer-to-peer-network.html

42. https://svds.com/ethereum-the-rise-of-the-world-computer/

43. https://solidity.readthedocs.io/en/develop/

44. https://www.python.org

45. http://lisp-lang.org

46. https://golang.org

47. http://www.cplusplus.com/doc/tutorial/

48. https://www.haskell.org

49. http://introcs.cs.princeton.edu/java/10elements/

50. https://www.javascript.com

51. https://www.ruby-lang.org

52. https://www.rust-lang.org/en-US/

53. https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ

54. https://blog.ethereum.org/author/vlad/

55. https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-buterin-2bb782c67e53

56. https://www.ethnews.com/ethereums-road-map-for-2017

57. https://blog.ethereum.org/2016/12/05/zksnarks-in-a-nutshell/

58. https://www.ethnews.com/ethereums-road-map-for-2017

59. https://github.com/ethereum/wiki/wiki/Sharding-FAQ

60. https://themerkle.com/what-is-sharding/

61. https://themerkle.com/ethereum-developers-are-building-a-sharding-solution-using-python/

62. https://stackoverflow.com/questions/24246446/throughput-and-bandwidth-difference

63. https://themerkle.com/what-is-ethereums-viper-coding-language/

64. https://stackoverflow.com/questions/2690544/what-is-the-difference-between-a-strongly-typed-language-and-a-statically-typed

65. https://raiden.network

66. http://www.jeffcoleman.ca/state-channels/

67. https://hackernoon.com/raiden-network-developer-preview-dad83ec3fc23

68. https://www.coindesk.com/ethereum-lightning-buterin-poon-unveil-plasma-scaling-plan/

69. http://plasma.io/plasma.pdf

70. https://www.coindesk.com/striking-twice-lightnings-joseph-poon-takes-on-ethereum-exchange-project/

71. https://lightning.network

72. https://lunyr.com

73. https://digix.global

74. https://augur.net

75. https://gnosis.pm

76. https://basicattentiontoken.org

77. https://www.iconomi.net

78. https://melonport.com

79. https://www.civic.com

80. https://www.uport.me

81. https://etheroll.com

82. https://dao.casino

83. https://status.im

84. https://www.tenx.tech

85. https://mona.co

86. https://tokencard.io

87. https://cofound.it/en/

88. https://storj.io

89. https://golem.network

90. http://iex.ec

91. https://www.everex.io

92. https://omg.omise.co

93. http://populous.co

94. https://patientory.com

95. https://mysterium.network

96. https://taas.fund

97. http://blockchain.capital

98. https://www.rialto.ai

99. https://santiment.net

100. https://entethalliance.org

101. https://www.accenture.com/

102. http://www.bp.com

103. https://www.credit-suisse.com/sg/en.html

104. https://www.intel.com/content/www/us/en/homepage.html

105. https://www.jpmorgan.com/

106. https://www.microsoft.com/

107. https://www.thomsonreuters.com/en.html

108. https://www.santander.com/csgs/Satellite/CFWCSancomQP01/es_ES/Corporativo.html?leng=en_GB

109. https://www.ubs.com/

110. https://entethalliance.org/enterprise-ethereum-alliance-becomes-worlds-largest-open-source-blockchain-initiative/

111. https://medium.com/lunyr/lunyr-joins-the-enterprise-ethereum-alliance-f333513b192f

112. https://www.bnymellon.com/

113. https://www.cisco.com/

114. https://www2.deloitte.com/

115. http://www.dtcc.com

116. https://www.ing.com/web/show

117. https://www.mastercard.us/en-us.html

118. https://www.nbc.ca/en/personal.html

119. https://www.samsungsds.com/global/en/index.html

120. http://www.scotiabank.com/gls/en/index.html#about

121. http://www.tri.global

122. https://monax.io/explainers/permissioned_blockchains/

123. https://www.nytimes.com/2017/02/27/business/dealbook/ethereum-alliance-business-banking-security.html

124. http://fortune.com/2016/10/04/jp-morgan-chase-blockchain-ethereum-quorum/

125. http://www.mas.gov.sg

126. http://www.mas.gov.sg/~/media/ProjectUbin/Project%20Ubin%20%20SGD%20on%20Distributed%20Ledger.pdf

127. http://www.mas.gov.sg/singapore-financial-centre/payment-and-settlement-systems/clearing-and-settlement-systems/meps.aspx

128. http://www.opengovasia.com/articles/7845-mas-introduced-sgd-on-ledger-concept-for-blockchain-based-interbank-payment-system-poc

129. https://www.rbs.com

130. https://emerald-platform.gitlab.io/static/emeraldTechnicalPaper.pdf

131. http://www.ibtimes.co.uk/rbs-builds-ethereum-based-distributed-clearing-house-1589897

132. https://azure.microsoft.com/en-us/blog/announcing-microsoft-s-coco-framework-for-enterprise-blockchain-networks/

133. https://www.globalplatform.org/mediaguidetee.asp

134. https://software.intel.com/en-us/sgx

135. https://blogs.technet.microsoft.com/ash/2016/03/02/windows-10-device-guard-and-credential-guard-demystified/

136. https://www.infoq.com/news/2017/08/Coco-Blockchain

See also: