Difference between revisions of "Ethereum"
m (→Constantinople release) |
m (→See also) |
||
(18 intermediate revisions by the same user not shown) | |||
Line 71: | Line 71: | ||
'''Rescheduled:''' The Constantinople fork was [https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/ rescheduled to block 7,280,000] which occurred at [https://amberdata.io/blocks/7280000 04:52 on Feb 28<sup>th</sup> 2019]. | '''Rescheduled:''' The Constantinople fork was [https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/ rescheduled to block 7,280,000] which occurred at [https://amberdata.io/blocks/7280000 04:52 on Feb 28<sup>th</sup> 2019]. | ||
− | == Installing geth == | + | == Installing and running geth == |
− | + | We run ''geth'' via the [[Docker]] container. You need to create a mount on the host for the ethereum data directory in ''/root/.ethereum'' in the container so that the chain data and config are stable across container runs. As of late 2019 the chain data requires about 150GB of storage. | |
<source lang="bash"> | <source lang="bash"> | ||
− | sudo | + | sudo mkdir {!/path/to/ethereum-data!} |
− | + | docker pull ethereum/client-go | |
− | + | docker run -v {!/path/to/ethereum-data!}:/root/.ethereum -d -p 30303:30303 ethereum/client-go | |
</source> | </source> | ||
− | |||
− | |||
− | + | To access ''geth'' within the container, use ''attach'' to open an interactive console or run a specific command: | |
<source lang="bash"> | <source lang="bash"> | ||
− | + | docker exec -it CONTAINER_ID geth attach --exec "eth.blockNumber" | |
− | + | docker exec -it CONTAINER_ID geth attach | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
Line 162: | Line 146: | ||
*[https://medium.com/@tjayrush/downloading-the-dao-a004258c9b5f#.dl3vbjf3z About EthSlurp] ''- a tool for downloading data about the Ethereum blockchain'' | *[https://medium.com/@tjayrush/downloading-the-dao-a004258c9b5f#.dl3vbjf3z About EthSlurp] ''- a tool for downloading data about the Ethereum blockchain'' | ||
*[https://medium.com/@shortsample/the-state-of-smart-contracts-6491faddeaa2 Good article on contract stats] | *[https://medium.com/@shortsample/the-state-of-smart-contracts-6491faddeaa2 Good article on contract stats] | ||
+ | *[https://beacon.etherscan.io/ Ethereum 2.0 Beacon chain explorer] | ||
− | == Decentralised exchanges == | + | == Decentralised exchanges and applications == |
*[https://etherdelta.github.io/#MKR-ETH EtherDelta] | *[https://etherdelta.github.io/#MKR-ETH EtherDelta] | ||
*[https://status.im/ Status.im] ''- a wallet supporting decentralised exchange'' | *[https://status.im/ Status.im] ''- a wallet supporting decentralised exchange'' | ||
*[https://www.0xproject.com/ 0x project] ''- an Ethereum-based decentralised exchange protocol'' | *[https://www.0xproject.com/ 0x project] ''- an Ethereum-based decentralised exchange protocol'' | ||
+ | *[https://tornado.cash/ Tornado.Cash] ''- decentralised Ethereum mixer service'' | ||
== Related Ethereum projects == | == Related Ethereum projects == | ||
Line 197: | Line 183: | ||
== Ethereum news == | == Ethereum news == | ||
+ | *2021-02-10: [https://cointelegraph.com/news/ethereum-hits-a-new-all-time-high-as-cme-futures-go-live-why-is-eth-price-rallying CME's Ethereum futures go live] | ||
+ | *2020-06-03: [https://www.forbes.com/sites/jasonbrett/2020/06/03/federal-endorses-ethereum-backed-alternative-to-libor/ Federal Reserve Endorses Ethereum-Backed Alternative To Libor] | ||
+ | *2020-03-26: [https://cointelegraph.com/news/did-ethereum-silently-give-up-on-plasma Did Ethereum silently give up on Plasma] | ||
+ | *2020-02-17: [https://www.palkeo.com/en/projets/ethereum/bzx.html The bZx hack explained] | ||
+ | *2019-11-22: [https://vitalik.ca/general/2019/11/22/progress.html Vitalik on where we are in crypto after 5 years since Ethereum was started] | ||
+ | *2019-11-20: [https://medium.com/ethereum-cat-herders/istanbul-testnets-are-coming-53973bcea7df Instanbul Hard Fork set for block 9,069,000] ''- activation date on main-net not scheduled yet'' | ||
+ | *2019-11-12: [https://blog.ethereum.org/2019/11/12/Ethereum.org-Development-Update-1/ Introducing Ethereum Studio IDE] | ||
+ | *2019-09-19: [https://blog.ethereum.org/2019/09/19/eth2-interop-in-review/ Eth2 Interop in Review] ''- major Ethereum2 progress'' | ||
*2018-01-06: [https://qz.com/1163660/brazil-may-write-new-laws-based-on-data-stored-on-the-ethereum-blockchain/ Brazil may write new laws with data stored on the Ethereum blockchain] | *2018-01-06: [https://qz.com/1163660/brazil-may-write-new-laws-based-on-data-stored-on-the-ethereum-blockchain/ Brazil may write new laws with data stored on the Ethereum blockchain] | ||
*2017-10-12: [https://blog.ethereum.org/2017/10/12/byzantium-hf-announcement/ Byzantium HF in a few days] | *2017-10-12: [https://blog.ethereum.org/2017/10/12/byzantium-hf-announcement/ Byzantium HF in a few days] | ||
Line 259: | Line 253: | ||
*[https://ethereumclassic.github.io/assets/ETC_Declaration_of_Independence.pdf ETC's declaration of independence] | *[https://ethereumclassic.github.io/assets/ETC_Declaration_of_Independence.pdf ETC's declaration of independence] | ||
*[https://medium.com/@lopp/the-challenges-of-building-ethereum-infrastructure-87e443e47a4b The challenges of building an Ethereum infrastructure] | *[https://medium.com/@lopp/the-challenges-of-building-ethereum-infrastructure-87e443e47a4b The challenges of building an Ethereum infrastructure] | ||
+ | *[https://www.coindesk.com/safety-without-silos-why-businesses-will-learn-to-love-public-ethereum Safety Without Silos: Why Businesses Will Learn to Love Public Ethereum] | ||
+ | *[https://blog.ethereum.org/en/2023/11/15/beyond-borders-nb Good article on crypto in humanitarian crises] | ||
[[Category:Cryptocurrency]] | [[Category:Cryptocurrency]] |
Latest revision as of 18:29, 16 November 2023
Ethereum is a crypto-currency that has been under development since about 2013 and is lead by Vitalik Buterin. The Ethereum business is based in Crypto valley in Switzerland. Ethereum is not just another "alt coin" though, it really is the next generation of this paradigm, taking it out of the basic currency role by offering full-scale general purpose distributed application development and testing framework. Ethereum does still have an associated currency aspect called "Ether" (ETH) which performs the important role of "fuel" in the Ethereum network. Distributed applications in the Ethereum network require payments in the form of Ether to fuel every computational step and storage operation on the system.
Bitcoin and Litecoin are often thought of as the gold and silver of the crypto-currencies. To continue with that analogy, Ethereum could be considered as the "oil" of crypto-currency since it plays the role of fuel which can be used for any generic application. Another interesting and important aspect is that Ethereum could help to pave the way towards how a real-world resource-based economy might be implemented, which seems to be the only viable way to transcend the economic bottom-line problem.
Proof-of-stake will not change the Ethereum governance processes at all, and miners do not have a significant influence on the governance process today. Moreover, Vitalik does not have nearly the amount of power to influence governance outcomes lots of people assume that he does. The structure of the governance processes limit Vitalik's power, just as it limits everyone's power. | |
— Vlad Zamfir |
Contents
- 1 How Ethereum relates to the Organic Design vision
- 2 Ethereum related sites
- 3 Ether
- 4 Frontier release
- 5 Homestead release
- 6 Constantinople release
- 7 Installing and running geth
- 8 Useful geth commands
- 9 Ethereum Classic
- 10 Ethereum Documentation
- 11 Block explorers and stats
- 12 Decentralised exchanges and applications
- 13 Related Ethereum projects
- 14 Ethereum news
- 15 Ethereum links
- 16 See also
How Ethereum relates to the Organic Design vision
How can you even assess whether something has a stable value? it's not very useful for something to have a stable price with respect to current currencies since they themselves are devaluing (USD has lost 90% of it's value since the federal reserve act of 1913).
Ideally prices should reflect the true cost of their production, but under the current system such costs are externalised so that, for example, when we buy a cellphone for $50 there's actually another $1000 being subsidised by the poorer nations, so in many areas the true cost should be much higher.
But on the other hand there's also the fact that our current system thrives on inefficiency. We live under a system that pays people to turn a blind eye to allow disasters such as the BP gulf of Mexico oil spill and Fukoshima to occur because they boost the economy. Even our measurement for how well we're doing as a nation, GDP, looks better if we can waste, destroy or pillage more. If the system didn't have an economic bottom line it would be far more efficient, making costs in many areas lower.
So a properly designed system of money is really not possible without a proper design for society as a whole, but of course this cannot happen using the rules of the current system. Voting is not a solution, the best it can do is offer some control over how fast we destroy ourselves, but remember that whoever you vote for is a vote to keep the current system running.
That means we, the people, have to start building this new society ourselves, and while we don't know everything about the way it must work, we do know that it must be decentralised, transparent and accountable and should be a general framework on which groups, organisations and institutions of all kinds can operate.
And this is exactly what Ethereum is about. It takes the ideas behind Bitcoin and extends them to contracts in general, and then shows how one can build organisations from collections of contracts working together.
Ether
Ethereum has an associated currency aspect called "Ether" (ETH) which performs the important role of "fuel" in the Ethereum network. Distributed applications in the Ethereum network require payments in the form of Ether to fuel every computational step and storage operation on the system.
Bitcoin and Litecoin are often thought of as the gold and silver of the crypto-currencies. To continue with that analogy, Ethereum could be considered as the "oil" of crypto-currency since it plays the role of fuel which can be used for any generic application. Another interesting and important aspect is that Ethereum could help to pave the way towards how a real-world resource-based economy might be implemented, which seems to be the only viable way to transcend the economic bottom-line problem.
On 23 July 2014 the "Genesis Sale" began which will last for 42 days and allows Ether to be pre-purchased with Bitcoin in the form of a cold-storage wallet that can be converted to Ether after the network is established in late 2014 or early 2015.
Ether will be mined and probably use a hybrid proof-of-work/proof-of-stake system that should have a very quick block time of around 12 seconds and use Turing-completeness to make FPGA/ASIC hardware infeasible for mining. Ether will not be issued at more than 26% per annum of the initial genesis sale total.
- The Issuance Model in Ethereum - detail about the reasons for these parameters and their expected future evolution
- Article about Ether & Ethercoin
Frontier release
Frontier is the first in a series of releases that punctuate the roadmap for the development of Ethereum. Frontier will be followed by ‘Homestead’, ‘Metropolis’ and ‘Serenity’ throughout the coming year, each adding new features and improving the user friendliness and security of the platform.
Ethereum is special and different from other software projects in that its release also involves launching a live network. After a year and a half of development the Proof of Concept series completed 9 cycles. The 10th iteration resulted in the Olympic testnet, which gradually led to the Release Candidate client for Frontier.
The Ethereum network goes live when the clients consent on the genesis block and start mining transactions on it. The genesis block will reference an initial system state where all the accounts set up by the pre-sale exist with the correct amount of pre-issued ether allocated. Initially, the network will be in a "thawing" state allowing only blocks to be mined, but not transactions to be processed. This allows for users to have a break-in period to connect to the network while also building up its security.
In conjunction with the Frontier launch several exchanges will likely start enabling trade of Ether, which will provide necessary liquidity to the marketplace, allowing users and miners to transfer their holdings to other users requiring more or less Ether. As opposed to an earlier strategy, there is no plan to remove any contracts from the blockchain or otherwise alter the network to carry balances over to Homestead. In other words, the state in Homestead will be a direct and unmodified continuation of the state in Frontier.
Update: As discussed in their statement, the genesis block will not be available for download, but rather must be created by everyone who wishes to form the initial consensus of the network state. A script has been provided which can only be run after block 1028201 of the Ethereum testnet has been created (which should be about Thursday night). The script requires a hash of the block which we can calculate ourselves with web3.eth.getBlock(1028201).hash and it will also be posted on the Ethereum social media channels. This script can then create the genesis block when it has this hash passed to it in the --extradata parameter.
The release happened at about 15:20 UTC (July 30th 2015)! I was able to be part of the initial genesis block consensus, although I didn't obtain the hash of block 1028201 myself because I didn't have time to download the 77GB test-net blockchain, I used the hash provided on etherchain.org instead. I then ran the python script with the hash in the extradata parameter and a few minutes later my genesis block file was produced and I could run geth to submit my version of the genesis block to the network :-)
At the time of release they unveiled a new version of the main ethereum.org website, and a new introductory video which I've put at the top of this page.
See the Ethereum Launches blog post for more information.
The first Epoch switch was on 4th August 2015 (an epoch is 30,000 blocks, or about 100 hours) which means the so-called "thawing phase" being completed and so the gas-limit should soon start to rise up from 5000 to over 3 million which will mean that transactions will be able to start flowing in the network (a transaction requires about 21,000 gas) and the exchanges should start listing ETH in their markets! The gas limit has been on the move since the epoch change and is up to 6200 on the 6th.
Update: Transactions are flowing, gas limit is over 100K as of 03:00 UTC 7th. Poloniex exchange is the first to list ETH, but exchanges have been asked to delay deposits for 24hr in case the chain needs to be rolled back for any reason. Trading should begin at 03:50 UTC on August 8th if all is well.
Release concludes: Gas limit has reached the final value of "pi million" (3,141,592) on August 8th 2015 and trading began on a few exchanges. The price quickly found equilibrium at around $1.40 - not a bad start considering they were 23 cents in the pre-sale last year! The price will likely drop a fair bit now as the whales start dumping some of their holdings, but then it should steadily rise as the network starts to grow over the next few months.
Homestead release
It has been announced that the Homestead release will be on Pi Day (March 14th 2016). The ethereum.org website was updated for Homestead on March 7th and has downloads available for Mist, the Ethereum browser/wallet application. The Homestead release is all about making the project more accessible to ordinary people instead of just geeks, so Mist is a big step forward in achieving this!
Mist password bug
Mist installs easily on all platforms, and has a first-time set up procedure that allows users to import their presale wallet or set up a new account, and then transfer some value into the account from bitcoin if they wish. One problem which quite a few users seem to be having, including me, across all platforms is that Mist will not allow the presale wallet to be imported, saying that the password is incorrect. Many users, including me, have successfully imported the wallet into other Ethereum applications such as geth or the Kraken exchange, so we know that this is a bug in Mist rather than a simple case of having forgotten the password, so issue #182 has been raised about the problem.
Constantinople release
Constantinople was originally composed of two phases, Metropolis and Serenity, but has now been changed to a single hard-fork in its own right. There have been a couple of others since Frontier described above, there were a number of forks soon after Frontier designed to mitigate various attacks on the network, and then Byzantium in October 2017 which was one of the major planned upgrades. Constantinople is another such planned upgrade, or non-contentious hard-fork, which was originally supposed to include a hybrid PoW/PoS model, but now this fork does NOT introduce proof-of-stake which has been given an updated timeline.
Casper and Sharding are now two independent projects - either could be completed first. This unified approach will allow for a minimum staking requirement of 32ETH deposits, rather then 1000 or 1500 as was planned before. Casper will most likely be launched first, but we can’t rule out the possibility of Sharding getting done faster, but they don't rely on each other even though both are needed for a final PoS solution.
Cancelled: The Constantinople fork on block 7,080,000 has been cancelled due to security problems.
Rescheduled: The Constantinople fork was rescheduled to block 7,280,000 which occurred at 04:52 on Feb 28th 2019.
Installing and running geth
We run geth via the Docker container. You need to create a mount on the host for the ethereum data directory in /root/.ethereum in the container so that the chain data and config are stable across container runs. As of late 2019 the chain data requires about 150GB of storage.
sudo mkdir /path/to/ethereum-data
docker pull ethereum/client-go
docker run -v /path/to/ethereum-data:/root/.ethereum -d -p 30303:30303 ethereum/client-go
To access geth within the container, use attach to open an interactive console or run a specific command:
docker exec -it CONTAINER_ID geth attach --exec "eth.blockNumber"
docker exec -it CONTAINER_ID geth attach
Useful geth commands
You can then start mining with the specified number of threads, and then stop again at some point:
miner.start(4)
miner.stop()
Check the balance of an account denominated in Ether:
eth.getBalance(eth.accounts[0]).toNumber()/1e18
Show the details of the current block:
eth.getBlock("latest")
Calculate the average time to solve a block with your current hash-rate and the current difficulty:
etm = eth.getBlock("latest").difficulty/miner.hashrate;Math.floor(etm/3600.)+"h"+Math.floor((etm%3600)/60)+"m"+Math.floor(etm%60)+"s";
Unlock an account and send 1 ETH from it using default gas amount, password is not supplied, so will be prompted:
personal.unlockAccount(eth.accounts[0])
eth.sendTransaction({from: eth.accounts[0], to: "0x1234....abcd", value: web3.toWei(1, "ether")})
Ethereum Classic
After the DAO hack (see the news links below) the Ethereum community opted for a hard fork solution which resulted to the network splitting into two copies, the developers and community who supported the fork remains with the ETH currency, but the new (which is really the old) network has the symbol ETC for its version of the currency. ETC would probably have died being supported by only a few fanatics, but a major exchange supported it and then the traders gave new life to it, soon after many other exchanges started supporting it as well, and so now there are two Ethereum networks here to stay.
This means that everyone who had ETH now also has ETC, which you'll be able to see and trade if you had your ETH in an exchange. But if you had it in a private wallet, then the process of splitting the coins out is actually really difficult and messy. Fortunately ShapeShifter.io have set up a tool to help you with this at split.shapeshift.io.
Running geth on the classic chain
First set up a new directory for the classic data and then use the --datadir and --oppose-dao-fork options as discussed on the classic wiki here, e.g.
mkdir ~/classic_data
.../build/bin/geth --datadir ~/classic_data --oppose-dao-fork
Then wait for it to sync, and copy the keys across from the original datadir's keystore directory.
To attach a JavaScript console to the geth instance, you need to do the following syntax because the --datadir option doesn't work for attach:
.../build/bin/geth attach ipc:~/classic_data/geth.ipc
Ethereum Documentation
- Ethereum white paper
- Ethereum yellow paper
- Serpent Tutorial - guide to experimenting with smart contracts
- How to get started: your first dapp, under one hour
- Tutorial on how to structure your Ethereum contracts' storage by Ken Kappler
- Condition-oriented programming - a paradigm for writing safe secure contracts
Block explorers and stats
- EtherChain.org
- EtherScan.io
- EtherStats.net
- About EthSlurp - a tool for downloading data about the Ethereum blockchain
- Good article on contract stats
- Ethereum 2.0 Beacon chain explorer
Decentralised exchanges and applications
- EtherDelta
- Status.im - a wallet supporting decentralised exchange
- 0x project - an Ethereum-based decentralised exchange protocol
- Tornado.Cash - decentralised Ethereum mixer service
Related Ethereum projects
- State of the DApps - good up-to-date list of DApps and their current status
- Another good list of uses of Ethereum
- List of Ethereum projects on Ethereum forum
- Augur prediction markets - the first dapp to be released on Ethereum
- District0x - a decentralised network collective
- EthLance - decentralised freelancing platform (the first district0x project)
- The Estonian eID project
- Eris Industries and Decerver
- Open Document Monkey
- 2gather - youtube without servers
- Ether.Fund - providing tools and investments to grow the ethereum ecosystem
- The World Game
- Ideologi: The Universal Collaboration Engine
- BitCongress
- BitVote - see a demo video here
- Universal Basic Income
- IBM's internet-of-things based on the Ethereum blockchain
- The Swarm
- EtherEx - open-source non-profit decentralised exchange built on Ethereum
- BtcRelay - an automated bridge between the Bitcoin blockchain & Ethereum smart contracts
- EtherScrape - a smart contract analysis tool for the Ethereum blockchain
- Slock.It - rent, sell or share anything - without middlemen
- Maker DAO - stablecoin and decentralized cryptocurrency leveraging platform built on the Ethereum blockchain (wtf?!)
- Arcade City - a distributed version of Uber ride sharing
- What is a uPort identity?
- Introducing Status — Ethereum for Mobile
Ethereum news
- 2021-02-10: CME's Ethereum futures go live
- 2020-06-03: Federal Reserve Endorses Ethereum-Backed Alternative To Libor
- 2020-03-26: Did Ethereum silently give up on Plasma
- 2020-02-17: The bZx hack explained
- 2019-11-22: Vitalik on where we are in crypto after 5 years since Ethereum was started
- 2019-11-20: Instanbul Hard Fork set for block 9,069,000 - activation date on main-net not scheduled yet
- 2019-11-12: Introducing Ethereum Studio IDE
- 2019-09-19: Eth2 Interop in Review - major Ethereum2 progress
- 2018-01-06: Brazil may write new laws with data stored on the Ethereum blockchain
- 2017-10-12: Byzantium HF in a few days
- 2017-05-30: Ethereum could surpass bitcoin by 2018
- 2017-05-06: Innogy Charges New Electric Car Fleet Using Ethereum Blockchain
- 2017-04-18: Casper getting closer to realisation
- 2017-04-13: Ether price bullish, looks like $70-$90 by year end
- 2016-09-24: Santander Vies to Become First Bank to Issue Cash on Blockchain
- 2016-06-17: Ethereum Goxed :-(
- Nice clear overview of the whole drama
- This from the attacker?
- Good tech details about the attack
- Lessons learned - Eris Industries
- DAO wars - your choice on the way forward - soft fork code released
- The truth about the DAO fork
- 2016-02-12: Ethereum two year anniversary blog post
- 2015-12-04: Ethereum announce the launch of GUI wallet
- 2015-09-03: Stephan Tual leaving Eth/Dev
- 2015-07-30: Ethereum Launches - the first World Computer is switched on!
- 2015-07-27: Final Steps - the promised statement and instructions on how to be ready
- 2015-07-26: Official statement about Frontier release coming tomorrow!
- 2015-07-22: Frontier is coming – what to expect, and how to prepare - Stephen Tual discusses the impending Frontier release and what it means
- 2015-03-03: Vinay Gupta describes how the release process will work
- 2014-11-19: Vitalik Answers Counterparty’s Call
- 2014-11-19: Vitalik Buterin Beats Mark Zuckerberg For World Technology Award
- 2014-09-03: Ether pre-sale concluded, 60,102,216 ETH sold for 31,529 BTC which is about 15 million USD!
- 2014-08-30: Ether pre-sales over 30,000 BTC today!
- 2014-08-08: Vitalik gives a statistical overview of the sale after the first two weeks
- 2014-08-05: Ether pre-sales over 20,000 BTC today!
- 2014-08-02: Ether pre-sales reached 10,000 BTC today!
Ethereum links
- Home page
- Ethereum block explorer
- General discussion
- Ethereum Launches ‘Cryptocurrency 2.0’ Network
- Web 3.0 – A Chat With Ethereum’s Gavin Wood
- Interesting thread about economy with good links
- Ethereum Scalability and Decentralization Updates
- Understanding the Ethereum Trie
- Secret Sharing and Erasure Coding: A Guide for the Aspiring Dropbox Decentralizer
- Gavin Andreeson (main Bitcoin developer) on Ethereum
- Climbing Ethereum Trie
- Crypto renaissance - decentralised development and open source society
- Interesting discussion thread started by Sci-fi author
- Vitalik explains light-clients and proof-of-stake
- Installing Ethereum on the Raspberry Pi - see also Raspberry Pi
- Great take on DevCon1 2015
- How to build you own crypto currency without any code
- Another Ethereum token tutorial
- How to build a democracy system in under 100 lines of code
- Homestead documentation site started
- Great answer to what can Ethereum do that Bitcon can't?
- Plasma: Scalable Autonomous Smart Contracts - smart contract scaling into the billions per second
See also
- Wikipedia:Ethereum
- Bitcoin
- Money
- Peer-to-peer
- Big Q&A on redit covering all sorts of topics about Ethereum
- ETC's declaration of independence
- The challenges of building an Ethereum infrastructure
- Safety Without Silos: Why Businesses Will Learn to Love Public Ethereum
- Good article on crypto in humanitarian crises