3 ms·
This is more of a general question, but... what is the advantage of having a "faster" client, i.e., one that executes contracts faster? Is it just that your mac
by tom_mellior 11y ago
This is more of a general question, but... what is the advantage of having a "faster" client, i.e., one that executes contracts faster? Is it just that your machine will use less power and you'll have a lower electricity bill? Or have more resources left over for computing hashes? Or is there an advantage to be gained from executing the contract faster than your peers?
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").
- kaeptnjoda 11y agoThere is a list of references compiled in the Ethereum reddit channel which is probably a good starting point https://www.reddit.com/r/ethereum/comments/3vxvlx/starter_guide_almost_all_the_links_youll_need_to/ https://www.reddit.com/r/ethereum/comments/3vxvlx/starter_gu...
- nickpsecurity 11y agoI think a greater benefit of using Rust is having a more secure client for something that handles transactions, contracts or money. Reliability, too, thanks to memory and concurrency protections. Some languages, maybe Rust, also have type systems and interface checks (eg Design-by-Contract) that can protect integrity of data by preventing it from being misused as well. So, a number of benefits on correctness angle before one even considers speed.
- kaeptnjoda 11y agoIn terms of performance and speediness, here are a few examples where faster means better: * Overall, less time to wait as a normal user, e.g. when syncing with the network to verify transactions. * Possibility to run the chain on low footprint iot devices. * Mining is faster if transactions can be processed faster therefore more money – although admittedly the PoW itself dominates the cost here.
- j15t 11y ago> In particular, I'd like to understand whether mining fees are paid for executing contracts or for solving hashes or for both 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.
- narrator 11y agoWhat's to keep a node from lying about how much an operation costs?
- j15t 11y agoEach operation in the Ethereum Virtual Machine (EVM) has a cost defined by the protocol. Miners verify that each transaction has paid the necessary amount and any transaction that pays too little will not be included in a block.
- tom_mellior 11y ago> 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...
- j15t 11y ago> Right, but the gas cost cannot be distributed over _all_ nodes 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/White-Paper -https://github.com/ethereum/wiki/wiki/Design-Rationale https://github.com/ethereum/wiki/wiki/Design-Rationale -https://github.com/ethereum/wiki/wiki/FAQ https://github.com/ethereum/wiki/wiki/FAQ -http://gavwood.com/Paper.pdf http://gavwood.com/Paper.pdf