• Breaking News

    Thursday, June 18, 2020

    Ethereum The Great Reddit Scaling Bake-Off

    Ethereum The Great Reddit Scaling Bake-Off


    The Great Reddit Scaling Bake-Off

    Posted: 18 Jun 2020 11:13 AM PDT

    The Great Reddit Scaling Bake-Off

    tl;dr: Do you believe your Ethereum scaling technology can handle Reddit's scale? It's time to let the Ethereum community hear about it. Send your demo in the comments by July 31, 2020.

    This is your chance to earn some fame but, to be clear, there is no prize if your solution is chosen or modified to meet Reddit's needs. Our lawyer made us write this.

    https://preview.redd.it/q7hhi6lzlp551.png?width=1200&format=png&auto=webp&s=cdb26cbbe59e26f4fc73da5740da1308e2a87579

    The Goal

    In conjunction with the Ethereum Foundation, Reddit is inviting Ethereum scaling projects to show the community how your scaling solution can be used to bring Community Points to mainnet. Our goal is to find a solution that will support hundreds of thousands of Community Points users on mainnet today, and can eventually scale to all of Reddit (430 million monthly users).

    We've evaluated some of the most promising scaling solutions, and have learned a few things:

    1. There are plenty of awesome projects that we don't know about yet. We seem to learn about a promising new scaling solution every day.
    2. Most existing scaling solutions focus on the exchange use case, which favors optimizing for transfers. Many of these designs don't take into consideration the costs of obtaining tokens or entering the scaling system, which can be significant. Community Points distributions have cost an order of magnitude more gas than all other operations combined, primarily due to on-chain storage costs associated with onboarding new users.
    3. It's unclear how to determine the best solution. There is a lot of code, a lot of documentation, and a lot of hype out there. But there are very few objective real-world reviews or comparisons of various products/implementations.
    4. We need the Ethereum community's help to figure this out.

    Do you have a scaling project that meets the criteria below? If so, share your demo in the comments of this post by July 31, 2020. Please note that all demos need to simulate Community Points usage for 100,000 users.

    We also invite all scaling experts in the Ethereum community to comment on any demos submitted to enable a better understanding of the trade-offs and compromises between different solutions.

    We will review the demos and plan to share any updates by September. While we don't expect any novel scaling projects, we hope that you, the Ethereum scaling expert, can show us how to scale Community Points.

    Demos should include:

    1. A live proof of concept showing hundreds of thousands of transactions
    2. Source code (for on & off-chain components as well tooling used for the PoC). The source code does not have to be shared publicly, but if Reddit decides to use a particular solution it will need to be shared with Reddit at some point
    3. Documentation
      1. How it works & scales
      2. Cost estimates (on-chain and off-chain)
      3. How to run it
      4. Architecture
      5. APIs (on chain & off)
      6. Known issues or tradeoffs
    4. Summary of cost & resource information for both on-chain & off-chain components used in the PoC, as well as cost & resource estimates for further scaling. If your PoC is not on mainnet, make note of any mainnet caveats (such as congestion issues).

    Requirements

    Scaling. This PoC should scale to the numbers below with minimal costs (both on & off-chain). There should also be a clear path to supporting hundreds of millions of users.

    • Over a 5 day period, your scaling PoC should be able to handle:
      • 100,000 point claims (minting & distributing points)
      • 25,000 subscriptions
      • 75,000 one-off points burning
      • 100,000 transfers

    Decentralization. Solutions should not depend on any single third-party provider.

    • We prefer solutions that do not depend on specific entities such as Reddit or another provider, and solutions with no single point of control or failure in off-chain components, but recognize there are numerous trade-offs to consider

    Usability. Scaling solutions should have a simple end user experience.

    • Users shouldn't have to maintain any extra state/proofs, regularly monitor activity, keep track of extra keys, or sign anything other than their normal transactions
    • Transactions complete in a reasonable amount of time (seconds or minutes, not hours or days)
    • Free to use for end users (no gas fees, or fixed/minimal fees that Reddit can pay on their behalf)
    • Bonus points:
      • Users should be able to view their balances & transactions via a blockchain explorer-style interface
      • Exiting is fast & simple

    Interoperability. Compatibility with third party apps (wallets/contracts/etc) is necessary.

    • Scaling solutions should be extensible and allow third parties to build on top of it
    • APIs should be well documented and stable
    • Documentation should be clear and complete
    • Third-party permissionless integrations should be possible & straightforward
    • Simple is better. Learning an uncommon or proprietary language should not be necessary. Advanced knowledge of mathematics, cryptography, or L2 scaling should not be required. Compatibility with common utilities & toolchains is expected.
    • Bonus Points: Show us how it works. Do you have an idea for a cool new use case for Community Points? Build it!

    Security. Users have full ownership & control of their points.

    • Balances and transactions cannot be forged, manipulated, or blocked by Reddit or anyone else
    • Users should own their points and be able to get on-chain ERC20 tokens without permission from anyone else
    • Points should be recoverable to on-chain ERC20 tokens even if all third-parties involved go offline
    • A public, third-party review attesting to the soundness of the design should be available
    • Bonus points:
      • Public, third-party implementation review available or in progress
      • Compatibility with HSMs & hardware wallets

    Other Considerations

    • Minting/distributing tokens is not performed by Reddit directly [1]
    • One off point burning, as well as recurring, non-interactive point burning (for subreddit memberships [2]) should be possible and scalable
    • Fully open-source solutions are strongly preferred

    [1] In the current implementation, Reddit provides signed data for claims, but does not submit the actual claim transaction for the user (the user does that themselves). Note that smart contracts are considered independent of Reddit provided there is a path to decentralizing control over them.

    [2] Subreddit memberships are currently implemented as a contract acting as an ERC777-style operator that can burn points on a monthly basis, but we are open to changing that implementation.

    Community Points Overview

    To help you get started, this is an overview of how Community Points work today and some stats on how it's used. We are open to changing most implementation details, provided the basic requirements (above) are met.

    Usage stats over the past month

    Number of Community Points holders: ~17,500

    Number of transfers: ~20,000

    (reference: reddit.dappradar.com)

    Number of subreddit memberships: ~800

    Contracts

    Community Points is built around 3 contracts:

    1. SubredditPoints: the ERC20 token
    2. Distributions: manages token supply & token claims
    3. Subscriptions: enables membership subscriptions in the form of recurring token burn

    Deployed Contracts & Source Code

    r/FortniteBR

    SubredditPoints: https://rinkeby.etherscan.io/address/0xe0d8d7b8273de14e628d2f2a4a10f719f898450a

    Subscriptions: https://rinkeby.etherscan.io/address/0x396b89db5e9317ff25360c86bd4e2aae3bbc62ea

    Distributions: https://rinkeby.etherscan.io/address/0xc0c08af3f2a3f8d6730118e0d2de4367053ebddf

    r/CryptoCurrency

    SubredditPoints: https://rinkeby.etherscan.io/address/0xdf82c9014f127243ce1305dfe54151647d74b27a

    Subscriptions: https://rinkeby.etherscan.io/address/0x77cb2dbeadb7313242d7f3070ce8fc98e96080e4

    Distributions: https://rinkeby.etherscan.io/address/0x1c5122bfeba106eea33cf5bdf2004ab22213ca20

    Points Distribution & Claims

    Token supply is controlled by distribution rounds managed in the Distributions contract and triggered by Reddit. For each round (occurring ~monthly), Reddit submits a proposal for points distribution to a subreddit for approval. Once approved, Reddit issues signed claims for individual users according to the agreed upon points distribution. These claims can be redeemed on-chain. Claims are obtained from Reddit, and submitted to the Distributions contract, which validates the claim and calls the Subreddit Points contract to mint points.

    https://preview.redd.it/lunpaj18mp551.png?width=1120&format=png&auto=webp&s=da31db1db07cfe4f327692a7398772019b8eb7bd

    Memberships

    Subreddit memberships are obtained by burning points via the Subscriptions contract. Redditors can optionally configure their membership to be renewable on a monthly basis without additional interaction. The Subscriptions contract is granted permission to burn points by being configured as an ERC777-style default operator in the Subreddit Points contract.

    https://preview.redd.it/bqnvt50amp551.png?width=1120&format=png&auto=webp&s=812f46a0308aea370908eb73ca93abac810e58ba

    ***

    We'll be watching this thread and answering questions. Looking forward to what comes out of this!

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

    zkSync is Live! zkRollup Bringing Trustless, Scalable Payments to Ethereum

    Posted: 18 Jun 2020 07:21 AM PDT

    High transaction fees - good and bad

    Posted: 18 Jun 2020 05:56 AM PDT

    It's now a couple of weeks that we have pretty high transaction fees. It's impressive how much is ETH currently used. I've noticed many celebrating threads celebrating it. There is also great progress in L2 solutions. I think we can all agree that the future is bright but what about the present?

    The current situation is highly prohibitive for anything where transactional value is lower than a couple of dollars. DeFi is great but we have other uses cases that will either die off or will be moved to competing smart contract platforms.

    I can see a great gap between the current situation and desired future where fees are lower. I don't see much community engagement in how to close that gap.

    Last time we had network so congested, the gas limit was increased. Why not do the same this time around? Why are we somehow thinking it will be solved by itself? What can we collectively do to close that gap and reduce transaction fees?

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

    Trinity v0.1.0-alpha.36 "Lynn Margulis" is out ��

    Posted: 18 Jun 2020 07:09 AM PDT

    Beni and Tal from LiquidApps are Fast Becoming My Favourite Crypto Thinkers. Their Video on Sharding and Elastic Applications is an Absolute Must-Watch!

    Posted: 18 Jun 2020 01:06 AM PDT

    What the two huge fee Txs looked like compared to all other transactions in the pool

    Posted: 18 Jun 2020 12:01 PM PDT

    Tangem ETH cards now support PayID. Cardholders can choose a PayID address for each one of their cards to send and receive ETH.

    Posted: 18 Jun 2020 08:47 AM PDT

    What are Balancer Pools? The Dawn of a New Financial Instrument

    Posted: 18 Jun 2020 01:13 PM PDT

    Decentralized Prediction Markets Platform Ometh.eth Soon to Launch

    Posted: 18 Jun 2020 06:26 PM PDT

    ZRX staking is now live on imToken - receive a limited-edition NFT!

    Posted: 18 Jun 2020 05:54 PM PDT

    Anonymous Participation (e.g. voting) using BrightID [antisybil]

    Posted: 18 Jun 2020 03:29 AM PDT

    Why the VCs are missing DeFi

    Posted: 18 Jun 2020 10:57 AM PDT

    90+ Ethereum Virtual Machine (EVM) Resources List: How it works, its specification, implementation, debuggers, code analyzers, and, tutorials

    Posted: 18 Jun 2020 01:05 PM PDT

    Matcha x Aragon

    Posted: 18 Jun 2020 02:35 PM PDT

    South Korean Soccer League is tokenizing all its players on Ethereum

    Posted: 17 Jun 2020 05:38 PM PDT

    News: the Streamr Data Unions framework is live in public beta. App developers can now build a way for users to crowdsell and monetise the real-time data they create.

    Posted: 18 Jun 2020 06:39 AM PDT

    ETH Atlanta

    Posted: 18 Jun 2020 08:15 AM PDT

    I have a secret - private data on the blockchain

    Posted: 18 Jun 2020 10:43 AM PDT

    A key challenge is that secrets cannot be placed on the blockchain. Encrypted secrets can, but with PoW, there is no way to allow a secret to be revealed if and only if something happens on the blockchain. A trusted party must hold the key, and do/not do the right thing. There are several attempts to address this issue, usually with a network of trusted parties with collateral.

    PoS may offer a new model, leveraging known public keys of validators. The underlying assumption is that validators can be requested to decrypt a short key, and that they can be trusted to only do it when required by the protocol. This is a fairly straightforward to implement. Alice encrypts S using the public keys of the validators such that m of n are needed to decrypt it. A transaction proves to the validators that in a proposed block, all the conditions are met, and S is published along with the aggregated signatures of the validators. It is easy to introduce incentives to validators to participate in this.

    Several challenges with this model:

    1. Validators change. Is there an easy way to "transfer" the ability to decrypt S? Decrypt ones part and encrypt with keys from a new validator?
    2. Ideally, we want the ability not just to reveal S, but to apply something on it. Maybe S is a private bitcoin key (that with some fancy math Alice proves she created encrypted without her knowing it), and the revealed data is using S to sign a transaction to an address that only now is determined. This needs to happen without any individual validator having the ability to know the secret.
    3. In this model, validators are not punished for decrypting S off-chain, selling this private data. This is a small risk for low-value data, but mitigating it will require re-writing the slashing model.

    Just some thoughts, any input will be welcome.

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

    The State of Stablecoins - Q2 2020

    Posted: 17 Jun 2020 09:42 PM PDT

    Decentralized Blog Contest ��

    Posted: 18 Jun 2020 05:04 AM PDT

    We are rewarding the top 15 blogs from a pool of $1,500 in $ETH!

    Rules:

    📰 Create your blog

    🌐 Comment your .crypto blog before June 24th

    🏆 $100 in $ETH to each of the top 15 blogs

    Submit your entry by commenting your .crypto blog on this Twitter post ➡️ https://twitter.com/unstoppableweb/status/1272955709051801600?s=20

    Learn more ➡️ https://community.unstoppabledomains.com/t/decentralized-blog-contest/745

    To get .crypto domain, visit https://unstoppabledomains.com/r/a8da3a47acc74df

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

    Is it possible to natively schedule transactions on Ethereum?

    Posted: 17 Jun 2020 09:14 PM PDT

    I've read about Ethereum Alarm Clock which relies on time nodes to perform the waking up of a contract in the specified time in exchange for a fee. The project doesn't seem to be active though.

    My question is, is it possible to schedule a transaction or a contract call with the current architecture? This can be in units of block times. If not, is any research being done in this problem? Can there be a way to specifically mine a transaction into a block only after a certain block number?

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

    How will tokens transfer to Eth 2.0?

    Posted: 17 Jun 2020 05:25 PM PDT

    We hear about transferring ETH to ETH 2.0 for staking but what about tokens? Do they need to be migrated over?

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

    No comments:

    Post a Comment