Replace (8/3): Because of all of the groups who submitted a proposal. We recognize the work you set in, and we’ve begun reviewing the submissions. If we’ve follow-up questions, we are going to publish them as feedback on the submission posts. Thanks.


Submissions might be organized in a group alongside this publish. We welcome the group to go away questions and feedback on the proposals.

To submit your proposal: Please make a separate publish in r/Ethereum together with your submission. Then both tag u/jarins and u/EvanVanNess in a remark (not within the publish physique), or ship us a PM with the hyperlink to your publish. As soon as we’re notified, we are going to get it added to the gathering. (In case your publish will get eliminated by moderator bots, don’t resubmit. We are going to approve it when including to the gathering)

Whereas we favor proposals to be public, if there’s data it is advisable to share privately, please ship it to


tl;dr: Do you imagine your Ethereum scaling expertise can deal with Reddit’s scale? It is time to let the Ethereum group hear about it. Ship your demo by July 31, 2020.

That is your probability to earn some fame however, to be clear, there is no such thing as a prize in case your answer is chosen or modified to satisfy Reddit’s wants. Our lawyer made us write this.

The Purpose

At the side of the Ethereum Basis, Reddit is inviting Ethereum scaling initiatives to indicate the group how your scaling answer can be utilized to convey Community Points to mainnet. Our objective is to discover a answer that may assist a whole lot of hundreds of Group Factors customers on mainnet at present, and might finally scale to all of Reddit (430 million month-to-month customers).

We’ve evaluated among the most promising scaling options, and have realized a number of issues:

  1. There are many superior initiatives that we do not learn about but. We appear to study a promising new scaling answer daily.

  2. Most present scaling options give attention to the trade use case, which favors optimizing for transfers. Many of those designs do not take into accounts the prices of acquiring tokens or getting into the scaling system, which might be vital. Group Factors distributions have value an order of magnitude extra fuel than all different operations mixed, primarily resulting from on-chain storage prices related to onboarding new customers.

  3. It is unclear methods to decide the very best answer. There may be plenty of code, plenty of documentation, and plenty of hype on the market. However there are only a few goal real-world evaluations or comparisons of varied merchandise/implementations.

  4. We want the Ethereum group’s assist to determine this out.

Do you’ve a scaling undertaking that meets the factors beneath? In that case, share your demo by July 31, 2020. Please notice that each one demos must simulate Group Factors utilization for 100,000 customers.

We additionally invite all scaling consultants within the Ethereum group to touch upon any demos submitted to allow a greater understanding of the trade-offs and compromises between completely different options.

We are going to assessment the demos and plan to share any updates by September. Whereas we don’t anticipate any novel scaling initiatives, we hope that you simply, the Ethereum scaling knowledgeable, can present us methods to scale Group Factors.

Demos ought to embrace:

  1. A stay proof of idea exhibiting a whole lot of hundreds of transactions

  2. Supply code (for on & off-chain elements as effectively tooling used for the PoC). The supply code doesn’t should be shared publicly, but when Reddit decides to make use of a specific answer it’ll have to be shared with Reddit sooner or later

  3. Documentation

    1. The way it works & scales

    2. Value estimates (on-chain and off-chain)

    3. How you can run it

    4. Structure

    5. APIs (on chain & off)

    6. Recognized points or tradeoffs

  4. Abstract of value & useful resource data for each on-chain & off-chain elements used within the PoC, in addition to value & useful resource estimates for additional scaling. In case your PoC just isn’t on mainnet, make notice of any mainnet caveats (reminiscent of congestion points).


Scaling. This PoC ought to scale to the numbers beneath with minimal prices (each on & off-chain). There also needs to be a transparent path to supporting a whole lot of hundreds of thousands of customers.

Decentralization. Options shouldn’t rely upon any single third-party supplier.

  • We favor options that don’t rely upon particular entities reminiscent of Reddit or one other supplier, and options with no single level of management or failure in off-chain elements, however acknowledge there are quite a few trade-offs to contemplate

Usability. Scaling options ought to have a easy finish consumer expertise.

  • Customers should not have to keep up any additional state/proofs, usually monitor exercise, maintain observe of additional keys, or signal something aside from their regular transactions

  • Transactions full in an affordable period of time (seconds or minutes, not hours or days)

  • Free to make use of for finish customers (no fuel charges, or fastened/minimal charges that Reddit will pay on their behalf)

  • Bonus factors:

Interoperability. Compatibility with third celebration apps (wallets/contracts/and many others) is important.

  • Scaling options needs to be extensible and permit third events to construct on high of it

  • APIs needs to be effectively documented and secure

  • Documentation needs to be clear and full

  • Third-party permissionless integrations needs to be doable & simple

  • Easy is healthier. Studying an unusual or proprietary language shouldn’t be mandatory. Superior data of arithmetic, cryptography, or L2 scaling shouldn’t be required. Compatibility with frequent utilities & toolchains is anticipated.

  • Bonus Factors: Present us the way it works. Do you’ve an thought for a cool new use case for Group Factors? Construct it!

Safety. Customers have full possession & management of their factors.

  • Balances and transactions can’t be cast, manipulated, or blocked by Reddit or anybody else

  • Customers ought to personal their factors and have the ability to get on-chain ERC20 tokens with out permission from anybody else

  • Factors needs to be recoverable to on-chain ERC20 tokens even when all third-parties concerned go offline

  • A public, third-party assessment testifying to the soundness of the design needs to be obtainable

  • Bonus factors:

    • Public, third-party implementation assessment obtainable or in progress

    • Compatibility with HSMs & {hardware} wallets

Different Issues

  • Minting/distributing tokens just isn’t carried out by Reddit straight [1]

  • One off level burning, in addition to recurring, non-interactive level burning (for subreddit memberships [2]) needs to be doable and scalable

  • Absolutely open-source options are strongly most popular

[1] Within the present implementation, Reddit supplies signed information for claims, however doesn’t submit the precise declare transaction for the consumer (the consumer does that themselves). Word that good contracts are thought-about impartial of Reddit supplied there’s a path to decentralizing management over them.

[2] Subreddit memberships are at present carried out as a contract appearing as an ERC777-style operator that may burn factors on a month-to-month foundation, however we’re open to altering that implementation.

Group Factors Overview

That will help you get began, that is an outline of how Community Points work at present and a few stats on the way it’s used. We’re open to altering most implementation particulars, supplied the essential necessities (above) are met.

Utilization stats over the previous month

Variety of Group Factors holders: ~17,500

Variety of transfers: ~20,000


Variety of subreddit memberships: ~800


Group Factors is constructed round Three contracts:

  1. SubredditPoints: the ERC20 token

  2. Distributions: manages token provide & token claims

  3. Subscriptions: permits membership subscriptions within the type of recurring token burn

Deployed Contracts & Supply Code









Implementation Contracts

From these proxy addresses, you’ll find the implementation contracts and supply code utilizing Etherscan’s Proxy Contract Verification tool or Read Proxy Contract interface.

Factors Distribution & Claims

Token provide is managed by distribution rounds managed within the Distributions contract and triggered by Reddit. For every spherical (occurring ~month-to-month), Reddit submits a proposal for factors distribution to a subreddit for approval. As soon as accredited, Reddit points signed claims for particular person customers in response to the agreed upon factors distribution. These claims might be redeemed on-chain. Claims are obtained from Reddit, and submitted to the Distributions contract, which validates the declare and calls the Subreddit Factors contract to mint factors.

r/ethereum - The Great Reddit Scaling Bake-Off


Subreddit memberships are obtained by burning factors by way of the Subscriptions contract. Redditors can optionally configure their membership to be renewable on a month-to-month foundation with out extra interplay. The Subscriptions contract is granted permission to burn factors by being configured as an ERC777-style default operator within the Subreddit Factors contract.

r/ethereum - The Great Reddit Scaling Bake-Off


We’ll be watching this thread and answering questions. Wanting ahead to what comes out of this!

Source link


Please enter your comment!
Please enter your name here