In our previous post, we introduced #dHack and its implementation at ETHBerlin during Berlin Blockchain Week coming up on August 23rd. As it turns out, news of the #dHack spread like wildfire and piqued the interests of a few organizations inside and outside the ecosystem. Among these interested organizations are ETHGlobal and Devfolio and, long story short, we’re proud to announce #dHack ETHIndia on the 2–4 of August. With almost 2000 applications from 18 countries, ETHIndia is one of the largest ethereum hackathons.
On top of the regular prizes awarded by ETHIndia, the #dHack DAO will distribute funds by the decision of the ETHIndia community.
- About $5,000 worth of Ether will be held in the DAO
- Each participant will be given Reputation (voting power) that can be used to vote on proposals
- On the last day of ETHIndia, immediately after the hack stops, teams will be able to submit proposals, requesting funds to continue work on their hackathon projects (continuity grants).
This article will focus on the How-to of #dHack at ETHIndia: how to participate, how to request funding, how to vote, and how the prediction system helps the #dHack reach consensus.
We believe the blockchain and open-source ecosystems can benefit from decentralized curation. Our ultimate aim is for the dHack to be a novel incubator in this regard. Together with ETHGlobal we hope to accomplish this goal. More on that later.
The Nitty Gritty: the #dHack interface
We will use DAOstack’s Alchemy application to collect, decide, and distribute hackathon rewards to teams who want to continue working and developing their hackathon products, thus we introduce ETHIndia’s continuity grant.
These are the various stakeholders that will participate in the #dHack:
- Proposers/Applicants: Competition participants; that is, members, hackers, and teams who apply for the continuity grant. Proposers are those who submit a funding proposal to the dHack.
- Predictors: those who participate in the Prediction Challenge, filtering proposals and directing the attention of Reputation-holders to proposals they believe the DAO will choose to fund. Predictors are driven by making profits from the DAOstake (an automatic “against” stake placed by the DAO) or from other participants that make incorrect predictions. Anyone who holds the native DAOstack token GEN can predict; having Reputation is not necessary to participate. More on the Prediction Challenge will be discussed later in this blog.
Note: the dHack will start with GEN funding for the DAOstake.
- Reputation-holders: Sponsors, ticket holders, promoters; A Reputation-holder is anyone whose Ethereum wallet address contains any amount of Reputation. The more Reputation held the greater one’s voting power. The voting power of each Reputation-holder is weighted in proportion to the overall amount of Reputation. We outline the specific voting process for Reputation-holders later in this blog post.
In ETHIndia the Reputation distribution (voting power) will be as follows:
- 90% to hackathon participants.
- 10% to organizers of the event, such as the ETHIndia team and GenesisDAO.
Reputation will be redeemable from the DAO in the redemption scheme:
The Application Process
On the last day of ETHIndia, teams participating in the dHack will be able to apply for the continuity grant using Alchemy. Each application will be reviewed independently and voted on by Reputation-holders (more on this below). Proposals are made and approved until the DAO is drained of funds.
This is how to fill an ETHIndia Funding request:
For the proposal description, we’ve created a template(markdown version) with most of the required information. This template is a recommendation and adding or removing things is welcome. We expect participants to get creative when explaining their project, perhaps with a video pitch or a full demo.
The focus will be on projects who want to continue building on their hackathon products. we would love to see a roadmap, possible integrations, and proposed collaborations. But, at the end of the day, it’s the participants of ETHIndia who will decide which projects to fund, we can only recommend and try to give direction to what we think is important.
Once submitted, every proposal starts off in the regular queue. Proposals in the regular queue are open for voting for a default period of 7 days and will pass or fail immediately if 51% or more of the DAO’s Reputation votes a certain direction. If neither pass nor fail receive 51%+ of voter Reputation within the regular queue period length, the proposal will simply expire without passing or failing.
Proposals with a high enough ratio of positive to negative predictions join the pending queue for 24 hours, and are then boosted if they maintain that ratio. If they lose this ratio, however, because too many negative predictions are placed on them, they go back to the regular queue.
Boosted proposals are more visible and easier to resolve than regular proposals, as they are sorted to the top of the proposal queue — this is key to achieving holographic consensus. The voting process works differently for regular proposals than it does for boosted proposals, which require a relative majority, with a voting period of 24 hours. Boosted proposals will pass or fail at the end of that 24 hours, regardless of the absolute percentage of Reputation that has voted.
There is also a “quiet-ending” period of 24 hours, which means proposals need to stay in approval status for the last 24 hours of their vote or otherwise the vote gets extended by an additional eight hours. This is to prevent what’s called a last-minute attack, a vulnerability in many governance systems where a coordinated group of voters can change the result of the vote at the end of the period, without giving other voters adequate time to respond. Altogether, the hypothetical minimum time from Application → Grant distribution would be 48 hours: 24 hours in the pending queue, and 24 in the boosted queue; however, these parameters can also be adjusted by the DAO.
Proposals are passed or failed through a voting process. Only dHack Reputation-holders can vote and their votes are weighted equally to their Reputation score. Any user with Reputation in the dHack can vote once on each open proposal and they cannot change their vote once it has been submitted. The entire weight of their score is applied to each vote — if you have 100 Reputation points, your vote is worth that much for any proposal.
The Secret Sauce of Boosting — The Prediction Challenge
Although a summary is provided below, we recommend all stakers who wish to take part in the Prediction Challenge to read this article detailing Alchemy’s prediction mechanism.
Stakers solve the issue of voter attention within Alchemy by placing stakes on the proposals they believe will pass or fail. If this prediction ends up being correct, the staker will win back their stake plus a bounty reward — a portion of the stake lost by incorrect predictions on the proposal plus the DAOstake. If the proposal times out without passing or failing, all stakes are returned.
Why is attention an issue for the dHack? Well, Imagine 250 teams each submitting their proposal on the same day, flooding the #dHack’s UI. Under most voting systems, this would be overwhelming. This is where stakers come into play.
Making correct predictions is both profitable for the staker and useful for the dHack because staking is also the key to the proposal boosting mechanism. Proposals with the highest ratio of GEN staked on passing to GEN staked on failing become boosted (in the way described above), making them faster and easier for the DAO to decide on. This greatly reduces the attention burden placed on voters. Importantly, stakes cannot be placed on boosted proposals, only on regular proposals.
Anyone with an Ethereum address can place stakes (predictions) on proposals in the dHack using Alchemy. They will be able to use any ERC20 token; however, please note that whatever token used will be swapped for GEN using Uniswap or Kyberswap. These swaps allow the dHack to support the DAO ecosystem without inconveniencing stakers.
#dHack ETHIndia evolved and matured quickly into a live event and like ETHBerlin, this event is only the beginning. We hope this will catapult future collaboration between dHack, ETHGlobal, and DevFolio, as well as for #dHack in general. With ETHglobal, we hope to create an ongoing dHack/accelerator that will include participants from all of ETHglobal’s hackathons around the world. Our goal is to create a truly decentralized, autonomous decision-making mechanism that will showcase the incredible talent of the Ethereum community in a way that reflects and applies the community’s values.
Got questions? Want answers?