• Breaking News

    Wednesday, June 9, 2021

    Ethereum Daily Discussion Thread

    Ethereum Daily Discussion Thread


    Daily Discussion Thread

    Posted: 08 Jun 2021 11:00 PM PDT

    Welcome to the Daily Discussion. Please read the disclaimer, guidelines, and rules before participating.

    Disclaimer:

    Though karma rules still apply, moderation is less active on this thread than on the rest of the sub. Therefore, consider all information posted here with several liberal heaps of salt, and always cross check any information you may read on this thread with known sources.

    Rules:

    • All sub rules apply in this thread.
    • Discussion topics must be related to Ethereum.
    • Behave with civility and politeness. Do not use offensive, racist or homophobic language.
    • Comments will be sorted by newest first.

    Useful Links:

    Reminder

    /r/ethereum is a community for discussing the technology, news, applications and community of Ethereum. Discussion of the Ether price or trading is not allowed. Please keep those discussions to /r/ethfinance and /r/ethstaker.

    submitted by /u/AutoModerator
    [link] [comments]

    This is Antarctica's unofficial flag so I guess we know what it's unofficial currency is

    Posted: 09 Jun 2021 02:21 AM PDT

    Confession : Vitaliks some lad

    Posted: 08 Jun 2021 12:05 PM PDT

    I listened to theLex Friedman podcast today and it was the first time Ive actually bothered to listen to the bold Vitalki Buterin speak ( I first dabbled/invested in crypto in 2017/18, fell away and came back).

    Ive often seen posts pumping up the odd looking chap who wears 'eccentric' tshirts and I wrongly prejudged that he was just a massive nerd, I wouldnt understand half the stuff he was talking about and would bore me to tears.

    I have to confess....he came across great. He was personable, informative in a non-condescending, approachable way. Also loved the way he accepted the flaws of the project and explained how certain decisions were made rather than hiding/deflecting from the truth.

    All in all, It made me even more interested and bullish for Ethereum's future knowing theres an absolute crypto shagger at the helm. I apologise and revoke my judgement. Shame on me for not listening to the man sooner.

    submitted by /u/Yer_Maw_Punts_Crypto
    [link] [comments]

    Ethereum had accidentally solved a major problem of the Internet: true Single Sign-On

    Posted: 08 Jun 2021 05:21 PM PDT

    "Sign-In w/ Ethereum" is the future of login for every app on the Internet, crypto-related or not

    Posted: 08 Jun 2021 03:32 PM PDT

    Amazon Looks to Hire Blockchain Staffers With Experience of DeFi

    Posted: 08 Jun 2021 04:25 PM PDT

    [EthMag] Proposed scheme for encoding Ethereum state into a Verkle tree

    Posted: 08 Jun 2021 01:46 PM PDT

    [EthMag] Proposed scheme for encoding Ethereum state into a Verkle tree

    Link: https://ethereum-magicians.org/t/proposed-verkle-tree-scheme-for-ethereum-state/5805

    One of the things that I want to do at the same time as moving the current Ethereum state to a Verkle tree to cut witness sizes is to move it from the current 2-layer "trie inside a trie" structure to a single-layer structure.

    You may have seen diagrams of the Ethereum state like this before:

    https://preview.redd.it/paa4fwmlk3471.png?width=1488&format=png&auto=webp&s=c2bd8d1c96c15f24bfca6fbef65ab11b4134f469

    The state consists of a set of accounts, where each account contains a header. Each header in turn contains a pointer to a piece of code, and a root of another whole account-specific tree. This structure has a few really annoying problems:

    1. It's complicated. There's a lot of extra code that needs to be written to handle the tree-inside-a-tree mechanism, as well as the special cases for accessing things in the account header that are not storage (ie. nonce/balance/code). This complexity appears in many places: database reads/writes, Merkle proof construction, Merkle proof verification, syncing, caching...
    2. It's unbalanced: there are individual subtrees that have a huge amount of data in them. This is annoying for state sync protocols, because you can't make any assumption that what looks like a "small portion" of the state (eg. all objects starting with 0x7A5) will actually be small
    3. It doubles worst-case tree attack lengths
    4. It becomes even more complicated to figure out the interplay between state and mechanisms such as state expiry. Anything that manipulates the state piece-by-piece would need separate logic for account-level and storage-slot-level manipulations

    I propose an alternative, which fits the entire Ethereum state into a single key:value trie. That is, every position in the state (eg. (address, storage_slot), (address, NONCE), (address, code_chunk_index)) gets mapped to a single 32-byte key, which is where it is stored in the trie. As a witness-size-optimization feature, the trie is designed in such a way that the last byte of the key is always a separate commitment (Verkle trees are made up of commitments, where each commitment can have many children, in our case up to 256). Here's an example of how this might look:

    https://preview.redd.it/0uqek39cp3471.png?width=700&format=png&auto=webp&s=5978af80832b143d0d5caf7085a92c37612a645c

    There is no "trie of tries" design, and there is also no special serialization for a header; instead, header and code are both mapped to keys, just like storage. Values which share the first 31 bytes of their key are put into the same bottom-layer commitment; this saves witness space for common use cases (verifying many header fields or code chunks or adjacent storage slots). Note that accounts will no longer be "under one subtree" the way they are today; different parts of the storage of an account will be in different locations in the state trie.

    For the sake of illustration, here's part of the code in my proposal, which shows how values inside addresses will get mapped to trie keys:

    def get_tree_key(address: Address, tree_index: int, sub_index: int): return ( hash(address + tree_index.to_bytes(32, 'big'))[:31] + bytes([sub_index]) ) def get_tree_key_for_balance(address: Address): return get_tree_key(address, 0, 1) def get_tree_key_for_nonce(address: Address): return get_tree_key(address, 0, 2) def get_storage_slot_tree_key(address: Address, storage_key: int): if storage_key < 64: return get_tree_key(address, 0, 64 + storage_key) else: return get_tree_key(address, 2**248 + storage_key // 256, storage_key % 256) 

    Notice in particular how values in the header get mapped to trie keys that share the first 31 bytes, so they are part of the same bottom-level commitment, and adjacent storage slots (and code too) benefit from the same treatment.

    Additionally, storage slots 0...63 have the privilege of being part of the same bottom-level commitment as the header, so witness size for accessing these frequently used slots is really low. Gas costs (see next section) will be adjusted to take advantage of this; the current proposal charges a flat 200 gas per slot for these first 64 slots.

    Witness gas cost reform

    An important reform that needs to happen alongside this is gas cost reform, finishing the work that was started in EIP 2929 by making gas costs closely map to witness data usage in all cases. This allows us to ensure tight witness size bounds for Ethereum blocks (even including worst-case attacks on the trie that require 2**80 computing power, we're looking at ~6 MB witnesses; under more "normal" circumstances witness size will be <2 MB).

    A necessary part of this is introducing gas costs for accessing code chunks (see this proto-EIP; the current plan is ~200 gas per 31-byte chunk). That proto-EIP goes further, however, and harmonizes gas costs more generally so that they align with this trie structure: 1900 gas for a new branch proof, and 200 gas for a new value in the same bottom-level commitment.

    Some preliminary analysis of code chunk gas costs have shown that this may increase contract calling cost by ~10%. However, this new gas scheme will also introduce some important benefits for developers. A notable benefit is that gas costs for accessing many adjacent storage slots (eg. single persistent variables in Solidity are typically mapped to storage slots 0, 1, 2....n) will drop from ~2100 per storage slot to ~200 per storage slot after the first. Hence, well-designed contracts could easily get savings that make up for the increased cost of code access. Additionally, the per-chunk and per-subtree costs mean that contracts that call to libraries will no longer be much less efficient than large contracts that keep all their code together in one piece.

    submitted by /u/vbuterin
    [link] [comments]

    Warning to the users of "gasnow"

    Posted: 08 Jun 2021 05:12 AM PDT

    How to Set Up an ETH 2.0 Validator (on Goerli Testnet)

    Posted: 08 Jun 2021 10:09 AM PDT

    To regulate DeFi platforms, World Economic Forum publishes a guide for governments - Crypto DeFinance

    Posted: 08 Jun 2021 04:12 PM PDT

    Building a DEX!

    Posted: 09 Jun 2021 02:15 AM PDT

    Is it profitable to build a decentralised exchange using a aggregator using 1inch or 0x? What are your thoughts on building another DEX (order book based not AMM) using liquidity from other pools/AMMs etc?

    submitted by /u/manan26
    [link] [comments]

    Layer 2 Solutions Stand To Transform The Crypto World

    Posted: 09 Jun 2021 04:06 AM PDT

    Mama Yellen, fiat paid in cash would have been a nightmare to recover. Just FYI!

    Posted: 08 Jun 2021 12:14 AM PDT

    What is best way to pick up developing Dapps on ethereum blockchain? Just read the docs?

    Posted: 08 Jun 2021 03:36 PM PDT

    DeFi in Ether: Aave reaches #1 spot in TVL, Arbitrum One mainnet beta live, Matcha 2 is here, One Year of RenVM, Yearn Finance + Chainlink, Okcoin integrates Polygon, Gnosis client dev team joins Erigon (formerly Turbo-Geth), Balancer raises $24M, Introduction to the INDEX Token, and more!

    Posted: 08 Jun 2021 04:02 AM PDT

    San Jose Sharks Becomes First NHL Team To Accept Bitcoin, Ethereum, Dogecoin

    Posted: 09 Jun 2021 02:08 AM PDT

    San Jose Sharks has become the first NHL team to accept cryptocurrencies such as Bitcoin (BTC), Ethereum (ETH) and Dogecoin (DOGE) for large payments.

    The Sharks will partner with Atlanta-based payment processor BitPay and also accept payments in other cryptocurrencies such as Bitcoin cash (BCH), Wrapped Bitcoin (WBTC), and five U.S. dollar-pegged stablecoins.

    Jonathan Becher, the president of San Jose Sharks, said on Twitter that his team will initially accept cryptocurrency for season ticket purchases, suite leases and sponsorship deals. Becher added that using cryptocurrency for smaller purchases such as single-game tickets, food and beverage, and merchandise will be reviewed in the future.

    https://www.benzinga.com/markets/cryptocurrency/21/06/21464944/san-jose-sharks-becomes-first-nhl-team-to-accept-bitcoin-ethereum-dogecoin

    submitted by /u/BitcoinWide
    [link] [comments]

    How are rollups more scalable than base layer?

    Posted: 09 Jun 2021 02:05 AM PDT

    As far as I know, the cost of processing transactions on a rollup is the same as processing them on the base layer, and you also need to process all incoming rollups to be sure you aren't building off of an invalid previous "block". What am I missing here?

    submitted by /u/TheFronkler
    [link] [comments]

    How to get free DAI on Ropsten?

    Posted: 09 Jun 2021 02:05 AM PDT

    Can anyone tell me how to get free DAI on Ropsten testnet?

    submitted by /u/notooth1
    [link] [comments]

    How the discovery of a critical vulnerability in ArmorFi’s smart contract led to the biggest bounty payout in history – $1,500,000

    Posted: 08 Jun 2021 06:26 AM PDT

    Wouldn’t it increase security significantly to tie private keys to public keys in recovery scenarios…? let me explain…

    Posted: 09 Jun 2021 01:25 AM PDT

    Apologies in advance for my poor command of Ethereum terminology.

    My understanding is that right now, anyone can randomly enter a bunch of the the 24 word recovery phrase combinations to try and hack into an ETH wallet (and yes, I understand how unlikely it is you will hit one but thats not my point).

    Wouldn't it be much more secure to require the public key first, and then enter the private key/24 word phrase to unlock it? That would be exponentially harder, no?

    This is what I've never understood about ETH keys. I get that its essentially impossible to guess a private key.. but why not take it a step further by requiring the equivalent of a specific username first (in the ETH use case this would be the public key) and then the password/recovery code (the private key in the ETH use case)?

    Does this make sense? Maybe theres something I'm not understanding about Ethereum's infrastructure that makes this impossible. I'd love an explanation if one of you smarty-pants' has one.

    submitted by /u/2FingersUpPenishole
    [link] [comments]

    The future of finance-how crypto can unlock immense opportunity in real estate

    Posted: 08 Jun 2021 07:23 PM PDT

    Next generation of investors: One in four students now own crypto

    Posted: 08 Jun 2021 07:58 AM PDT

    Lets Do DeFi - DeFi Guides Grandma Can Follow

    Posted: 08 Jun 2021 04:43 AM PDT

    Decentralized Finance: (DeFi) Policy-Maker Toolkit -- World Economic Forum

    Posted: 08 Jun 2021 03:13 PM PDT

    UintArray with length 32

    Posted: 08 Jun 2021 03:11 PM PDT

    Hi,

    I have an ethereum private key I'm trying to export from exodus to metamask but exodus isn't showing my assets when I'm utilizing developer mode. Isn't there anyway I can get the UintArray 32 version of my typical 0xxxxxx key using the blockchain? I'm a complete beginner to ethereum so any help would be greatly appreciated!

    submitted by /u/BlueMonday1998
    [link] [comments]

    No comments:

    Post a Comment