TL;DR
To address the user safety within the web3 ecosystem, a mechanism reminiscent of Public Key Infrastructure (PKI) is proposed.
Utilizing gateways and specific rules at the blockchain node level, offering an efficient method for various security vendors to deliver their services
Recommendations for a web3 protection protocol in order to
Simplify security attestation indicators, enhancing the user’s perception of safety.
Standardize how security vendors provide their services, along with a specification for the value exchange between client and vendor.
Support user selection of security vendors and services through their JSON-RPC request security.
Recommendation to form an industry-wide working group to draft a Request for Comments (RFC) and develop reference implementations.
A prevalent challenge within web3 is user safety. How can users confidently deem a dApp secure, or be assured that blockchain operations will proceed as expected without unforeseen outcomes?
The ecosystem benefits from a variety of security vendors, providing a range of services. Typically, these vendors concentrate on client-side tooling, delivering their solutions directly to wallets or through add-ons. Is this the most efficient mechanism to make these services available to users?
This article discusses these concerns and suggests a pathway to a solution through the development of a web3 protection protocol.
The Perimeter of Security in Web3
In web2 security, digital asset owners leverage a vertically integrated infrastructure to exercise control over these assets. Conversely, web3 distributes its services across various entities and multiple service layers, some of which are DAOs, managing operations through blockchain-based smart contracts without traditional leadership structures.
As web3 decentralizes and broadens the security perimeter to encompass user devices, it inherently distributes security responsibilities, making the safety of the ecosystem reliant on the collective security practices of its users. This shift underscores a decentralized security model where the confidentiality and integrity of the digital assets is as strong as the operational security (OpSec) of its individual participants.
To ensure users are equipped to navigate this decentralized environment, education is important. By understanding how to evaluate and trust reliable services, users can make more informed decisions, increasing their safety. It is necessary then to establish a clear model of trust, that not only aids users in identifying safer paths but also shares the responsibility of asset protection between product developers and users.
A Trust Mechanism Protocol
Product developers are currently the ones responsible for implementing strategies that enhance the user's perception of safety, focusing initially on UI elements and API messaging before expanding to encompass comprehensive measures including more rigorous security controls to further build trust.
A proposed mechanism may incorporate UI elements backed by API calls providing visible, understandable indicators of security and trustworthiness in web3 applications, akin to the lock icon in web2 browsers, which can significantly improve the user experience. Additionally, these API calls are to be executed to a node, therefore allowing users to efficiently query for attestations of objects and actors on the blockchain, establishing transparency in the web3 context by clearly indicating who endorses the security of what.
Take, for example, the use case of a smart contract developed by Alice, audited by Horace's Company, and subsequently certified by Maurice's Organization. A user will first inquire with Alice (or a service where Alice's feature is registered), asking, 'Who attests to this feature?' Alice will respond, 'Horace.' Then, the user queries Horace, 'Who attests for you?' Horace answers, 'Maurice.' Trusting Maurice, the user then establishes a trust chain for that new feature: