BrightID Register and Faucet Aragon Apps
BrightID (https://www.brightid.org/) is a service used to uniquely identify individuals. As a user it requires downloading a mobile app and scanning the QR codes on other BrightID users apps. This creates a social graph which once it reaches a certain size and is connected with enough seed users, can be used to verify the uniqueness of the user. BrightID runs nodes which provide signed verifications that attest to a BrightID user’s uniqueness. These verifications need to be made available to contracts and Aragon Apps on the blockchain. We are proposing to build 2 Aragon Apps, the first is an app that will register and provide the verifications on the blockchain and the second is to illustrate an initial use case for the verifications.
The first app is a BrightIdUserRegister Aragon App with which BrightID users can register their BrightID verifications, fetched from a BrightID node. This can then be referenced by other contracts or Aragon Apps to verify an addresses uniqueness.
This BrightIdUserRegister Aragon App will have the following features:
- State whether an address is verified by BrightID and has not expired, requiring re-verification.
- Provide a unique ID for BrightID registered addresses. This is necessary as a BrightID user can verify many addresses.
- Allow calling an external contracts function after a successful registration in the same transaction, preventing the need to execute 2 transactions for an operation that requires a verification that is yet to be registered.
Aragon App permissioned functions will include the ability to update BrightID related settings and the registration expiry period. This will include Solidity tests, documentation but no UI or subgraph connector as it is unlikely to be used independently of another application.
BrightID enabled TokenFaucet
The second app is a BrightID enabled TokenFaucet Aragon App which will depend on the BrightIdUserRegister. We created an initial version of this for the recent Hack For Freedom hackathon (https://github.com/1Hive/brightid-honey-faucet deployed https://faucet.1hive.org/). We would like to extract the BrightID verification functionality into the BrightIdUserRegister to be shared across multiple apps, and convert it to an Aragon App to allow updating the configuration from an Aragon DAO.
The TokenFaucet Aragon app will have the following features:
- Allow BrightID verified users to claim from the faucet periodically. They will register in one period and be able to claim (and subsequently re-register for the next period) in the following period. The claim amount will be a percentage of the contracts balance split equally amongst all registered users within a period.
- When a calling account’s balance is less than a specified amount, convert some of the faucet claim token into the currency necessary to operate on that chain using a Uniswap exchange.
Aragon App permissioned functions will include the ability to update the period length, percent distributed per period and account top-up settings. This will include Solidity tests, documentation and a subgraph connector for integration with a UI.
At 1Hive we intend on using the BrightIdUserRegister in our fork of the Aragon Court, Conviction Voting and the Token Faucet.
Providing an app or DAO can Sponsor users on BrightID and fetch a verification from a BrightID node, and users of the app are verified on BrightID then the BrightIdUserRegister can be reused for many DAO applications. For example with voting to enforce one user one vote or quadratic weighting mechanisms. It can also be used to encourage good behaviour and accountability within DAO’s or other services as permanent bans would be possible.
The BrightID enabled TokenFaucet can be reused by DAO’s or communities that wish to create an inclusive token distribution encouraging participation in their DAO and the ecosystem as a whole.
Expected duration or delivery date (if applicable):
2 to 4 weeks to create completed repos with tests and full documentation.
Team Information (For Funding Proposals)
Names, usernames, and/or relevant social links for team members (Twitter, Github, Aragon Forum, etc.):
willjgriff - 1Hive (https://github.com/willjgriff) + others from 1Hive where necessary
Skills and previous experience in related or similar work:
willjgriff is primarily a Solidity engineer and has been working with 1Hive and Aragon for about a year. He has worked on all of the 1Hive projects primarily writing the back-end Solidity code. He has also worked on Aragon Apps outside of 1Hive for Stake Capital and EmpowerTheDao.
1Hive has built Dandelion (Moloch DAO converted to Aragon Apps), Conviction Voting (being used for this proposal), Gardens (an in development DAO structure by 1Hive) and other things.
Funding Information (For Funding Proposals)
Amount of ANT requested: 400 ANT
Ethereum address where funds shall be transferred: 1Hive Vault/Agent: 0x0466e612137bca50e524f25ac9f7b6f826ee15b7
More detailed description of how funds will be handled and used: They will go to the 1Hive DAO to be used for funding future 1Hive operations.