12 ms·
Evolution of the Ethereum proof-of-stake consensus protocol
- 2Gkashmiri 4y agohow do you get started with "smart contracts"? all the "tutorials" always end creating your own crypto and that's it.... i need something basic, like alice and bob contract to sell 100 watermelons for 1 BTC and sarah is the arbitrator in case they have a problem... something like this. or a smart contract to validate a sale of a house for 2 BTC. or a partnership deed for a business between alice and bob with 3 clauses
- Arnavion 4y agoI only have a surface-level understanding of smart contracts, but you'd need an oracle for the off-chain validation part of the three situations you mentioned, and https://ethereum.org/en/developers/docs/oracles/ https://ethereum.org/en/developers/docs/oracles/ seems to have some contract examples.
- yieldcrv 4y agohm creating your own crypto token is a smart contract, its just a standardized set of classes, modify the classes and see what happens anyway try scaffoldeth.io you compile the tutorial website first and then build a bunch of common smart contract scaffolding note this is the EVM ecosystem so it would be impossible to conflate example in pure BTC, smart contracts are playing catchup in BTC ecosystem. There are a couple competing attempts there, very little scaffolding. There are many orders of magnitude more activity in the EVM ecosystem than there are in bitcoin ecosystem/UXTO model smart contracts.
- montenegrohugo 4y agoWhat's the hangup with normal tutorials? There's a plethora of tutorials online. People recommend ethernauts[1] and cryptozombies[2], but I found those quite slow when I was learning. Most useful for me was reading existing implementations of smart contracts, and learning from there. M1guelpf wrote these a while ago, might be helpful examples: https://github.com/m1guelpf/lil-web3 https://github.com/m1guelpf/lil-web3 happy to chat if you need help [1] https://ethernaut.openzeppelin.com/ https://ethernaut.openzeppelin.com/ [2] https://cryptozombies.io https://cryptozombies.io
- saurik 4y agohttps://cryptozombies.io/ https://cryptozombies.io/ ?
- bmelton 4y agoFor Solidity-based tokens, learn Solidity to be able to know the syntax for creating your contract. After developing the contract, use something like Truffle Suite to validate that the contract is good, and add a testing suite around it.[1] Find a test net for the coin that you're developing for and create an account. Generally testnets will allow you to have "play money" to work with. This will allow you to learn how to deploy your contract to the testnet (which is functionally identical to mainnet) Deploy it there, test it further. Write apps around it with tools like web3.js or eth.js as appropriate. Buy some currency for the applicable mainnet and deploy your contract to mainnet just as you did with testnet, only this time it'll cost actual currency to deploy -- this will vary wildly by network and token and such. This guy's videos are pretty helpful: https://www.dappuniversity.com/articles/the-ultimate-ethereum-dapp-tutorial https://www.dappuniversity.com/articles/the-ultimate-ethereu... Different tokens have different protocols and such. The above works for Eth and Eth-based tokens. Cardano is Haskell-based, and refers to smart contracts as programs, and the process is wildly different. Some other tokens use Rust, or other languages, but the BASIC outline I've laid out is basically the same no matter which (except for Cardano, which may be the same, I have no idea.) [1] - https://trufflesuite.com/ https://trufflesuite.com/
- sschueller 4y agoAnything that connects to the physical world makes little sense at the moment as it defeats the purpose of such a smart contract. What you can do is anything that is related to moving ETH or ERC tokens/NFTs between addresses. So an example that you see often is a Kickstarter type contract. This contract collects ETH from many sources over a period of time but will only pay out to the payout address if the minimum is reached in that time period. Otherwise all the funds are returned. This contract is fully autonomous and can be validated to do what it is supposed to do. You don't have to trust a single company like Kickstarter to follow the rules or not cancled your compain. The project being a scam or not compleeting is another story. So in other words what you can do in a smart contract are financial constructs that are zero trust. The reason many scams happen is also in part that people are not checking that the contracts are solid and prevent rug pulls etc.
- imtringued 4y agoYeah remember, you're supposed to upload your mind into the computer if you want to live in that kind of world. What will happen to you in the case of a fork? There will be two of you.
- fwip 4y ago> Anything that connects to the physical world makes little sense at the moment as it defeats the purpose of such a smart contract. Which is why they're useless except for implementing complicated financial schemes. Which, in practice, are mostly scams.
- cortesoft 4y agoI don’t understand the benefit of that… in the end, you have to trust the person you are sending the coins to to do what they say the will. This is true regardless of the smart contract. The only thing the smart contract does is guarantee that at least other people are also getting scammed. Come to think of it, though, it doesn’t even guarantee that. The person who created the contract and will get the funds if the minimum is reached could always just send ETH from one of their other own accounts to trigger the threshold.
- 4y ago
- charcircuit 4y agoStart here https://remix.ethereum.org https://remix.ethereum.org. This IDE lets you test smrt contracts in an emulator. You can get a quick overview of solidity here https://learnxinyminutes.com/docs/solidity/ https://learnxinyminutes.com/docs/solidity/ and the docs are here https://docs.soliditylang.org/en/latest/ https://docs.soliditylang.org/en/latest/ >alice and bob contract to sell 100 watermelons for 1 BTC and sarah is the arbitrator in case they have a problem... something like this You create an owner variable that is used to show who can withdraw from the smart contract and is set to 0 at the start. You add 2 methods. The first is a method that is only usable by Sarah that lets her change the owner variable. The second is a withdraw function that is only usable by the owner. You can even enforce that the owner can only be set to Alice or Bob if you want. Bob deposits 1 wrapped BTC. If Alice gives him the watermolens Sarah sets Alice as the owner. If Alice doesn't Sarah sets Bob as the owner. >a smart contract to validate a sale of a house for 2 BTC. You don't need a smart contract for that. Every transaction already gets validated by the network. >a partnership deed for a business between alice and bob with 3 clauses This depends on the clauses but you would put all the company assets into the smart contract and then write methods that let you spend those assets while not violating those clauses.
- throwaway98797 4y agogive crypto zombies a try: https://cryptozombies.io/ https://cryptozombies.io/
- hanniabu 4y agoCryptozombies is great for getting started, after that you can try the ethereum speedrun courses
- golgappa 4y ago[flagged]
- andy_xor_andrew 4y agoThis is a really thorough and understandable explanation. Helped me fill in lots of gaps I had. One thought it does raise in my mind, though - this is complicated. Bitcoin is simple. The rules are simple. Simple is really good when it comes to securing a currency. This, in comparison... I mean, oof. I get the high-level "proof of stake" idea, which (in my mind) has a similar mental complexity to Bitcoin's. But all the algorithms that need to work to support it... it introduces the idea in my mind that somewhere in one of those algorithms is a small oversight. Even if that's not the case, the thought is there. My opinions on proof-of-stake hasn't changed (seems much better than PoW in real-world use for so many reasons) but it does seem to erode the beautiful simplicity of proof-of-work.
- krupan 4y agoThe complication is a huge red flag for me. Enormous. Red. Flag. What are we missing in all that complexity? What perverse incentives and unintended consequences are hiding in all that? Also, you can't even unstake your eth. The developers promise it's coming soon, but right now, you can't.
- tromp 4y agoSadly, there are very blockchains that focus on simplicity. Most seem to think that more features is better.
- krupan 4y agoHow many do we need? Bitcoin works great
- matheusmoreira 4y agoBitcoin is obsolete by now. Monero is everything it was supposed to be.
- wmf 4y ago
- deleted 4y ago[deleted]
- eloff 4y agoHow difficult would it be to stake Ethereum, supposing you could afford a multiple of 32 eth? I know you can join cooperatives for this purpose, but then it’s not your crypto anymore and this space is filled with thieves and con artists. It’s something I’ve been kicking around as an idea for a while as part of a diversified portfolio, if eth drops to a point where I could afford 32. I’m extremely skeptical of cryptocurrencies, but eth is the best of them and the network transaction volume is supposedly in the neighborhood with Visa ( something I find hard to believe.)
- cmckn 4y ago> the network transaction volume is supposedly in the neighborhood with Visa ( something I find hard to believe.) I think the PR line is that PoS ETH can “scale to 100,000 TPS”, but it’s currently pushing 15-30 [1]. Visa does much more, though various figures are reported from 1,750 to 24,000. So, grains of salt and all that. [1] https://etherscan.io/ https://etherscan.io/
- patriksvensson 4y agoCorrect, the plan is to scale to that level but currently is not doing that. The current L1 (Ethereum Mainnet) + L2 combined TPS can be seen here https://ethtps.info/ https://ethtps.info/ Important to note that Ethereum embraces the idea that L2's will provide a lot of the scale and L1 will remain the base, main layer of security. So the goal isn't for L1 to scale massively, but to be able to support a healthy ecosystem of secure L2's which scale in different ways!
- DennisP 4y agoIt's a little more complicated than that. For one, Visa just does funds transfers. If Ethereum just transferred ETH, it could do 700 tx/sec, based on the gas limit per block divided by the 20K gas for a simple ETH transfer. A lot of Ethereum transactions are more complex and use more gas. Second, second-layer "rollups" already support transaction rates up to a couple thousand per second, without losing base-layer security guarantees. Essentially they compress the transactions on chain. (Actual traffic is much lower than that, so far.) The longer-term plan is to move to rollups in a big way, and add a form of data sharding to multiply the on-chain data storage. That's where the 100K/sec comes from.
- deleted 4y ago[deleted]
- dsco 4y agoLook at that, crypto _is_ beautiful computer science after all, and not what the unoriginally critical HN crowd would like you to believe.
- tromp 4y agoIf you want to see beauty, look at a blockchain that focusses on elegance and simplicity.
- rvz 4y ago> and not what the unoriginally critical HN crowd would like you to believe. Of course. Just don't listen to the extreme ones, who continue to screech and parrot the same old absolutist takes over and over again to the media for engagement farming. The truth is crypto is here to stay, but not all of them are going to survive. Only a few projects and cryptocurrencies will still be around longer than others and both crypto maximalists and anti-crypto absolutists are going to end up compromising in the end.
- blue_rog 4y agoNitpick: Why do the first two images after the LMD-Ghost section [1] look like they were made on an iPad? All the other images are made using proper tools. I didn't realize that the letter in the first image was a V because it looked like a N. Feels slightly inconsistent. [1] - https://github.com/ethereum/pos-evolution/blob/master/pos-evolution.md#lmd-ghost https://github.com/ethereum/pos-evolution/blob/master/pos-ev...
- heinrich5991 4y agoPermalink: https://github.com/ethereum/pos-evolution/blob/c51c4cee300e6d1baff4548225b77b8a7cb4c39d/pos-evolution.md https://github.com/ethereum/pos-evolution/blob/c51c4cee300e6...
- u34hi34 4y ago[dead]
- pa7x1 4y agohttps://www.theblock.co/post/104263/an-ofac-compliant-bitcoin-miner-revives-debate-about-transaction-censorship https://www.theblock.co/post/104263/an-ofac-compliant-bitcoi... A Bitcoin block is produced every 10 minutes. An Ethereum block every 12 seconds. It would take 98% of validators censoring transactions on Ethereum for a normal transaction to be included faster on Bitcoin than a censored transaction is included in Ethereum. In practice, there are miners censoring transactions on Bitcoin too, so the number is higher even. This only shows that this is baseless FUD. Most importantly, Proposer-builder separation will take care of this problem completely on Ethereum.
- mattdesl 4y agoHere is a good visualization of this problem: [1]. You can see that 99% of restricted blocks will be included within 5 mins, given the current level of OFAC compliance. Even if 99% of nodes are OFAC compliant, it would only take 5 hrs for your Tornado Cash transaction to have a 99% likelihood of being accepted. All of this will be moot with enshrined PBS in the protocol but that may not come for some time. [1] https://www.inclusion.watch/ https://www.inclusion.watch/
- shp0ngle 4y agoAll of this, just to be a building block to some new MLM hype scam…
- spraveenitpro 4y ago[dead]
- personjerry 4y agoDoes Ethereum have some sort of system built-in to be able to internally and correct as the community learns about new issues? AFAIK everything that's written is written in stone, no? (Barring a majority decision agree to a new ledger entirely like they did that one time)
- hanniabu 4y ago> some sort of system built-in to be able to internally and correct as the community learns about new issues Can you reword this? Not quite sure what you're asking
- personjerry 4y agoSure: Does Ethereum have some mechanism that allows it to be patched if issues in the current protocols are found?
- nlitened 4y agoYes, Vitalik asks everyone to download a new version with the protocol patched. Previously it was "pretty please do this", now it is "do this, or you lose all your staked ETH".
- mattdesl 4y agoYes: much like other standardized software. Many people coordinate and agree on patches and new specs, and then developers work toward implementing and testing it across clients. This is how all forks have happened so far, including “patches” like EIP-1559, and how it will continue.
- hanniabu 4y agoThat would just be the normal upgrade process. You'd submit an EIP, it would undergo review, a spec would be developed, and it'll be worked into the client development and release schedule. https://eips.ethereum.org https://eips.ethereum.org
- TEP_Kim_Il_Sung 4y agoSo "he who has the most money, makes the rules" instead of "he who mines and works the most, makes the rules"? Yeah, that totally won't backfire.
- hanniabu 4y agoMining costs money and those with more money can have more miners and more power over the rules.
- codewiz 4y agoIs it actually true that stakers can collude to change the consensus rules of the Ethereum network?
- hanniabu 4y agoNo, just like bitcoin you need the cooperation of the community/users too
- albntomat0 4y agoTo me, mining has always been about having resources, to buy and maintain hardware, server space, electricity, etc. What’s the real difference, other than lag time for PoW?
- wmf 4y agoMiners/stakers do not make the rules and never have.
- mattdesl 4y agoExcept, that is not how PoS works.
- EVa5I7bHFq9mnYK 4y ago[flagged]