uPort, Gnosis Olympia & the role of identity in signing blockchain transactions
On December 18th, Gnosis launched Olympia, their first official prediction market tournament. We’re very excited to be helping support this new Ethereum use case, and we wanted to take some time to provide an overview of why Gnosis has integrated uPort as the user verification platform to access the tournament, receive OLY tokens, and sign transactions to trade in various prediction markets.
The Olympia tournament is a great example of how applications are leveraging the uPort platform to not only easily onboard and verify new users but also sign transactions directly with uPort . In this article we’ll examine how uPort supports Gnosis Olympia by easily allowing new users to verify themselves to enter the tournament and sign blockchain transactions to place wagers on prediction markets.
Upon announcing the launch of the tournament, Gnosis detailed why they chose to require users to sign up via uPort. In addition to providing a seamless and secure login experience, leveraging uPort in this way enables Gnosis to ensure that every entry in the tournament is tied to a single uPort ID, verifying that only one user entry per person is allowed. Since applicants are competing for real GNO, this is a critical task in hosting a trustworthy and legitimate tournament for everyone. Further, uPort facilitates the simplest blockchain interactions with transaction signing via the mobile device’s native authentication mechanism. As we’ll soon see, this is a necessary step in confirming the primary interactions in the Olympia tournament.
These are all fairly common, but highly useful implementations of the uPort platform. Every application needs users to authenticate themselves in some manner — this is a core identity functionality needed for people to access both blockchain apps as well as traditional client-server apps. uPort solves this need for applications by providing the “Continue with uPort” functionality shown here:
Clicking the “Continue with uPort” button calls up a QR code for the user to scan with their uPort ID app. This issues a login request from Gnosis Olympia to the user’s uPort ID, which they can then allow.
With uPort, applications can request permission from the user’s uPort ID to authenticate themselves and enable simple and secure sign on to the app. This enables a “Facebook Connect”-like functionality, but instead of Facebook storing and sharing personal data to log you in to another entity, the user selectively manages their own information and permissions it to the application. This is exactly the case with Gnosis Olympia, which asks for users to verify their identity in order to log in to the platform and access their OLY tokens.
We know that this is a critical use-case for applications, and as a result, have created a simple set of guides and api docs for developers to quickly integrate uPort and get started with requesting credentials from users, making login and sign on as simple as authenticating with the device’s native mechanisms, such as TouchID.
Signing blockchain data, a key challenge for blockchain adoption
For Gnosis Olympia, identity verification is just the beginning of how they are leveraging the uPort platform.
When the user requests to wager OLY tokens in an outcome, they are then prompted to verify the requested transaction, and are required to sign it. This is where uPort becomes an essential component for making this interaction seamless and user-friendly.
uPort helps applications like Gnosis solve transaction signing for their users by enabling them to easily and clearly visualize the smart contracts they are interacting with, and then digitally sign data or transaction requests via TouchID (or similar mobile authentication methods). Let’s take a look at how this works with Gnosis Olympia.
The user requests to buy tokens in a marketplace, triggering two requests to verify the share amount and then to sign the transaction to buy tokens with the user’s uPort ID:
In this sequence, the user places a ‘buy tokens’ request for a prediction market on Olympia. This prompts a QR code containing the transaction request data, requiring the user to scan with uPort and to approve the requested transaction. In turn, the user approves by signing the transaction to “Buy” tokens.
In this case, the Gnosis Olympia tournament will then update to show the users completed transactions in their dashboard, which they can access any time by logging back into Olympia with uPort.
With the uPort platform, any developer can enable users to sign and approve transactions simply with the authentication functionality on their mobile device. It’s critical that users be able to visualize the interactions they are taking up on the blockchain, and simplifying the UI/UX with detailed transaction cards goes a long way to building trust and usability. Add in the seamlessness of signing data with a fingerprint scan, and we’re significantly upgrading the way users, especially non-technical ones, interact with the blockchain.
Like the “Continue with uPort” functionality outlined above, digital signing for blockchain transactions is a core component that we have made available for developers to easily integrate.
Gnosis has done a great job building out the Olympia platform, bringing an awesome user experience to decentralized prediction markets. By incorporating uPort into the tournament, they are able to easily verify and onboard new users, and allow them to seamlessly interact with and sign blockchain transactions to buy shares in various markets.
This is an exemplary use of multiple components of the platform we are building out, and goes a long way towards demonstrating what user-friendly Ethereum applications can look like.
Check out our developer guides with simple overviews and credentials API docs for implementing uPort Connect and transaction signing for your application.
Reach out to let us know how you’re integrating uPort and be sure to sign up and participate in the Olympia tournament!