From 39f7c3f606bc840169af30bbe9e578632b6d696a Mon Sep 17 00:00:00 2001 From: James Hancock Date: Mon, 13 May 2019 18:31:58 -0400 Subject: [PATCH 01/19] Create eip-Funding-eth-1x.md --- EIPS/eip-Funding-eth-1x.md | 174 +++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 EIPS/eip-Funding-eth-1x.md diff --git a/EIPS/eip-Funding-eth-1x.md b/EIPS/eip-Funding-eth-1x.md new file mode 100644 index 00000000000000..391d3eba6b9042 --- /dev/null +++ b/EIPS/eip-Funding-eth-1x.md @@ -0,0 +1,174 @@ +--- +eip: +title: Block Rewards Proposal for funding Eth1.x +author: James Hancock (@madeoftin) +discussions-to: https://github.com/MadeofTin/EIPs/issues +status: Draft +type: Standards Track +category: Core +created: 2019-04-20 +requires: 1890 +--- + +## Simple Summary +Add `0.044 ETH` per block for 18 months as a block reward that goes to funding Ethereum1.X development. + +Currently, EIP 1890 is a proposal for a mechanism to capture Block Rewards for Ethereum Development with values and addresses set to zero. This proposal is to set those values to non-zero for 18 months focusing on funding Ethereum 1.X Development. Funds go to paying back a loan for funding Eth1.X working groups as well as established organizations currently investing in ecosystem development. + + + +## Abstract + +This EIP extends the mechanism established in EIP-1890 to add `0.044 ETH` to the Block Reward for a specific distribution period of `3,100,000 BLOCKS`(≈18 months). The `RECIPIENT_ADDRESS` set to a smart contract with hardcoded denominations that distribute ETH to a set of addresses for the purpose of Eth1.X development. The emission schedule would start at the inclusion of this EIP in a hard fork and continue until the end of the period `3,100,000 BLOCKS` (≈18 months) where the address and amount would again return to 0. Any further distribution will require a future hard fork. + +## Motivation + + +The context for this proposal came from attending the [Core Dev Eth1.X Meeting](https://www.youtube.com/watch?v=Au1Qll-86v0) in Berlin. Development is needed to move Eth1.X forward, and I observed that a lack of funding is the primary barrier to this work. This work can only be effectively conducted within the context of working groups forming around these issues, and these working groups need funding in order to pay dedicated contractors and project managers. This proposal is a plan for funding these groups and supporting their operation. + + + +## Specification + + +The Block Rewards Schedule set to a fixed period "EMISSION_SCHEDULE = 3,100,000 blocks" (≈18 months). After this point emission would halt with the following logic. `WHILE CURRENT_BLOCK - FORK_BLOCK < 3,100,000`. + +During the emission schedule, Block rewards will send funds to a smart contract that distributes funds to the following addresses* denominated in ETH. + + +Distribution Per Block +``` + Development Loan: 0.04 - 124,000 ETH + Development Loan Interest 10%: 0.004 - 12,400 ETH + + Total Block Reward Increase = `0.044` ETH Per Block - 136,400 ETH Total +``` + +*With a current price of Etheruem at $200.00 this will raise 25 million USD for developing Eth1.X over the next 18 months.* + +![Block Rewards Distribution](https://docs.google.com/drawings/d/e/2PACX-1vRzpcFXvkftqEduftfCnNeJmjxQAyBjD1RMkuFt0JeURxSZ2oUSGA1HQ1-v5rjGeim2cn8IwF4UFH18/pub?w=873 "Logo Title Text 1") *Specific Addresses to be determined + +* [FAQ - Why hardcoded values?]( #why-hardcoded-values ) + + + +## Rationale + + +There has been great debate on Twitter concerning EIP-1890, and one of the primary concerns is that it is difficult to come to a conclusion without the other half of the proposal, or more specifically, how much and where to allocate Block Reward funds. There is a need for funding Eth1.x development and it is currently unclear from where those funds will come. This proposal is intended to give a more comprehensive proposal for its funding. In the case that ETH1.x is funded I will withdraw this EIP that would render it obsolete. Until that point I intend to continue championing this proposal as a valid funding mechanism for this work. + + +### Why a Loan? + +A loan is necessary to complete certain stages of work before the funding mechanism is put into the protocol , and before it begins to provide funds. A loan would provide this necessary funding today, and the organizations willing to front this cost can recoup their contribution + a reward of *a fixed interest rate* for participating in ecosystem development. This arrangement will make it easier for organizations to participate who have sufficient funds. + +### Development Loan + +`Development Loan: 0.04` over 3.1 Million blocks = 124,000 ETH + +**Funding Working Groups on 1.X** +* Funding Contractors, Coordinators, and project mangers. +* Working Groups defined with clear mandates at the time of creation before allocating funds +* Membership and creation managed by the Core Devs (i.e., I would not choose them) +* 30-50 Core Devs is sufficient to work on ETH1.X + * 7-8 Working groups with a Membership size of 3-7 is ideal from a coordination perspective. + +**ETH1.X Core Dev Gatherings** +Funding hosting, traveling, and accomodations for neccesary in person gatherings of ETH1.X core developers similar to the Stanford and Berlin ETH1.x Core Dev Meeting held earlier this year. + +**Client Teams** +Any research completed by ETH1.X working groups will need to be integrated into core clients before the network can adopt any changes. It is anticipated some of these funds will go to support the existing client teams in this effort. + +At the end of the 18 Months, the whole process would be torn down to prevent any internal tyranny of unstructuredness forming within. + + +* [FAQ - How will the funding of the Devs be organized?]( #how-will-funding-the-devs-be-organized) + +![Eth1.x Working Groups Status](https://docs.google.com/drawings/d/e/2PACX-1vRzaZFh4fZS0mksfyfJs1AsXNoqgfMmyJMYLHXEVariN-S9YsI43_FhHl1K_iO4rrqDsSy-tX4-MWws/pub?w=548&h=423) + + + +## Personal Notes and Disclosure +I want to address any concerns about conflicts of interests directly. My participation with Eth1.X currently has been as a volunteer. I am in talks about a possible funded role helping with testing and coordination. If my work for with Eth1.x is funded, I would seek the following conditions. + + 1) Funding for my work will not come from the loan meant for the Eth1.X Working Groups. + +Eth1.X is the now of Ethereum and I would like to see it succeed. This is the intent of my proposal + +### COI +Previously I was PM for Tennagraph, a Signalling solution for Ethereum. An Aragon Grant funded this project and was distributed through Giveth and an AragonDAO. I have not received any funding from the project past this Grant. All of this is verifiable on-chain. I am stepping down from any paid role on the project to continue as an advisor. I am also stepping down as a moderator for stances as there is a COI moderating stances for EIPs I am working with directly. + +### Finally + +I do not claim to represent the community with my views; any members who wish to join supporting me with this proposal are free to do so. I welcome feedback and will listen carefully, but any adaptations are according to my judgment. This is an honest reflection. This is as fair of a proposal as I can personally conceive. If the community rejects it then so be it, I am satisfied with the submission. + +## Backwards Compatibility + +None + +## Test Cases + +Not Implemented + +## Implementation + + +Not Implemented + +## FAQ + +### Why Hardcoded Values + +Why not us a smart contract with some governance mechanism to allow changing the distribution of funds? Wouldn’t that be more flexible and effective? + +*TL;DR This EIP is not about Governance Reform* + +First, the payment of the loan will be hardcoded. Once agreed, the terms must be kept to give the lenders confidence in the repayment of the loan. As long as blocks are created the debt will be paid back. This is the essence of a trustless smart contract. + +After the loan, there is the option to allow the amounts (limited to less than .05ETH), and the locations (orgs that receive ecosystem funding) to be changed throughout the emission schedule. A smart contract or DAO is pretty easy to imagine fulfilling this role. However, there are three classes of options available today we can consider when governing changes. + +* **Give the Keys to the Hands of the Few (Oligarchy)** + +Create a multisig that allows a group of individuals to update the smart contract. The most likely candidates for this are the Core Devs themselves, but it could also be a trusted few from the community/stakeholders. No matter how you slice it, there is a fundamental issue in deciding who gets to decide. There currently is not an trusted/adopted governance mechanism to make these decisions with-in Ethereum. Also, preventing changing the contract in self interest is difficult without a well engineered governance system of checks and balances. This EIP does not claim, nor aim to solve these issues. + +* **Give the Keys to the Hands of the Many (Plutarchy)** + +Allow ethereum holders with coin votes to update the smart contract. Using holographic consensus could overcome the issue of voter turnout as it scales as participation scales, even to the size of the whole network. This has some benefits as the entire network can participate. However, the problem is that some individuals in the network are over represented -- the wealthy. Without a solution to identity that has been agreed to and implemented by the entire Ethereum Network, there is no way around giving more power in votes to the rich. This EIP does not claim, nor aim to solve these issues. + +* **Use Ethereum Governance as it is Today** + +Criticisms or support aside, there is a system that governs ethereum today. It is a mix of rough consensus among core devs, miners running nodes, clients implementing changes, and stakeholders adopting those changes. It includes yelling or not yelling on twitter and reddit. It is complicated and I don’t claim to understand it. Even without a clear view of how it works, there is evidence of its existence. This evidence is there are changes that have allowed to be implemented, and changes that have not allowed to be implemented in Ethereum. + +I do not aim to change ethereum governance. Because this EIP has hardcoded values, it must go through the existing governance process, whatever that is, before it will be implemented in the network. It will then continue until as decided until the end of the emission schedule. This is intentional. This makes it uncapturable. No party other then the ecosystem itself can modify the contract once it has been deployed. + +This EIP is not about Governance Reform + +### Why not allow current client implementors fund this work? (EF, Consensys, Parity, etc...) + +Historically there has been a precedent that the Ethereum foundation is solely responsible for funding the development of Ethereum. This process has evolved as the development has become more distributed. Aya Miyaguci observed in a recent coindesk article. “it really is not only Ethereum Foundation people who are building [ethereum,]” . Yes, we could rely on the Ethereum Foundation to fund Eth1.X. But, why should we? This is a call for the network to come together and fund its own development. Ethereum the Network is not owned by any one organization or group of people. We are lucky to have the EF and I consider this EIP in support of their coordination efforts. + +### How Will Funding the Devs be Organized + +I do not profess to know the best way to organize these funds. There is work already in progress to organize these efforts championed by Alexey Akhunov. The following is a quote from a [recent medium article](https://medium.com/@akhounov/ethereum-1x-as-an-attempt-to-change-the-process-783efa23cf60). + +>“Going from funding a few implementation teams continuously and letting them do “their stuff” to funding more specific and temporary initiatives requires looking at funding through different lenses. How much “due diligence” and oversight is too much (in terms of overhead), who can decide whether working groups actually deliver, etc. This is also solvable, and also more on this will come later (not in this post). + +My suggestion would be to create an Eth1.X core developer DAO using [DaoStack](https://daostack.io/) to coordinate memberhips and payment of the CoreDevs, but ultimately they are capable of determining the system that works best for them. As long as the system is transparent and mature enough to distribute funds when the time comes, this is sufficient for now. + +### Isn't a loan considered a security, or is it? + +I am not a lawyer and will seek further guidance from lawyers in the field on this point in particular. From the research I have done and conversations I have had there is a very good argument that a loan of this nature will not be considered a security by the US Supreme Court. +As the result of [REVES ET AL. v . ERNST YOUNG 1990](https://casetext.com/case/reves-v-ernst-young), the court stated that a home loan, consumer financing, a loan secured by a lien on a small business or some assets of a small business, short term notes, or notes that formalize a debt incurred in the ordinary course of business are not securities. If the note resembles the items listed above (home loans, etc.) then the note will not be deemed a security. The Supreme Court provided four factors to determine if a note sufficiently resembles the types of notes that are not classified as securities. [src](https://www.invigorlaw.com/loan-subject-securities-regulations/) + +**Family Resemblance Test** + 1) The intentions of the company and the individual—if the company raised money for general use in a business enterprise, then the note is more likely to be a security; if the individual agreed to the loan primarily for the profit the note was expected to generate, the note is more likely to be a security. + 2)The plan of distribution—the more widely the note is offered, the more likely it is to be found a security. + 3) The expectations of the investing public—if the investors thought they were investing in a business to make a profit on their investment, the note is more likely to be found a security. + 4) Other risk-reducing factor—if the note is collateralized or otherwise less risky than common notes, the note is less likely to be found to be a security. + +The loan is for the specific use of supporting Eth1.X research and deployment. The Distribution will not be widely offered and the note will be collateralized by the network itself, Made in ETH and repaid in ETH. I in coordinating the collection of these funds recognise I may be legally liable for some of this work and I will do all of the duedillegence I can, seek legal counsel, and accept any legal repercussions resulting from this work. + +#### + +## Copyright +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From 8f53df974902c68090440318be5dda20d8a66d18 Mon Sep 17 00:00:00 2001 From: James Hancock Date: Mon, 13 May 2019 20:22:04 -0400 Subject: [PATCH 02/19] Update and rename eip-Funding-eth-1x.md to eip-2025.md --- EIPS/{eip-Funding-eth-1x.md => eip-2025.md} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename EIPS/{eip-Funding-eth-1x.md => eip-2025.md} (96%) diff --git a/EIPS/eip-Funding-eth-1x.md b/EIPS/eip-2025.md similarity index 96% rename from EIPS/eip-Funding-eth-1x.md rename to EIPS/eip-2025.md index 391d3eba6b9042..754cf5cd6dad7b 100644 --- a/EIPS/eip-Funding-eth-1x.md +++ b/EIPS/eip-2025.md @@ -1,5 +1,5 @@ --- -eip: +eip: 2025 title: Block Rewards Proposal for funding Eth1.x author: James Hancock (@madeoftin) discussions-to: https://github.com/MadeofTin/EIPs/issues @@ -145,7 +145,7 @@ This EIP is not about Governance Reform ### Why not allow current client implementors fund this work? (EF, Consensys, Parity, etc...) -Historically there has been a precedent that the Ethereum foundation is solely responsible for funding the development of Ethereum. This process has evolved as the development has become more distributed. Aya Miyaguci observed in a recent coindesk article. “it really is not only Ethereum Foundation people who are building [ethereum,]” . Yes, we could rely on the Ethereum Foundation to fund Eth1.X. But, why should we? This is a call for the network to come together and fund its own development. Ethereum the Network is not owned by any one organization or group of people. We are lucky to have the EF and I consider this EIP in support of their coordination efforts. +Historically there has been a precedent that the Ethereum foundation is solely responsible for funding the development of Ethereum. This process has evolved as the development has become more distributed. Aya Miyaguci observed in a recent [coindesk article](https://www.coindesk.com/ethereum-foundation-director-sets-new-vision-for-blockchain-non-profit). “it really is not only Ethereum Foundation people who are building [ethereum,]”. Yes, we could rely on the Ethereum Foundation to fund Eth1.X. But, why should we? This is a call for the network to come together and fund its own development. Ethereum the Network is not owned by any one organization or group of people. We are lucky to have the EF and I consider this EIP in support of their coordination efforts. ### How Will Funding the Devs be Organized From 0cdea8cb3ff4f852e006816ee4a7ada51ce51938 Mon Sep 17 00:00:00 2001 From: James Hancock Date: Mon, 13 May 2019 21:14:54 -0400 Subject: [PATCH 03/19] Update eip-2025.md --- EIPS/eip-2025.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index 754cf5cd6dad7b..087a166a925187 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -11,9 +11,9 @@ requires: 1890 --- ## Simple Summary -Add `0.044 ETH` per block for 18 months as a block reward that goes to funding Ethereum1.X development. +Add `0.044 ETH` per block for 18 months as a developer block reward reserved for funding Ethereum1.X development. -Currently, EIP 1890 is a proposal for a mechanism to capture Block Rewards for Ethereum Development with values and addresses set to zero. This proposal is to set those values to non-zero for 18 months focusing on funding Ethereum 1.X Development. Funds go to paying back a loan for funding Eth1.X working groups as well as established organizations currently investing in ecosystem development. +Currently, EIP 1890 is a proposal for a mechanism to capture Block Rewards for funding Development. That EIP has values and addresses set to zero. This proposal is to set those values to non-zero for 18 months focused on funding Ethereum 1.X working groups and organization efforts. The block reward will go towards paying back a loan with a small amount of interest to organizations in the Ethereum Community. After 18 months the block reward would again be set to zero. From e5a3da20b4d52a89b228f9b6119336b1ee157b54 Mon Sep 17 00:00:00 2001 From: James Hancock Date: Wed, 15 May 2019 19:12:56 -0400 Subject: [PATCH 04/19] Added the load State Diagram --- EIPS/eip-2025.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index 087a166a925187..0e3ed13373408a 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -66,6 +66,8 @@ A loan is necessary to complete certain stages of work before the funding mechan `Development Loan: 0.04` over 3.1 Million blocks = 124,000 ETH + ![Loan State Diagram](https://docs.google.com/drawings/d/e/2PACX-1vQG6WS0hXN6fC44-RnczXLierxwT9sPJ9C8F7hk6t5xD18f-k0nGM8qjwYSw9N939Bd3uT-nvad_082/pub?w=1990&h=724) + **Funding Working Groups on 1.X** * Funding Contractors, Coordinators, and project mangers. * Working Groups defined with clear mandates at the time of creation before allocating funds From 57f1a1331074126dce4c2800b11bf3ec7deb9765 Mon Sep 17 00:00:00 2001 From: James Hancock Date: Fri, 17 May 2019 16:56:51 -0400 Subject: [PATCH 05/19] Added to EIP-1679 for Istanbul --- EIPS/eip-1679.md | 1 + 1 file changed, 1 insertion(+) diff --git a/EIPS/eip-1679.md b/EIPS/eip-1679.md index 374cf6ed00bc28..2d11e48970bc5c 100644 --- a/EIPS/eip-1679.md +++ b/EIPS/eip-1679.md @@ -44,6 +44,7 @@ This meta-EIP specifies the changes included in the Ethereum hardfork named Ista - [EIP-1803](https://eips.ethereum.org/EIPS/eip-1803): Rename opcodes for clarity - [EIP-1829](https://eips.ethereum.org/EIPS/eip-1829): Precompile for Elliptic Curve Linear Combinations - [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884): Repricing for trie-size-dependent opcodes +- EIP-2025: Funding Eth1.x with Developer Block Rewards ## Timeline From a394526fb779cc2b0728d2d694e6f59d2de802dd Mon Sep 17 00:00:00 2001 From: James Hancock Date: Mon, 20 May 2019 17:14:16 -0400 Subject: [PATCH 06/19] Added updated loan repayment Including the case where the fork is not accepted after the funds have been collected. --- EIPS/eip-2025.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index 0e3ed13373408a..6826004ccb5c21 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -60,14 +60,18 @@ There has been great debate on Twitter concerning EIP-1890, and one of the prima ### Why a Loan? -A loan is necessary to complete certain stages of work before the funding mechanism is put into the protocol , and before it begins to provide funds. A loan would provide this necessary funding today, and the organizations willing to front this cost can recoup their contribution + a reward of *a fixed interest rate* for participating in ecosystem development. This arrangement will make it easier for organizations to participate who have sufficient funds. +A loan is necessary to complete certain stages of work before the funding mechanism is put into the protocol , and before it begins to provide funds. A loan would provide this necessary funding today, and the organizations willing to front this cost can recoup their contribution + a reward of *a fixed interest rate* for the risk on their loan. This arrangement will make it easier to find organizations willing to participate who have sufficient funds. + +### Loan Repayment + +![Loan State Diagram](https://docs.google.com/drawings/d/e/2PACX-1vQrYtGONSu16KncNOjDJrtrbAfBRU1FAgl_2neZjkLiJVxJATAVPiEjKUfVElA9zU7pc-3cCizRgqFn/pub?h=400) + +There is a risk for the Funding Organizations to lose part of their deposit in the case that the Block Rewards EIP is rejected by miners or by the community between the time the funds have been collected and the beginning of the payout schedule. In this case all remaining funds will be returned to the Funding Organizations at a small loss to them. The interest on the loan is an incentive for Funding Organizations to participate even with this risk. They could for example, lose 5% on their deposit or gain 10% should the proposal go through completely. ### Development Loan `Development Loan: 0.04` over 3.1 Million blocks = 124,000 ETH - ![Loan State Diagram](https://docs.google.com/drawings/d/e/2PACX-1vQG6WS0hXN6fC44-RnczXLierxwT9sPJ9C8F7hk6t5xD18f-k0nGM8qjwYSw9N939Bd3uT-nvad_082/pub?w=1990&h=724) - **Funding Working Groups on 1.X** * Funding Contractors, Coordinators, and project mangers. * Working Groups defined with clear mandates at the time of creation before allocating funds From 68828c4ab2ba5cf8e46936180155778018c43580 Mon Sep 17 00:00:00 2001 From: James Hancock Date: Thu, 23 May 2019 18:23:40 -0400 Subject: [PATCH 07/19] Updated Specification --- EIPS/eip-2025.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index 6826004ccb5c21..f40af70c9ae8ea 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -31,12 +31,31 @@ The context for this proposal came from attending the [Core Dev Eth1.X Meeting]( ## Specification -The Block Rewards Schedule set to a fixed period "EMISSION_SCHEDULE = 3,100,000 blocks" (≈18 months). After this point emission would halt with the following logic. `WHILE CURRENT_BLOCK - FORK_BLOCK < 3,100,000`. +Two constants will be introduced DEVFUND_BLOCK_REWARD, the total amount of rewards specified in Eth, and `EMISSION_SCHEDULE` which will terminate the block rewards after `CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= EMISSION_SCHEDULE`. Also, BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These will be determined as the loan is collected from participating organizations. The amount of Eth is proportional to the amount of Eth deposited in the loan, and the address specified where the loan will be repaid. At the end of `EMISSION_SCHEDULE` the loan will be completely repaid. -During the emission schedule, Block rewards will send funds to a smart contract that distributes funds to the following addresses* denominated in ETH. +``` +DEVFUND_BLOCK_REWARD = 0.044 +EMISSION_SCHEDULE = 3,100,000 + +BENEFICIARY_ADDRESSES = [ + (
, ), + (
, ) +] +``` +Beginning with block ISTANBUL_BLOCK_HEIGHT, the dev reward is added to the participating addresses within BENEFICIARY_ADDRESSES at each block until the end of the EMISSION_SCHEDULE. + +``` +IF (CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= EMISSION_SCHEDULE) + +FOR BENEFICIARY in BENEFICIARY_ADDRESSES: + BENEFICIARY[0].balance += BENEFICIARY[1] + +``` + +DEVFUND_BLOCK_REWARD is used in testing to verify that the sum of Eth distributed to `BENEFICIARY_ADDRESSES` is not greater than DEVFUND_BLOCK_REWARD -Distribution Per Block +## Distribution Per Block ``` Development Loan: 0.04 - 124,000 ETH Development Loan Interest 10%: 0.004 - 12,400 ETH From 7c99fd2c31685ff28c3ebb996a01e3c06eb7fe74 Mon Sep 17 00:00:00 2001 From: James Hancock Date: Thu, 23 May 2019 18:25:13 -0400 Subject: [PATCH 08/19] Formatting --- EIPS/eip-2025.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index f40af70c9ae8ea..094d06e9bd6e75 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -31,7 +31,7 @@ The context for this proposal came from attending the [Core Dev Eth1.X Meeting]( ## Specification -Two constants will be introduced DEVFUND_BLOCK_REWARD, the total amount of rewards specified in Eth, and `EMISSION_SCHEDULE` which will terminate the block rewards after `CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= EMISSION_SCHEDULE`. Also, BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These will be determined as the loan is collected from participating organizations. The amount of Eth is proportional to the amount of Eth deposited in the loan, and the address specified where the loan will be repaid. At the end of `EMISSION_SCHEDULE` the loan will be completely repaid. +Two constants will be introduced DEVFUND_BLOCK_REWARD, the total amount of rewards specified in Eth, and `EMISSION_SCHEDULE` which will terminate the block rewards after `CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= EMISSION_SCHEDULE`. Also, `BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These will be determined as the loan is collected from participating organizations. The amount of Eth is proportional to the amount of Eth deposited in the loan, and the address specified where the loan will be repaid. At the end of `EMISSION_SCHEDULE` the loan will be completely repaid. ``` DEVFUND_BLOCK_REWARD = 0.044 @@ -42,7 +42,7 @@ BENEFICIARY_ADDRESSES = [ (
, ) ] ``` -Beginning with block ISTANBUL_BLOCK_HEIGHT, the dev reward is added to the participating addresses within BENEFICIARY_ADDRESSES at each block until the end of the EMISSION_SCHEDULE. +Beginning with block `ISTANBUL_BLOCK_HEIGHT`, the dev reward is added to the participating addresses within `BENEFICIARY_ADDRESSES` at each block until the end of the `EMISSION_SCHEDULE`. ``` IF (CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= EMISSION_SCHEDULE) @@ -52,7 +52,7 @@ FOR BENEFICIARY in BENEFICIARY_ADDRESSES: ``` -DEVFUND_BLOCK_REWARD is used in testing to verify that the sum of Eth distributed to `BENEFICIARY_ADDRESSES` is not greater than DEVFUND_BLOCK_REWARD +`DEVFUND_BLOCK_REWARD` is used in testing to verify that the sum of Eth distributed to `BENEFICIARY_ADDRESSES` is not greater than `DEVFUND_BLOCK_REWARD` ## Distribution Per Block From cbf01cea7dab66afd5af245afdfbe4712fa4a86d Mon Sep 17 00:00:00 2001 From: James Hancock Date: Thu, 23 May 2019 18:27:45 -0400 Subject: [PATCH 09/19] Updated for clarity --- EIPS/eip-2025.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index 094d06e9bd6e75..266747e4adb3e0 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -31,7 +31,7 @@ The context for this proposal came from attending the [Core Dev Eth1.X Meeting]( ## Specification -Two constants will be introduced DEVFUND_BLOCK_REWARD, the total amount of rewards specified in Eth, and `EMISSION_SCHEDULE` which will terminate the block rewards after `CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= EMISSION_SCHEDULE`. Also, `BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These will be determined as the loan is collected from participating organizations. The amount of Eth is proportional to the amount of Eth deposited in the loan, and the address specified where the loan will be repaid. At the end of `EMISSION_SCHEDULE` the loan will be completely repaid. +Two constants will be introduced DEVFUND_BLOCK_REWARD, the total amount of rewards specified in Eth, and `EMISSION_SCHEDULE` which will terminate the block rewards after `CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= EMISSION_SCHEDULE`. Also, `BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These amounts will be determined as the loan is collected from participating organizations and the addresses for repayment will be specified by them. At the end of `EMISSION_SCHEDULE` the loan will be completely repaid. ``` DEVFUND_BLOCK_REWARD = 0.044 From 72c16ad7593aa6128b33efcdcae38e2327c60a78 Mon Sep 17 00:00:00 2001 From: James Hancock Date: Thu, 23 May 2019 18:41:07 -0400 Subject: [PATCH 10/19] Updated Titles --- EIPS/eip-2025.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index 266747e4adb3e0..44fc1f0901b751 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -55,7 +55,7 @@ FOR BENEFICIARY in BENEFICIARY_ADDRESSES: `DEVFUND_BLOCK_REWARD` is used in testing to verify that the sum of Eth distributed to `BENEFICIARY_ADDRESSES` is not greater than `DEVFUND_BLOCK_REWARD` -## Distribution Per Block +## Rewards Distribution Rationale ``` Development Loan: 0.04 - 124,000 ETH Development Loan Interest 10%: 0.004 - 12,400 ETH @@ -123,7 +123,7 @@ Eth1.X is the now of Ethereum and I would like to see it succeed. This is the in ### COI Previously I was PM for Tennagraph, a Signalling solution for Ethereum. An Aragon Grant funded this project and was distributed through Giveth and an AragonDAO. I have not received any funding from the project past this Grant. All of this is verifiable on-chain. I am stepping down from any paid role on the project to continue as an advisor. I am also stepping down as a moderator for stances as there is a COI moderating stances for EIPs I am working with directly. -### Finally +### Disclaimer I do not claim to represent the community with my views; any members who wish to join supporting me with this proposal are free to do so. I welcome feedback and will listen carefully, but any adaptations are according to my judgment. This is an honest reflection. This is as fair of a proposal as I can personally conceive. If the community rejects it then so be it, I am satisfied with the submission. From 41b5f73137627f67aac8cd3394ed8509aa79586f Mon Sep 17 00:00:00 2001 From: James Hancock Date: Fri, 24 May 2019 01:56:00 -0400 Subject: [PATCH 11/19] Updated Link --- EIPS/eip-1679.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-1679.md b/EIPS/eip-1679.md index 2d11e48970bc5c..ab31f3caf9175c 100644 --- a/EIPS/eip-1679.md +++ b/EIPS/eip-1679.md @@ -44,7 +44,7 @@ This meta-EIP specifies the changes included in the Ethereum hardfork named Ista - [EIP-1803](https://eips.ethereum.org/EIPS/eip-1803): Rename opcodes for clarity - [EIP-1829](https://eips.ethereum.org/EIPS/eip-1829): Precompile for Elliptic Curve Linear Combinations - [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884): Repricing for trie-size-dependent opcodes -- EIP-2025: Funding Eth1.x with Developer Block Rewards +- [EIP-2025](https://github.com/ethereum/EIPs/pull/2025): Funding Eth1.x with Developer Block Rewards ## Timeline From 7d1abebfccd7db79b5b2b4a035a0805b028fe913 Mon Sep 17 00:00:00 2001 From: James Hancock Date: Fri, 24 May 2019 08:51:21 -0400 Subject: [PATCH 12/19] Update eip-1679.md --- EIPS/eip-1679.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-1679.md b/EIPS/eip-1679.md index ab31f3caf9175c..aee1a952f5a10e 100644 --- a/EIPS/eip-1679.md +++ b/EIPS/eip-1679.md @@ -44,7 +44,7 @@ This meta-EIP specifies the changes included in the Ethereum hardfork named Ista - [EIP-1803](https://eips.ethereum.org/EIPS/eip-1803): Rename opcodes for clarity - [EIP-1829](https://eips.ethereum.org/EIPS/eip-1829): Precompile for Elliptic Curve Linear Combinations - [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884): Repricing for trie-size-dependent opcodes -- [EIP-2025](https://github.com/ethereum/EIPs/pull/2025): Funding Eth1.x with Developer Block Rewards +- [EIP-2025](https://eips.ethereum.org/EIPS/eip-2025): Funding Eth1.x with Developer Block Rewards ## Timeline From d0a1fea2c1b948a61738e7a76d587826d9f61619 Mon Sep 17 00:00:00 2001 From: Lane Rettig Date: Sat, 25 May 2019 16:14:54 -0400 Subject: [PATCH 13/19] Some proposed tweaks --- EIPS/eip-2025.md | 53 ++++++++++++++++++++---------------------------- 1 file changed, 22 insertions(+), 31 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index 44fc1f0901b751..e955be2d5265fb 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -13,25 +13,23 @@ requires: 1890 ## Simple Summary Add `0.044 ETH` per block for 18 months as a developer block reward reserved for funding Ethereum1.X development. -Currently, EIP 1890 is a proposal for a mechanism to capture Block Rewards for funding Development. That EIP has values and addresses set to zero. This proposal is to set those values to non-zero for 18 months focused on funding Ethereum 1.X working groups and organization efforts. The block reward will go towards paying back a loan with a small amount of interest to organizations in the Ethereum Community. After 18 months the block reward would again be set to zero. +Currently, EIP 1890 is a proposal for a mechanism to capture a portion of block rewards for sustainably funding ongoing network development. That EIP sets values and addresses to zero and so does not actually collect any rewards. This proposal is to set those values to non-zero for 18 months in order to fund Ethereum 1.X working groups and organization efforts. The block reward will go towards paying back a loan with a small amount of interest to organizations in the Ethereum community. After 18 months the block reward would again reduce to zero. ## Abstract -This EIP extends the mechanism established in EIP-1890 to add `0.044 ETH` to the Block Reward for a specific distribution period of `3,100,000 BLOCKS`(≈18 months). The `RECIPIENT_ADDRESS` set to a smart contract with hardcoded denominations that distribute ETH to a set of addresses for the purpose of Eth1.X development. The emission schedule would start at the inclusion of this EIP in a hard fork and continue until the end of the period `3,100,000 BLOCKS` (≈18 months) where the address and amount would again return to 0. Any further distribution will require a future hard fork. +This EIP extends the mechanism established in EIP-1890 to add `0.044 ETH` to the block reward for a specific distribution period of `3,100,000 BLOCKS`(≈ 18 months). The `RECIPIENT_ADDRESS` is set to a smart contract with hardcoded denominations that distributes incoming ETH to a set of addresses for the purpose of Eth1.X development. The emission schedule would start at the hard fork block number and continue for `3,100,000 BLOCKS` (≈ 18 months) at which point the address and amount would again return to 0. Any further distribution would require a future hard fork. ## Motivation The context for this proposal came from attending the [Core Dev Eth1.X Meeting](https://www.youtube.com/watch?v=Au1Qll-86v0) in Berlin. Development is needed to move Eth1.X forward, and I observed that a lack of funding is the primary barrier to this work. This work can only be effectively conducted within the context of working groups forming around these issues, and these working groups need funding in order to pay dedicated contractors and project managers. This proposal is a plan for funding these groups and supporting their operation. - - ## Specification -Two constants will be introduced DEVFUND_BLOCK_REWARD, the total amount of rewards specified in Eth, and `EMISSION_SCHEDULE` which will terminate the block rewards after `CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= EMISSION_SCHEDULE`. Also, `BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These amounts will be determined as the loan is collected from participating organizations and the addresses for repayment will be specified by them. At the end of `EMISSION_SCHEDULE` the loan will be completely repaid. +Two constants will be introduced: `DEVFUND_BLOCK_REWARD`, the total amount of rewards specified in Eth, and `EMISSION_SCHEDULE` which will terminate the block rewards at block height `ISTANBUL_BLOCK_HEIGHT + EMISSION_SCHEDULE`. Also, `BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These amounts will be determined as the loan is collected from participating organizations and the addresses for repayment will be specified by them. At the end of `EMISSION_SCHEDULE` the loan will be completely repaid. ``` DEVFUND_BLOCK_REWARD = 0.044 @@ -52,30 +50,27 @@ FOR BENEFICIARY in BENEFICIARY_ADDRESSES: ``` -`DEVFUND_BLOCK_REWARD` is used in testing to verify that the sum of Eth distributed to `BENEFICIARY_ADDRESSES` is not greater than `DEVFUND_BLOCK_REWARD` - +`DEVFUND_BLOCK_REWARD` is used in testing to verify that the sum of Eth distributed to `BENEFICIARY_ADDRESSES` is not greater than `DEVFUND_BLOCK_REWARD`. ## Rewards Distribution Rationale ``` - Development Loan: 0.04 - 124,000 ETH - Development Loan Interest 10%: 0.004 - 12,400 ETH + Development Loan: 0.04 ETH per block: 124,000 ETH total + Development Loan Interest 10%: 0.004 ETH per block: 12,400 ETH total - Total Block Reward Increase = `0.044` ETH Per Block - 136,400 ETH Total + Total Block Reward Increase = `0.044` ETH per block: 136,400 ETH Total ``` -*With a current price of Etheruem at $200.00 this will raise 25 million USD for developing Eth1.X over the next 18 months.* +*With a current price of Etheruem at $200.00 this will raise approx USD $25 million for developing Eth1.X over the next 18 months.* ![Block Rewards Distribution](https://docs.google.com/drawings/d/e/2PACX-1vRzpcFXvkftqEduftfCnNeJmjxQAyBjD1RMkuFt0JeURxSZ2oUSGA1HQ1-v5rjGeim2cn8IwF4UFH18/pub?w=873 "Logo Title Text 1") *Specific Addresses to be determined * [FAQ - Why hardcoded values?]( #why-hardcoded-values ) - ## Rationale -There has been great debate on Twitter concerning EIP-1890, and one of the primary concerns is that it is difficult to come to a conclusion without the other half of the proposal, or more specifically, how much and where to allocate Block Reward funds. There is a need for funding Eth1.x development and it is currently unclear from where those funds will come. This proposal is intended to give a more comprehensive proposal for its funding. In the case that ETH1.x is funded I will withdraw this EIP that would render it obsolete. Until that point I intend to continue championing this proposal as a valid funding mechanism for this work. - +There has been great debate on Twitter concerning EIP-1890, and one of the primary concerns is that it is difficult to come to a conclusion without the other half of the proposal, or more specifically, how much and where to allocate block reward funds. There is a need for funding Eth1.x development and it is currently unclear where those funds will come from. This proposal is intended to give a more comprehensive proposal for its funding. In the case that ETH1.x is funded I will withdraw this EIP that would render it obsolete. Until that point I intend to continue championing this proposal as a valid funding mechanism for this work. ### Why a Loan? @@ -92,10 +87,10 @@ There is a risk for the Funding Organizations to lose part of their deposit in t `Development Loan: 0.04` over 3.1 Million blocks = 124,000 ETH **Funding Working Groups on 1.X** -* Funding Contractors, Coordinators, and project mangers. -* Working Groups defined with clear mandates at the time of creation before allocating funds +* Funding Contractors, Coordinators, and project managers +* Working Groups defined with clear mandates at the time of creation before allocating funds * Membership and creation managed by the Core Devs (i.e., I would not choose them) -* 30-50 Core Devs is sufficient to work on ETH1.X +* 30-50 Core Devs is sufficient to work on ETH1.X * 7-8 Working groups with a Membership size of 3-7 is ideal from a coordination perspective. **ETH1.X Core Dev Gatherings** @@ -104,35 +99,31 @@ Funding hosting, traveling, and accomodations for neccesary in person gatherings **Client Teams** Any research completed by ETH1.X working groups will need to be integrated into core clients before the network can adopt any changes. It is anticipated some of these funds will go to support the existing client teams in this effort. -At the end of the 18 Months, the whole process would be torn down to prevent any internal tyranny of unstructuredness forming within. +At the end of the 18 Months, the whole process would be torn down to prevent any internal tyranny of structurelessness forming within. * [FAQ - How will the funding of the Devs be organized?]( #how-will-funding-the-devs-be-organized) ![Eth1.x Working Groups Status](https://docs.google.com/drawings/d/e/2PACX-1vRzaZFh4fZS0mksfyfJs1AsXNoqgfMmyJMYLHXEVariN-S9YsI43_FhHl1K_iO4rrqDsSy-tX4-MWws/pub?w=548&h=423) - - ## Personal Notes and Disclosure I want to address any concerns about conflicts of interests directly. My participation with Eth1.X currently has been as a volunteer. I am in talks about a possible funded role helping with testing and coordination. If my work for with Eth1.x is funded, I would seek the following conditions. 1) Funding for my work will not come from the loan meant for the Eth1.X Working Groups. -Eth1.X is the now of Ethereum and I would like to see it succeed. This is the intent of my proposal +Eth1.X is the now of Ethereum and I would like to see it succeed. This is the intent of my proposal. ### COI -Previously I was PM for Tennagraph, a Signalling solution for Ethereum. An Aragon Grant funded this project and was distributed through Giveth and an AragonDAO. I have not received any funding from the project past this Grant. All of this is verifiable on-chain. I am stepping down from any paid role on the project to continue as an advisor. I am also stepping down as a moderator for stances as there is a COI moderating stances for EIPs I am working with directly. +Previously I was PM for Tennagraph, a Signalling solution for Ethereum. An Aragon grant funded this project and was distributed through Giveth and an AragonDAO. I have not received any funding from the project past this grant. All of this is verifiable on-chain. I am stepping down from any paid role on the project to continue as an advisor. I am also stepping down as a moderator for stances as there is a COI moderating stances for EIPs I am working with directly. ### Disclaimer I do not claim to represent the community with my views; any members who wish to join supporting me with this proposal are free to do so. I welcome feedback and will listen carefully, but any adaptations are according to my judgment. This is an honest reflection. This is as fair of a proposal as I can personally conceive. If the community rejects it then so be it, I am satisfied with the submission. ## Backwards Compatibility - -None +This EIP has no impact on backwards compatibility. ## Test Cases - Not Implemented ## Implementation @@ -142,7 +133,7 @@ Not Implemented ## FAQ -### Why Hardcoded Values +### Why Hardcoded Values? Why not us a smart contract with some governance mechanism to allow changing the distribution of funds? Wouldn’t that be more flexible and effective? @@ -166,19 +157,19 @@ Criticisms or support aside, there is a system that governs ethereum today. It i I do not aim to change ethereum governance. Because this EIP has hardcoded values, it must go through the existing governance process, whatever that is, before it will be implemented in the network. It will then continue until as decided until the end of the emission schedule. This is intentional. This makes it uncapturable. No party other then the ecosystem itself can modify the contract once it has been deployed. -This EIP is not about Governance Reform +This EIP is not about governance reform. ### Why not allow current client implementors fund this work? (EF, Consensys, Parity, etc...) -Historically there has been a precedent that the Ethereum foundation is solely responsible for funding the development of Ethereum. This process has evolved as the development has become more distributed. Aya Miyaguci observed in a recent [coindesk article](https://www.coindesk.com/ethereum-foundation-director-sets-new-vision-for-blockchain-non-profit). “it really is not only Ethereum Foundation people who are building [ethereum,]”. Yes, we could rely on the Ethereum Foundation to fund Eth1.X. But, why should we? This is a call for the network to come together and fund its own development. Ethereum the Network is not owned by any one organization or group of people. We are lucky to have the EF and I consider this EIP in support of their coordination efforts. +Historically there has been a precedent that the Ethereum foundation is solely responsible for funding the development of Ethereum. This process has evolved as the development has become more distributed. Aya Miyaguci observed in a recent [coindesk article](https://www.coindesk.com/ethereum-foundation-director-sets-new-vision-for-blockchain-non-profit), “it really is not only Ethereum Foundation people who are building [ethereum,]”. Yes, we could rely on the Ethereum Foundation to fund Eth1.X. But, why should we? This is a call for the network to come together and fund its own development. Ethereum the Network is not owned by any one organization or group of people. We are lucky to have the EF and I consider this EIP in support of their coordination efforts. ### How Will Funding the Devs be Organized -I do not profess to know the best way to organize these funds. There is work already in progress to organize these efforts championed by Alexey Akhunov. The following is a quote from a [recent medium article](https://medium.com/@akhounov/ethereum-1x-as-an-attempt-to-change-the-process-783efa23cf60). +I do not profess to know the best way to organize these funds. There is work already in progress to organize these efforts championed by Alexey Akhunov. The following is a quote from a [recent medium article](https://medium.com/@akhounov/ethereum-1x-as-an-attempt-to-change-the-process-783efa23cf60): ->“Going from funding a few implementation teams continuously and letting them do “their stuff” to funding more specific and temporary initiatives requires looking at funding through different lenses. How much “due diligence” and oversight is too much (in terms of overhead), who can decide whether working groups actually deliver, etc. This is also solvable, and also more on this will come later (not in this post). +>“Going from funding a few implementation teams continuously and letting them do 'their stuff' to funding more specific and temporary initiatives requires looking at funding through different lenses. How much 'due diligence' and oversight is too much (in terms of overhead), who can decide whether working groups actually deliver, etc. This is also solvable, and also more on this will come later (not in this post)." -My suggestion would be to create an Eth1.X core developer DAO using [DaoStack](https://daostack.io/) to coordinate memberhips and payment of the CoreDevs, but ultimately they are capable of determining the system that works best for them. As long as the system is transparent and mature enough to distribute funds when the time comes, this is sufficient for now. +My suggestion would be to create an Eth1.X core developer DAO using [DaoStack](https://daostack.io/) to coordinate membership and payment of the CoreDevs, but ultimately they are capable of determining the system that works best for them. As long as the system is transparent and mature enough to distribute funds when the time comes, this is sufficient for now. ### Isn't a loan considered a security, or is it? From cbce2c0d5e903431567312568b412822fd11f7a9 Mon Sep 17 00:00:00 2001 From: James Hancock Date: Sat, 25 May 2019 19:59:44 -0400 Subject: [PATCH 14/19] Updates to Variable Names based on feedback. --- EIPS/eip-2025.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index e955be2d5265fb..f4b254bb4e6528 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -29,21 +29,21 @@ The context for this proposal came from attending the [Core Dev Eth1.X Meeting]( ## Specification -Two constants will be introduced: `DEVFUND_BLOCK_REWARD`, the total amount of rewards specified in Eth, and `EMISSION_SCHEDULE` which will terminate the block rewards at block height `ISTANBUL_BLOCK_HEIGHT + EMISSION_SCHEDULE`. Also, `BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These amounts will be determined as the loan is collected from participating organizations and the addresses for repayment will be specified by them. At the end of `EMISSION_SCHEDULE` the loan will be completely repaid. +Two constants will be introduced: `DEVFUND_BLOCK_REWARD`, the total amount of rewards specified in Eth, and `REWARD_DURATION_IN_BLOCKS` which will terminate the block rewards at block height `ISTANBUL_BLOCK_HEIGHT + REWARD_DURATION_IN_BLOCKS`. Also, `BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These amounts will be determined as the loan is collected from participating organizations and the addresses for repayment will be specified by them. At the end of `REWARD_DURATION_IN_BLOCKS` the loan will be completely repaid. ``` DEVFUND_BLOCK_REWARD = 0.044 -EMISSION_SCHEDULE = 3,100,000 +REWARD_DURATION_IN_BLOCKS = 3,100,000 BENEFICIARY_ADDRESSES = [ (
, ), (
, ) ] ``` -Beginning with block `ISTANBUL_BLOCK_HEIGHT`, the dev reward is added to the participating addresses within `BENEFICIARY_ADDRESSES` at each block until the end of the `EMISSION_SCHEDULE`. +Beginning with block `ISTANBUL_BLOCK_HEIGHT`, the dev reward is added to the participating addresses within `BENEFICIARY_ADDRESSES` at each block until the end of the `REWARD_DURATION_IN_BLOCKS`. ``` -IF (CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= EMISSION_SCHEDULE) +IF (CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= REWARD_DURATION_IN_BLOCKS) FOR BENEFICIARY in BENEFICIARY_ADDRESSES: BENEFICIARY[0].balance += BENEFICIARY[1] From d341400a92114183c4a90aa32ece1649c02d08c1 Mon Sep 17 00:00:00 2001 From: Lane Rettig Date: Sun, 16 Jun 2019 17:13:11 +0200 Subject: [PATCH 15/19] Begin some proposed tweaks --- EIPS/eip-2025.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index f4b254bb4e6528..2612535567ec25 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -11,20 +11,21 @@ requires: 1890 --- ## Simple Summary -Add `0.044 ETH` per block for 18 months as a developer block reward reserved for funding Ethereum1.X development. +Add `0.044 ETH` per block for 18 months as a developer block reward reserved for funding Ethereum 1.X development. -Currently, EIP 1890 is a proposal for a mechanism to capture a portion of block rewards for sustainably funding ongoing network development. That EIP sets values and addresses to zero and so does not actually collect any rewards. This proposal is to set those values to non-zero for 18 months in order to fund Ethereum 1.X working groups and organization efforts. The block reward will go towards paying back a loan with a small amount of interest to organizations in the Ethereum community. After 18 months the block reward would again reduce to zero. +[EIP-1890](http://eips.ethereum.org/EIPS/eip-1890) proposes a mechanism to capture a portion of block rewards for sustainably funding ongoing network development. That EIP sets values and addresses to zero and so does not actually collect any rewards. This proposal is to explicitly set those values and begin collecting a portion of block rewards for 18 months in order to fund Ethereum 1.X working groups and organization efforts. This funding will be used to repay an initial loan provided by investors in the community funding this work with a small amount of interest. After 18 months the block reward would again reduce to zero. ## Abstract -This EIP extends the mechanism established in EIP-1890 to add `0.044 ETH` to the block reward for a specific distribution period of `3,100,000 BLOCKS`(≈ 18 months). The `RECIPIENT_ADDRESS` is set to a smart contract with hardcoded denominations that distributes incoming ETH to a set of addresses for the purpose of Eth1.X development. The emission schedule would start at the hard fork block number and continue for `3,100,000 BLOCKS` (≈ 18 months) at which point the address and amount would again return to 0. Any further distribution would require a future hard fork. + +This EIP extends the mechanism established in [EIP-1890](http://eips.ethereum.org/EIPS/eip-1890) to add `0.044 ETH` to the block reward for a specific distribution period of `3,100,000 BLOCKS` (≈ 18 months). The `RECIPIENT_ADDRESS` is set to a smart contract with hardcoded denominations that distributes incoming ETH to a set of addresses for the purpose of Eth1.X development. The emission schedule would start at the hard fork block number and continue for `3,100,000 BLOCKS` at which point the amount collected would be reduced to zero. Any further distribution would require a future hard fork. ## Motivation -The context for this proposal came from attending the [Core Dev Eth1.X Meeting](https://www.youtube.com/watch?v=Au1Qll-86v0) in Berlin. Development is needed to move Eth1.X forward, and I observed that a lack of funding is the primary barrier to this work. This work can only be effectively conducted within the context of working groups forming around these issues, and these working groups need funding in order to pay dedicated contractors and project managers. This proposal is a plan for funding these groups and supporting their operation. +The context for this proposal came from attending the [Core Dev Eth1.X Meeting](https://www.youtube.com/watch?v=Au1Qll-86v0) in Berlin. Development is needed to move Eth1.X forward, and I observed that a lack of funding is the primary barrier to this work. This work can only be effectively conducted by working groups forming around these issues, and these working groups need funding in order to pay dedicated contractors and project managers. This proposal is a plan for funding these groups and supporting their operation. ## Specification From 29ebc662c282b78d4fb78dc3413753197840576e Mon Sep 17 00:00:00 2001 From: Lane Rettig Date: Sun, 16 Jun 2019 17:36:51 +0200 Subject: [PATCH 16/19] Finished first pass of tweaks --- EIPS/eip-2025.md | 78 +++++++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index 2612535567ec25..b48493151f0676 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -30,38 +30,39 @@ The context for this proposal came from attending the [Core Dev Eth1.X Meeting]( ## Specification -Two constants will be introduced: `DEVFUND_BLOCK_REWARD`, the total amount of rewards specified in Eth, and `REWARD_DURATION_IN_BLOCKS` which will terminate the block rewards at block height `ISTANBUL_BLOCK_HEIGHT + REWARD_DURATION_IN_BLOCKS`. Also, `BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These amounts will be determined as the loan is collected from participating organizations and the addresses for repayment will be specified by them. At the end of `REWARD_DURATION_IN_BLOCKS` the loan will be completely repaid. +Two constants will be introduced: + +- `REWARD_DURATION_IN_BLOCKS`, which specifies the number of blocks after `ISTANBUL_BLOCK_HEIGHT` when the reward collection will terminate (i.e., at block `ISTANBUL_BLOCK_HEIGHT + REWARD_DURATION_IN_BLOCKS`) +- `BENEFICIARY_ADDRESSES`, a list of tuples containing the address and the amount to be transferred to this address per block. These amounts will be determined as the loan is collected from participating organizations and the addresses for repayment will be specified by them. The total of the amounts will sum to 0.044. At the end of `REWARD_DURATION_IN_BLOCKS` the loan will be completely repaid. ``` -DEVFUND_BLOCK_REWARD = 0.044 -REWARD_DURATION_IN_BLOCKS = 3,100,000 +REWARD_DURATION_IN_BLOCKS = 3100000 BENEFICIARY_ADDRESSES = [ (
, ), (
, ) ] ``` -Beginning with block `ISTANBUL_BLOCK_HEIGHT`, the dev reward is added to the participating addresses within `BENEFICIARY_ADDRESSES` at each block until the end of the `REWARD_DURATION_IN_BLOCKS`. + +Beginning with block `ISTANBUL_BLOCK_HEIGHT`, the reward is added to the participating addresses within `BENEFICIARY_ADDRESSES` at each block until the end of the `REWARD_DURATION_IN_BLOCKS`. ``` -IF (CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= REWARD_DURATION_IN_BLOCKS) +IF (CURRENT_BLOCK - ISTANBUL_BLOCK_HEIGHT <= REWARD_DURATION_IN_BLOCKS) FOR BENEFICIARY in BENEFICIARY_ADDRESSES: BENEFICIARY[0].balance += BENEFICIARY[1] ``` -`DEVFUND_BLOCK_REWARD` is used in testing to verify that the sum of Eth distributed to `BENEFICIARY_ADDRESSES` is not greater than `DEVFUND_BLOCK_REWARD`. - ## Rewards Distribution Rationale ``` - Development Loan: 0.04 ETH per block: 124,000 ETH total - Development Loan Interest 10%: 0.004 ETH per block: 12,400 ETH total + Development loan repayment: 0.04 ETH per block: 124,000 ETH total + Development loan interest (10% total over the period, simple interest): 0.004 ETH per block: 12,400 ETH total Total Block Reward Increase = `0.044` ETH per block: 136,400 ETH Total ``` -*With a current price of Etheruem at $200.00 this will raise approx USD $25 million for developing Eth1.X over the next 18 months.* +*With a current price of Etheruem at $270.00 this will raise approx USD $36 million for developing Eth1.X over the next 18 months.* ![Block Rewards Distribution](https://docs.google.com/drawings/d/e/2PACX-1vRzpcFXvkftqEduftfCnNeJmjxQAyBjD1RMkuFt0JeURxSZ2oUSGA1HQ1-v5rjGeim2cn8IwF4UFH18/pub?w=873 "Logo Title Text 1") *Specific Addresses to be determined @@ -71,60 +72,63 @@ FOR BENEFICIARY in BENEFICIARY_ADDRESSES: ## Rationale -There has been great debate on Twitter concerning EIP-1890, and one of the primary concerns is that it is difficult to come to a conclusion without the other half of the proposal, or more specifically, how much and where to allocate block reward funds. There is a need for funding Eth1.x development and it is currently unclear where those funds will come from. This proposal is intended to give a more comprehensive proposal for its funding. In the case that ETH1.x is funded I will withdraw this EIP that would render it obsolete. Until that point I intend to continue championing this proposal as a valid funding mechanism for this work. +There has been great public debate concerning EIP-1890, and one of the primary concerns is that it is difficult to evaluate the proposal without more complete information on how funds would be raised, how they would be administered, and how they would be used. There is a need for funding Eth1.x development and it is currently unclear where those funds will come from. This proposal is intended to give a more comprehensive proposal for its funding. In the case that ETH1.x is fully funded before the Istanbul upgrade I will withdraw this EIP. Until that point I intend to continue championing this proposal as a valid funding mechanism for this work. -### Why a Loan? +### Why a loan? -A loan is necessary to complete certain stages of work before the funding mechanism is put into the protocol , and before it begins to provide funds. A loan would provide this necessary funding today, and the organizations willing to front this cost can recoup their contribution + a reward of *a fixed interest rate* for the risk on their loan. This arrangement will make it easier to find organizations willing to participate who have sufficient funds. +The Eth1x initiative needs funding now, not in 18 months. A loan is necessary to complete certain stages of work before the funding mechanism begins to provide funds. A loan would provide this necessary funding today, and the investors willing to front this cost can recoup their contribution + a reward of *a fixed interest rate* for the risk on their loan. This arrangement will make it easier to find investors willing to participate who have sufficient funds. ### Loan Repayment ![Loan State Diagram](https://docs.google.com/drawings/d/e/2PACX-1vQrYtGONSu16KncNOjDJrtrbAfBRU1FAgl_2neZjkLiJVxJATAVPiEjKUfVElA9zU7pc-3cCizRgqFn/pub?h=400) -There is a risk for the Funding Organizations to lose part of their deposit in the case that the Block Rewards EIP is rejected by miners or by the community between the time the funds have been collected and the beginning of the payout schedule. In this case all remaining funds will be returned to the Funding Organizations at a small loss to them. The interest on the loan is an incentive for Funding Organizations to participate even with this risk. They could for example, lose 5% on their deposit or gain 10% should the proposal go through completely. +There is a risk that the investors lose part of their contribution in the case that this EIP is rejected by the community between the time the funds have been collected and the beginning of the payout schedule. In this case all remaining funds will be returned to the contributors. The interest on the loan is an incentive for investors to participate in spite of this risk. Their downside is limited to the amount of funds spent before this EIP is accepted or rejected, which should be no more than about 5%, while their upside consists of the 10% simple interest paid over the period. ### Development Loan -`Development Loan: 0.04` over 3.1 Million blocks = 124,000 ETH +`Development Loan: 0.04` per block over 3.1 million blocks = 124,000 ETH **Funding Working Groups on 1.X** -* Funding Contractors, Coordinators, and project managers -* Working Groups defined with clear mandates at the time of creation before allocating funds + +* Funding contractors, coordinators, and project managers +* Working groups defined with clear mandates at the time of creation before allocating funds * Membership and creation managed by the Core Devs (i.e., I would not choose them) * 30-50 Core Devs is sufficient to work on ETH1.X - * 7-8 Working groups with a Membership size of 3-7 is ideal from a coordination perspective. + * 7-8 Working groups with a membership size of 3-7 is ideal from a coordination perspective **ETH1.X Core Dev Gatherings** + Funding hosting, traveling, and accomodations for neccesary in person gatherings of ETH1.X core developers similar to the Stanford and Berlin ETH1.x Core Dev Meeting held earlier this year. **Client Teams** -Any research completed by ETH1.X working groups will need to be integrated into core clients before the network can adopt any changes. It is anticipated some of these funds will go to support the existing client teams in this effort. -At the end of the 18 Months, the whole process would be torn down to prevent any internal tyranny of structurelessness forming within. +Any research completed by ETH1.X working groups will need to be integrated into core clients before the network can adopt any changes. It is anticipated some of these funds will go to support the existing client teams in this effort. +At the end of the 18 Months, the whole process would be torn down to prevent formation of any tyranny of structurelessness. -* [FAQ - How will the funding of the Devs be organized?]( #how-will-funding-the-devs-be-organized) +* [FAQ - How will the funding of the devs be organized?](#how-will-funding-the-devs-be-organized) ![Eth1.x Working Groups Status](https://docs.google.com/drawings/d/e/2PACX-1vRzaZFh4fZS0mksfyfJs1AsXNoqgfMmyJMYLHXEVariN-S9YsI43_FhHl1K_iO4rrqDsSy-tX4-MWws/pub?w=548&h=423) ## Personal Notes and Disclosure -I want to address any concerns about conflicts of interests directly. My participation with Eth1.X currently has been as a volunteer. I am in talks about a possible funded role helping with testing and coordination. If my work for with Eth1.x is funded, I would seek the following conditions. - - 1) Funding for my work will not come from the loan meant for the Eth1.X Working Groups. +I want to address any concerns about conflicts of interests directly. My participation with Eth1.X currently has been as a volunteer. I am in talks about a possible funded role helping with testing and coordination. If my work for with Eth1.x is funded, I will accept no additional funding collected by the mechanism proposed in this EIP. Eth1.X is the now of Ethereum and I would like to see it succeed. This is the intent of my proposal. ### COI -Previously I was PM for Tennagraph, a Signalling solution for Ethereum. An Aragon grant funded this project and was distributed through Giveth and an AragonDAO. I have not received any funding from the project past this grant. All of this is verifiable on-chain. I am stepping down from any paid role on the project to continue as an advisor. I am also stepping down as a moderator for stances as there is a COI moderating stances for EIPs I am working with directly. + +Previously I was PM for Tennagraph, a signalling solution for Ethereum. An Aragon grant funded this project and was distributed through Giveth and an AragonDAO. I have not received any funding from the project beyond this grant. All of this is verifiable on-chain. I am stepping down from any paid role on the project to continue as an advisor. I am also stepping down as a moderator for stances as there is a COI moderating stances for EIPs I am working with directly. ### Disclaimer -I do not claim to represent the community with my views; any members who wish to join supporting me with this proposal are free to do so. I welcome feedback and will listen carefully, but any adaptations are according to my judgment. This is an honest reflection. This is as fair of a proposal as I can personally conceive. If the community rejects it then so be it, I am satisfied with the submission. +I do not claim to represent the community with my views; any members who wish to join supporting me with this proposal are free to do so. This is as fair of a proposal as I can personally conceive. ## Backwards Compatibility + This EIP has no impact on backwards compatibility. ## Test Cases + Not Implemented ## Implementation @@ -138,15 +142,15 @@ Not Implemented Why not us a smart contract with some governance mechanism to allow changing the distribution of funds? Wouldn’t that be more flexible and effective? -*TL;DR This EIP is not about Governance Reform* +*TLDR: This EIP is not about governance reform* First, the payment of the loan will be hardcoded. Once agreed, the terms must be kept to give the lenders confidence in the repayment of the loan. As long as blocks are created the debt will be paid back. This is the essence of a trustless smart contract. -After the loan, there is the option to allow the amounts (limited to less than .05ETH), and the locations (orgs that receive ecosystem funding) to be changed throughout the emission schedule. A smart contract or DAO is pretty easy to imagine fulfilling this role. However, there are three classes of options available today we can consider when governing changes. +After the loan, there is the option to allow the amounts (limited to less than .05ETH), and the locations (orgs that receive ecosystem funding) to be changed throughout the emission schedule. It is pretty easy to imagine a smart contract or DAO fulfilling this role. However, there are three classes of options available today we can consider when governing changes. * **Give the Keys to the Hands of the Few (Oligarchy)** -Create a multisig that allows a group of individuals to update the smart contract. The most likely candidates for this are the Core Devs themselves, but it could also be a trusted few from the community/stakeholders. No matter how you slice it, there is a fundamental issue in deciding who gets to decide. There currently is not an trusted/adopted governance mechanism to make these decisions with-in Ethereum. Also, preventing changing the contract in self interest is difficult without a well engineered governance system of checks and balances. This EIP does not claim, nor aim to solve these issues. +Create a multisig that allows a group of individuals to update the smart contract. The most likely candidates for this are the Core Devs themselves, but it could also be a trusted few from the community/stakeholders. No matter how you slice it, there is a fundamental issue in deciding who gets to decide. There currently is not a trusted/adopted governance mechanism to make these decisions within the Ethereum ecosytem. Also, preventing changing the contract in self interest is difficult without a well-engineered governance system of checks and balances. This EIP does not claim nor aim to solve these issues. * **Give the Keys to the Hands of the Many (Plutarchy)** @@ -154,36 +158,36 @@ Allow ethereum holders with coin votes to update the smart contract. Using holog * **Use Ethereum Governance as it is Today** -Criticisms or support aside, there is a system that governs ethereum today. It is a mix of rough consensus among core devs, miners running nodes, clients implementing changes, and stakeholders adopting those changes. It includes yelling or not yelling on twitter and reddit. It is complicated and I don’t claim to understand it. Even without a clear view of how it works, there is evidence of its existence. This evidence is there are changes that have allowed to be implemented, and changes that have not allowed to be implemented in Ethereum. +Criticisms or support aside, there is a system that governs Ethereum today. It is a mix of rough consensus among core devs, miners running nodes, clients implementing changes, and stakeholders adopting those changes. It includes yelling or not yelling on twitter and reddit. It is complicated and I don’t claim to understand it. Even without a clear view of how it works, there is evidence of its existence. This evidence is there are changes that have allowed to be implemented, and changes that have not allowed to be implemented in Ethereum. -I do not aim to change ethereum governance. Because this EIP has hardcoded values, it must go through the existing governance process, whatever that is, before it will be implemented in the network. It will then continue until as decided until the end of the emission schedule. This is intentional. This makes it uncapturable. No party other then the ecosystem itself can modify the contract once it has been deployed. +I do not aim to change Ethereum governance. Because this EIP has hardcoded values, it must go through the existing governance process, whatever that is, before it is implemented. It will then continue to operate until the end of the emission schedule. This is intentional. This makes it uncapturable. No party other then the ecosystem itself can modify the contract once it has been deployed. This EIP is not about governance reform. ### Why not allow current client implementors fund this work? (EF, Consensys, Parity, etc...) -Historically there has been a precedent that the Ethereum foundation is solely responsible for funding the development of Ethereum. This process has evolved as the development has become more distributed. Aya Miyaguci observed in a recent [coindesk article](https://www.coindesk.com/ethereum-foundation-director-sets-new-vision-for-blockchain-non-profit), “it really is not only Ethereum Foundation people who are building [ethereum,]”. Yes, we could rely on the Ethereum Foundation to fund Eth1.X. But, why should we? This is a call for the network to come together and fund its own development. Ethereum the Network is not owned by any one organization or group of people. We are lucky to have the EF and I consider this EIP in support of their coordination efforts. +Historically there has been a precedent that the Ethereum Foundation is solely responsible for funding the development of Ethereum. This process has evolved as the development has become more distributed. Aya Miyaguchi observed in a recent [Coindesk article](https://www.coindesk.com/ethereum-foundation-director-sets-new-vision-for-blockchain-non-profit), “it really is not only Ethereum Foundation people who are building [Ethereum]”. Yes, we could rely on the Ethereum Foundation to fund Eth1.X. But, why should we? This is a call for the network to come together and fund its own development. Ethereum _the network_ is not owned by any one organization or group of people. We are lucky to have the EF and I consider this EIP in support of their coordination efforts. ### How Will Funding the Devs be Organized I do not profess to know the best way to organize these funds. There is work already in progress to organize these efforts championed by Alexey Akhunov. The following is a quote from a [recent medium article](https://medium.com/@akhounov/ethereum-1x-as-an-attempt-to-change-the-process-783efa23cf60): ->“Going from funding a few implementation teams continuously and letting them do 'their stuff' to funding more specific and temporary initiatives requires looking at funding through different lenses. How much 'due diligence' and oversight is too much (in terms of overhead), who can decide whether working groups actually deliver, etc. This is also solvable, and also more on this will come later (not in this post)." +> “Going from funding a few implementation teams continuously and letting them do 'their stuff' to funding more specific and temporary initiatives requires looking at funding through different lenses. How much 'due diligence' and oversight is too much (in terms of overhead), who can decide whether working groups actually deliver, etc. This is also solvable, and also more on this will come later (not in this post)." -My suggestion would be to create an Eth1.X core developer DAO using [DaoStack](https://daostack.io/) to coordinate membership and payment of the CoreDevs, but ultimately they are capable of determining the system that works best for them. As long as the system is transparent and mature enough to distribute funds when the time comes, this is sufficient for now. +My suggestion would be to create an Eth1.X core developer DAO using [DaoStack](https://daostack.io/) to coordinate membership and payment of the Core Devs, but ultimately they are capable of determining the system that works best for them. As long as the system is transparent and mature enough to distribute funds when the time comes, this is sufficient for now. ### Isn't a loan considered a security, or is it? I am not a lawyer and will seek further guidance from lawyers in the field on this point in particular. From the research I have done and conversations I have had there is a very good argument that a loan of this nature will not be considered a security by the US Supreme Court. -As the result of [REVES ET AL. v . ERNST YOUNG 1990](https://casetext.com/case/reves-v-ernst-young), the court stated that a home loan, consumer financing, a loan secured by a lien on a small business or some assets of a small business, short term notes, or notes that formalize a debt incurred in the ordinary course of business are not securities. If the note resembles the items listed above (home loans, etc.) then the note will not be deemed a security. The Supreme Court provided four factors to determine if a note sufficiently resembles the types of notes that are not classified as securities. [src](https://www.invigorlaw.com/loan-subject-securities-regulations/) +As the result of [REVES ET AL. v . ERNST YOUNG 1990](https://casetext.com/case/reves-v-ernst-young), the court stated that a home loan, consumer financing, a loan secured by a lien on a small business or some assets of a small business, short term notes, or notes that formalize a debt incurred in the ordinary course of business are not securities. If the note resembles the items listed above (home loans, etc.) then the note will not be deemed a security. The Supreme Court provided four factors to determine if a note sufficiently resembles the types of notes that are not classified as securities. ([source](https://www.invigorlaw.com/loan-subject-securities-regulations/)) **Family Resemblance Test** 1) The intentions of the company and the individual—if the company raised money for general use in a business enterprise, then the note is more likely to be a security; if the individual agreed to the loan primarily for the profit the note was expected to generate, the note is more likely to be a security. - 2)The plan of distribution—the more widely the note is offered, the more likely it is to be found a security. + 2) The plan of distribution—the more widely the note is offered, the more likely it is to be found a security. 3) The expectations of the investing public—if the investors thought they were investing in a business to make a profit on their investment, the note is more likely to be found a security. 4) Other risk-reducing factor—if the note is collateralized or otherwise less risky than common notes, the note is less likely to be found to be a security. -The loan is for the specific use of supporting Eth1.X research and deployment. The Distribution will not be widely offered and the note will be collateralized by the network itself, Made in ETH and repaid in ETH. I in coordinating the collection of these funds recognise I may be legally liable for some of this work and I will do all of the duedillegence I can, seek legal counsel, and accept any legal repercussions resulting from this work. +The loan is for the specific use of supporting Eth1.X research and development. The distribution will not be widely offered and the note will be collateralized by the network itself, provided in ETH and repaid in ETH. In coordinating the collection of these funds recognise I may be legally liable for some of this work and I will do all of the due dilegence I can, seek legal counsel, and accept any legal repercussions resulting from this work. #### From d1be7443363a2f868dcf8f639e90697e371ae8c7 Mon Sep 17 00:00:00 2001 From: James Hancock Date: Tue, 18 Jun 2019 23:54:27 -0400 Subject: [PATCH 17/19] Updated amounts --- EIPS/eip-2025.md | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index f4b254bb4e6528..13e4f639b5884e 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -11,7 +11,7 @@ requires: 1890 --- ## Simple Summary -Add `0.044 ETH` per block for 18 months as a developer block reward reserved for funding Ethereum1.X development. +Add `0.0055 ETH` per block for 18 months as a developer block reward reserved for funding Ethereum1.X development. Currently, EIP 1890 is a proposal for a mechanism to capture a portion of block rewards for sustainably funding ongoing network development. That EIP sets values and addresses to zero and so does not actually collect any rewards. This proposal is to set those values to non-zero for 18 months in order to fund Ethereum 1.X working groups and organization efforts. The block reward will go towards paying back a loan with a small amount of interest to organizations in the Ethereum community. After 18 months the block reward would again reduce to zero. @@ -19,7 +19,7 @@ Currently, EIP 1890 is a proposal for a mechanism to capture a portion of block ## Abstract -This EIP extends the mechanism established in EIP-1890 to add `0.044 ETH` to the block reward for a specific distribution period of `3,100,000 BLOCKS`(≈ 18 months). The `RECIPIENT_ADDRESS` is set to a smart contract with hardcoded denominations that distributes incoming ETH to a set of addresses for the purpose of Eth1.X development. The emission schedule would start at the hard fork block number and continue for `3,100,000 BLOCKS` (≈ 18 months) at which point the address and amount would again return to 0. Any further distribution would require a future hard fork. +This EIP extends the mechanism established in EIP-1890 to add `0.0055 ETH` to the block reward for a specific distribution period of `3,100,000 BLOCKS`(≈ 18 months). The `RECIPIENT_ADDRESS` is set to a smart contract with hardcoded denominations that distributes incoming ETH to a set of addresses for the purpose of Eth1.X development. The emission schedule would start at the hard fork block number and continue for `3,100,000 BLOCKS` (≈ 18 months) at which point the address and amount would again return to 0. Any further distribution would require a future hard fork. ## Motivation @@ -32,7 +32,7 @@ The context for this proposal came from attending the [Core Dev Eth1.X Meeting]( Two constants will be introduced: `DEVFUND_BLOCK_REWARD`, the total amount of rewards specified in Eth, and `REWARD_DURATION_IN_BLOCKS` which will terminate the block rewards at block height `ISTANBUL_BLOCK_HEIGHT + REWARD_DURATION_IN_BLOCKS`. Also, `BENEFICIARY_ADDRESSES` is introduced which is a list of tuples containing the address and the amount to be deposited. These amounts will be determined as the loan is collected from participating organizations and the addresses for repayment will be specified by them. At the end of `REWARD_DURATION_IN_BLOCKS` the loan will be completely repaid. ``` -DEVFUND_BLOCK_REWARD = 0.044 +DEVFUND_BLOCK_REWARD = 0.0055 REWARD_DURATION_IN_BLOCKS = 3,100,000 BENEFICIARY_ADDRESSES = [ @@ -54,13 +54,13 @@ FOR BENEFICIARY in BENEFICIARY_ADDRESSES: ## Rewards Distribution Rationale ``` - Development Loan: 0.04 ETH per block: 124,000 ETH total - Development Loan Interest 10%: 0.004 ETH per block: 12,400 ETH total + Development Loan: 0.005 ETH per block: 15500 ETH total + Development Loan Interest 10%: 0.0005 ETH per block: 1550 ETH total - Total Block Reward Increase = `0.044` ETH per block: 136,400 ETH Total + Total Block Reward Increase = `0.0055` ETH per block: 17050 ETH Total ``` -*With a current price of Etheruem at $200.00 this will raise approx USD $25 million for developing Eth1.X over the next 18 months.* +*With a price of Etheruem at $150.00 this will raise approx USD $2,325,000.00 for developing Eth1.X over the next 18 months.* ![Block Rewards Distribution](https://docs.google.com/drawings/d/e/2PACX-1vRzpcFXvkftqEduftfCnNeJmjxQAyBjD1RMkuFt0JeURxSZ2oUSGA1HQ1-v5rjGeim2cn8IwF4UFH18/pub?w=873 "Logo Title Text 1") *Specific Addresses to be determined @@ -84,25 +84,20 @@ There is a risk for the Funding Organizations to lose part of their deposit in t ### Development Loan -`Development Loan: 0.04` over 3.1 Million blocks = 124,000 ETH +`Development Loan: 0.005` over 3.1 Million blocks = 15500 ETH **Funding Working Groups on 1.X** * Funding Contractors, Coordinators, and project managers * Working Groups defined with clear mandates at the time of creation before allocating funds -* Membership and creation managed by the Core Devs (i.e., I would not choose them) -* 30-50 Core Devs is sufficient to work on ETH1.X - * 7-8 Working groups with a Membership size of 3-7 is ideal from a coordination perspective. +* Membership and creation managed by the Core Devs **ETH1.X Core Dev Gatherings** Funding hosting, traveling, and accomodations for neccesary in person gatherings of ETH1.X core developers similar to the Stanford and Berlin ETH1.x Core Dev Meeting held earlier this year. -**Client Teams** -Any research completed by ETH1.X working groups will need to be integrated into core clients before the network can adopt any changes. It is anticipated some of these funds will go to support the existing client teams in this effort. - At the end of the 18 Months, the whole process would be torn down to prevent any internal tyranny of structurelessness forming within. -* [FAQ - How will the funding of the Devs be organized?]( #how-will-funding-the-devs-be-organized) +* [FAQ - How will the funding of the devs be organized?]( #how-will-funding-the-devs-be-organized) ![Eth1.x Working Groups Status](https://docs.google.com/drawings/d/e/2PACX-1vRzaZFh4fZS0mksfyfJs1AsXNoqgfMmyJMYLHXEVariN-S9YsI43_FhHl1K_iO4rrqDsSy-tX4-MWws/pub?w=548&h=423) From 3ce0bd0f3a55a7032230eafe121b878e5db7b3dc Mon Sep 17 00:00:00 2001 From: James Hancock Date: Wed, 19 Jun 2019 00:05:00 -0400 Subject: [PATCH 18/19] Added Accountability Section --- EIPS/eip-2025.md | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index 13e4f639b5884e..ee0e5b0d128c8b 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -88,8 +88,16 @@ There is a risk for the Funding Organizations to lose part of their deposit in t **Funding Working Groups on 1.X** * Funding Contractors, Coordinators, and project managers -* Working Groups defined with clear mandates at the time of creation before allocating funds -* Membership and creation managed by the Core Devs +* Working Groups defined with clear mandates + +Budget + +Working groups + - State rent (750k) + - Better sync (360k) + - finality gadget (360k) + - Fee market (360k) + - testing infrastructure (360k) **ETH1.X Core Dev Gatherings** Funding hosting, traveling, and accomodations for neccesary in person gatherings of ETH1.X core developers similar to the Stanford and Berlin ETH1.x Core Dev Meeting held earlier this year. @@ -99,7 +107,16 @@ At the end of the 18 Months, the whole process would be torn down to prevent any * [FAQ - How will the funding of the devs be organized?]( #how-will-funding-the-devs-be-organized) -![Eth1.x Working Groups Status](https://docs.google.com/drawings/d/e/2PACX-1vRzaZFh4fZS0mksfyfJs1AsXNoqgfMmyJMYLHXEVariN-S9YsI43_FhHl1K_iO4rrqDsSy-tX4-MWws/pub?w=548&h=423) +## Accountability + +The funds will be transferred into DAI and secured in a multi-sig comprised of members of the community. Representatives from the following groups will receive a key. + + - EIP Editors + - Geth + - Parity + - ConsenSys/PegaSys (PegaSys) + - The Ethereum Foundation (Hudson Jameson) + - Community ## Personal Notes and Disclosure I want to address any concerns about conflicts of interests directly. My participation with Eth1.X currently has been as a volunteer. I am in talks about a possible funded role helping with testing and coordination. If my work for with Eth1.x is funded, I would seek the following conditions. From 0119203055b154004e831656731600df50c4bc4f Mon Sep 17 00:00:00 2001 From: James Hancock Date: Sat, 22 Jun 2019 22:09:54 -0400 Subject: [PATCH 19/19] Typos --- EIPS/eip-2025.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-2025.md b/EIPS/eip-2025.md index c82a63bb7cebf6..ea8e8be49959ef 100644 --- a/EIPS/eip-2025.md +++ b/EIPS/eip-2025.md @@ -112,7 +112,7 @@ Working groups **ETH1.X Core Dev Gatherings** -Funding hosting, traveling, and accomodations for neccesary in person gatherings of ETH1.X core developers similar to the Stanford and Berlin ETH1.x Core Dev Meeting held earlier this year. +Funding hosting, traveling, and accommodations for necessary in-person gatherings of ETH1.X core developers similar to the Stanford and Berlin ETH1.X Core Dev Meeting held earlier this year. At the end of the 18 Months, the whole process would be torn down to prevent any internal tyranny of structurelessness forming within.