We’re excited to share many development updates from the last month! We have been hard at work developing scalable core protocol functionality, blockchain UX innovations and getting ready for 3rd party BloomID integrations. Some of the main highlights are:

We deployed our phase 2 contracts on Mainnet

We introduced attestations for sanction screening and social media accounts

We enabled users to link their mobile apps to their existing BloomID

We eliminated transaction fees from voting and invitations

We open sourced our Bloom Attestation Kit

We’re launching a bounty program to incentivize open source development on the Bloom protocol

Bloom Phase 2 Is Live On the Ethereum Mainnet

Last month we announced that we concluded our contract audit with Trail of Bits. We’re excited to announce that all of our core contracts have now been deployed on the Ethereum Mainnet. Check out bloom.co/docs to get started interfacing your dApp directly with our smart contracts.

Our phase 2 contracts enable all of the Bloom protocol features outlined in our white paper. The latest updates enable us to scale the protocol by requiring fewer on chain transactions without sacrificing security or decentralization. We have also eliminated all transaction fees from the day to day protocol interactions by BloomID holders. Users can request attestations, vote, invite friends and more all without holding any Ether.

Mobile Device Linking

Each week we’re rolling out new features to our iOS beta testers. Users can now link their mobile Bloom app to their web account. By having multiple wallets linked to the same BloomID users can keep their BLT safe in offline cold storage but still exert their full influence on polls by voting from a linked wallet. We’re adding support for hardware wallets soon!

There are a few things going on behind the scenes during the device linking process. The mobile app has it’s own unique Ethereum address and private key. In order for Bloom to submit a transaction to our smart contracts linking two addresses to the same BloomID, we need authorization from both the mobile app and from the current Metamask wallet.

The mobile app scans a QR code from the web app containing the address of the Metamask wallet associated with the user’s BloomID. The mobile app signs the address using the private key associated with the mobile app wallet. The new address and signature are sent to the web app. A Metamask window pops up requesting the user to sign the mobile wallet address using the private key associated with the Metamask wallet. Bloom submits both of these signatures to the AccountRegistryLogic contract associating the new address with the same BloomID. Now the mobile app is authorized to vote, request attestations and do anything else on the Bloom Protocol.

Our vision is for the mobile app to be the center of your BloomID experience. Your phone will hold all of your encrypted personal information. Bloom will enable you to verify this information with our network of data attesters. Any time a third party requests access to your personal information you will authorize releasing the data via the mobile app.

We recently launched an updated identity page with multiple new attestation types. You can now link multiple social media accounts to your BloomID along with a verified sanction screen, your email and your phone number.

New Bloom Identity Page

Use the Bloom Protocol Without Paying Transaction Fees

Every action within the Bloom protocol has been designed to be as frictionless for users as possible while maintaining a high level of security and decentralization. If you read through our smart contracts you will find a recurring pattern of ‘Action’, ‘ActionFor’ and ‘ActionForUser’. The specified action includes things like voting, account linking and requesting attestations. Users can either perform these actions by directly interfacing with the smart contracts and paying the associated transaction fees or they can sign their intended action and authorize a Bloom admin account to submit the action on their behalf, transferring the cost of transaction fees to Bloom. Either way, Bloom listens for all events emitted by our smart contracts and keeps the web app in sync with the blockchain.

Invite Friends to Bloom Without Posting Collateral or Paying Transaction Fees

Early on it was important to require a small amount of BLT as collateral when inviting new users to Bloom. This collateral acted as barrier to malicious actors who might try to sign up large amounts of fraudulent accounts. The network has matured to the point that we no longer need users to post collateral in order to invite new users. Instead, attestations can be used to verify the validity of a BloomID holder. As a result, the UX for inviting new users has gone from 5+ clicks including 2 blockchain transactions to 1 click and no transactions.

Vote on the Latest Round of Poll Questions

Last week we launched a new round of poll questions which will determine core decisions concerning the Bloom protocol. For more information on the new voting experience and the latest poll questions check out Introducing Delegated & Mobile Voting.

Incentivizing Open Source Development & Protocol Adoption

We recently open sourced our Bloom Attestation Kit. We are releasing our first round of bounties via Gitcoin to get developer feedback on our protocol documentation. We’re looking forward to using the bounty system to incentivize adoption and strengthen our network of developers. We will be paying developers in BLT to:

Proofread documentation

Integrate BloomID directly into their dApps

Launch their own Bloom nodes via the Bloom Attestation Kit and become data attesters

Help us open source internal tools

Join us in our Telegram or Slack channels to discuss these updates and the latest poll questions!