Author: Omar Shibli 2020-12-23 11:44:52
Published on: 2020-12-23T11:44:52+00:00
The author of this post proposes a Bitcoin Improvement Proposal (BIP) that defines a standard interface for Bitcoin wallets and applications. The interface would allow wallets to expose their address derivation and signing functions to external applications. This would promote the development of richer Bitcoin applications through a more robust API, which introduces other requests beyond simple sends. The proposal aims to make wallet APIs consistent in their interfaces and behavior. With a standardized wallet API, wallets have a clear API to implement, applications have a clear expectation of wallet interface and behavior, and applications become agnostic to the wallet specifics, increasing choice for users. If more wallets implement the specification, applications will be developed more confidently by benefiting from the wallet interoperability. The proposed API is defined in the context of web applications running in the browser (JS), but it can be easily implemented in other contexts as well. The wallet must implement the following methods: enable and request. The enable call prompts the user for access to the wallet and resolves to an address of the wallet if successful. The request method takes one parameter in the specified format, and on success, the request should resolve to the response as defined in the method table. Sensitive requests that involve signing should always prompt the user for confirmation.The proposal addresses security implications with signing operations using private keys being guarded behind confirmation screens where the user is fully aware of the nature of the transaction. In addition, some API methods expose metadata about the user, such as public keys, which could be protected behind a confirmation depending on how privacy-focused the wallet intends to be. The author references Open Banking, which is an initiative to standardize components between different actors in traditional banking. More information about Open Banking can be found in the provided link. The author also welcomes feedback on what may be missing or problematic for hardware wallet providers, something they will pursue outside of the thread.
Updated on: 2023-06-14T16:50:29.137395+00:00