Skip to content

Latest commit

 

History

History
31 lines (16 loc) · 3.4 KB

0057.md

File metadata and controls

31 lines (16 loc) · 3.4 KB

BRC-57: Legitimate Uses for mAPI

Ty Everett ([email protected])

Abstract

The mAPI specifications have gained a certain level of traction in the Bitcoin SV ecosystem over the preceding years, while also attracting their fair share of controversy and criticism. Certain mAPI use-cases, such as those that facilitate one-on-one relationships between miners and individual customers, are not in keeping with Section 5 of the Bitcoin whitepaper ("transactions are broadcast to all nodes"). However, other uses of mAPI including merkle proof notification, signed transaction endorsements from miner ID public keys, and double spend notifications are legitimate and must be part of any suitable replacement.

Motivation

The industry has, in recent months, began to discuss and contemplate the deprecation of mAPI. Valid criticisms have been made, but there are also valid problems that are solved by mAPI. The goal of this BRC is to outline some of the legitimate mAPI use-cases and advocate for their inclusion into any mAPI replacement.

Specification

One of the criticisms aimed at mAPI is that it facilitates one-on-one agreements between miners and specific customers for lower fee rates on transactions. The Bitcoin whitepaper stipulates that transactions are broadcast to all nodes, and the cited b-money paper stipulates that transactions must be publicly announced. Therefore, applications of mAPI that facilitate this type of one-on-one deal-making are in violation of the rules of the Bitcoin protocol.

There are still valid reasons people have chosen to use and adopt mAPI, and these features of mAPI make it valuable to this day:

Signed Transaction Endorsements

Miners, when they build blocks, can embed a miner ID public key in their coinbase transactions. This enables them to build reputation for their identity as they create and propagate honest blocks accepted by the other miners. A lightweight SPV client which tracks block headers can be easily extended to track and validate miner ID signatures that are part of coinbase transactions, creating a system in which attackers find it difficult to propagate double spends.

When transactions are submitted using mAPI, reputable miners attach signatures to the response payloads, acknowledging the validity of the transaction and their intent to include it into the next block. For micropayment transactions where the incentive for fraud is relatively low, this creates a viable system for instant payments. Therefore, any replacement for mAPI that does not address the need for immediate signed transaction endorsements would be incomplete.

Merkle Proof Notifications

The mAPI system facilitates notifications for merkle proofs. These proofs facilitate SPV by enabling users to attain confidence in the validity of transactions. Any mAPI replacement would be incomplete without a way to notify relevant parties to a transaction of the merkle proof in a standard and consistent way, whenever it becomes available or if it ever changes.

Double Spend Notifications

Finally, the mAPI system provides notifications when double spend attempts are discovered. This allows network participants to be notified if their counterparties are attempting to defraud them, and provides an additional layer of deterrent for such attacks. Any replacement for mAPI should be well-equipped with standard ways to notify relevant parties about double-spend attempts.