Adede Sonaike is another Lagos-based Bolt user since 2018, and said she gets frequently harassed and shouted at by its drivers over even the simplest of issues, such as asking to turn down the volume of the car stereo. Sonaike said these incidents have become more common and that she anticipates driver harassment on every Bolt trip. But on March 18, she told Rest of World she felt that her life was threatened. Sonaike had ordered a ride, and confirmed the vehicle and plate number before entering the car. After the trip started, she noticed that the driver’s face didn’t match the image on the app. “I asked him why the app showed me a different face, and he said Bolt blocked his account and that [he] was using his brother’s account, and asked why I was questioning him,” she recalled. She noticed the doors were locked and the interior door handle was broken, and became worried. Sonaike shared her ride location with her family and asked the driver to stop, so she could end the trip. He only dropped her off after she threatened to break his windows.
The problem is accounts are easily transferable and reputations tied to transferable accounts can’t be trusted since they don’t reflect the actions of the person currently using the account. Making accounts non-transferable using traditional means is difficult because they’re usually protected by something you know (e.g., a password) and that can be easily changed and exchanged. Even making the profile picture difficult to change (like Bolt apparently does) isn’t a great solution since people may not check the picture, or fall for stories like the driver gave the passenger in the preceding quote.
Verifiable credentials are a better solution because their designed to not be transferable1. Suppose Bob wants to sell his Bolt account to Malfoy. Alice, a rider wants to know the driver is really the holder of the account. Bolt issued a verifiable credential (VC) to Bob when he signed up. The VC issuing and presenting protocols cryptographically combine an non-correlatable identifier and a link secret and use zero-knowledge proofs
(ZKPs) to present the credential. ZKP-based credential presentations have a number of methods that can be used to prevent transferring the credential
. I won’t go into the details, but the paper I link to provides eight techniques that can be used to prevent the transfer of a VC. We can be confident the VC was issued to the person presenting it.
Bolt could require that Bob use the VC they provided when he signed up to log into his account each time he starts driving. They could even link a bond or financial escrow to the VC to ensure it’s not transferred. To prevent Bob from activating the account for Malfoy at the beginning of each driving period, Alice, and other passengers could ask drivers for proof that they’re a legitimate Bolt driver by requesting a ZKP from the Bolt credential. Their Bolt app could do this automatically and even validate that the credential is from Bolt.
Knowing that the credential was issued to the person presenting it is one of the four cryptographic cornerstones of credential fidelity
. The Bolt app can ensure the provenance of the credential Bob presents. Alice doesn’t have trust Bob or know very much about Bob personally, just that he really is the driver that Bolt has certified.
The non-transferability of verifiable credential is one of their super powers. A lot of the talk about identity in Web 3 has focused on NFTs. NFTs are, for the most part, designed to be transferable2. In that sense, they’re no better than a password-protected account. Identity relies on knowing that the identifiers and attributes being presented are worthy of confidence and can be trusted. Otherwise, identity isn’t reducing risk the way it should. That can’t happen with transferable identifiers—whether their password-based accounts or even NFTs. There’s no technological barrier to Bolt implementing this solution now…and they should for the safety of their customers.