Parity – Next Generation Ethereum Client, written in Rust
ethcore.io
ethcore.io
Can anyone recommend a mid-level description of Ethereum that is more detailed than Wikipedia but not as detailed as the yellow paper? In particular, I'd like to understand whether mining fees are paid for executing contracts or for solving hashes or for both; and how consensus works (i.e., how it is coordinated that, as Wikipedia says, "[e]very contract is run on every full Ethereum node simultaneously and the result is the consensus of the output").
So, a number of benefits on correctness angle before one even considers speed.
I believe the answer is both. Miners get a rewarded for finding a valid block of 5 ETH (typical PoW style reward) and they also receive the transactions fees paid by users of the network. And in Ethereum the cost of a transaction is determined by its 'gas' cost, which is based on how computationally expensive the transaction is.
Right, but the gas cost cannot be distributed over _all_ nodes, I would think. Which is why I was wondering if it all goes to the node that is the first to announce that it has done a certain computation. Which leads me to wondering how "the first" is determined.
I'll keep looking around for more info, but I do hope Ethereum people realize that YouTube videos are not the same thing as proper documentation...
All computation on the Ethereum blockchain is done through the Ethereum Virtual Machine (EVM). The protocol defines a gas cost for each opcode in the EVM, hence the gas cost is distributed across all nodes.
Any singular node can change the gas cost in their client, but if they pay less than the cost that the miners expect then their transactions will not be processed - as it typical with distributed consensus systems.
> I'll keep looking around for more info, but I do hope Ethereum people realize that YouTube videos are not the same thing as proper documentation
There is a lot of documentation on their Github page. I would recommend starting with the white paper, then check the wiki and if you are still not convinced (and also brave) check the yellow paper: -https://github.com/ethereum/wiki/wiki/White-Paper -https://github.com/ethereum/wiki/wiki/Design-Rationale -https://github.com/ethereum/wiki/wiki/FAQ -http://gavwood.com/Paper.pdf
What I meant was this: Not every node that executes a contract can be paid for the gas. Some one node (or maybe a few) must "win" and get the gas cost. I was wondering which one it was.
Based on the White Paper (thanks for the link!) my rough understanding is now as follows: If a node executes a transaction and is the first to include that transaction in a block, then this node gets the transaction's gas cost plus a mining reward. Is this correct? Essentially, it would be like Bitcoin's transaction fees + block reward.
- overlay node discovery, registration (which ethereum may handle)
- interop with common protocols DNS/TLS/SMTP/IMAP/IP/"entry|exit" nodes
- assure high availability of persistent data
- end-to-end encryption
- incentivize people to run nodes to provide bandwidth, low latency, storage and computing resources... possibly to rate limit the API and pay/barter nodes with multiple cryptocurrency/ies ( LTC / maaaybe something on top of ethereum in addition to BTC)... more than just for access, but analogous to running a solar array at home and being connected to the grid
- ease of building applications and extensions on top of other distributed services (make it dead simple, not over-engineered... ethereum appears to do this)
There is a gitter channel https://gitter.im/ethcore/parity Please get in touch with my colleagues there so they can help you getting parity up and running.