Skip to content

Latest commit

 

History

History
140 lines (119 loc) · 8.96 KB

README.md

File metadata and controls

140 lines (119 loc) · 8.96 KB

BRC: Bitcoin Request for Comments

A repository for submitting, discussing, sharing, and indexing technical proposals for use across the Bitcoin ecosystem. Data models, user interfaces, script templates, encoding formats, communication protocols, and constructive critique of existing industry practice are all welcome. The goal is to provide a platform for sharing ideas without any bureaucratic overhead.

Contributing

Contributions from all builders are welcome and encouraged. To propose a new BRC, fork the repo and create a new markdown file using the ~EXAMPLE.md as the template. The common structure is outlined below, which is a guideline to aid you rather than a strict requirement. Once your proposal is ready to share, submit a pull request so that others can review and discuss it.

To participate in discussions about existing proposals, simply open an issue and link back to the BRC file in question.

Iterative improvement

We believe in encouraging discussion and iterative improvement of proposals, resulting in incremental improvement within the bounds of the Bitcoin protocol. We welcome suggestions for improvement and are committed to working with contributors to improve proposals and ensure that they align with our guidelines.

Note that substantial revisions to standards (beyond fixing typos, adding context or wording) should go into a new standard that extends or revises the old one, so as not to disrupt existing implementations.

We look forward to your contributions and helping to create a world where transactions are seamlessly formed, and applications interact with each other with ease.

Read more about areas of interest on OpenStandards.cash

Structure

The BRCs repository is organized into directories, each representing a different category of proposal. Categories may include, but are not limited to:

  • Transaction Templates
  • Bitcoin Script Templates
  • Communication Protocols

Each proposal should be written as a markdown file and should loosely adhere to the following:

  • Title: A descriptive title for the standard being defined.
  • Author(s): Who wrote the standard and where did it come from? How can they be reached?
  • Abstract: A brief description of the proposed standard or template.
  • Motivation: The reasoning behind the proposal and why it is needed.
  • Specification: A detailed technical specification of the proposal.
  • Implementations: Information on how the proposal has been or can be implemented.
  • References: Any relevant literature or external resources related to the proposal.

Note that additional relevant content, identifiers or other information may be added to the document. Documents that already existed before the repository may not follow these requirements.

Things that help depict and understand the document, such as media, may also be added in a media subdirectory where appropriate.

Refer to the Banana-Powered Bitcoin Wallet Control Protocol for a fun example template you can copy when proposing your own standards.

Standards

BRC Standard
0 Banana-Powered Bitcoin Wallet Control Protocol
1 Transaction Creation
2 Data Encryption and Decryption
3 Digital Signature Creation and Verification
4 Input Redemption
5 HTTP Wallet Communications Substrate
6 XDM Wallet Communications Substrate
7 Window Wallet Communication Substrate
8 Everett-style Transaction Envelopes
9 Simplified Payment Verification
10 Merkle proof standardised format
11 TSC Proof Format with Heights
12 Raw Transaction Format
13 TXO Transaction Object Format
14 Bitcoin Script Binary, Hex and ASM Formats
15 Bitcoin Script Assembly Language
16 Pay to Public Key Hash
17 Pay to R Puzzle Hash
18 Pay to False Return
19 Pay to True Return
20 There is no BRC-20
21 Push TX
22 Overlay Network Data Synchronization
23 Confederacy Host Interconnect Protocol (CHIP)
24 Overlay Network Lookup Services
25 Confederacy Lookup Availability Protocol (CLAP)
26 Universal Hash Resolution Protocol
27 Direct Payment Protocol (DPP)
28 Paymail Payment Destinations
29 Simple Authenticated BSV P2PKH Payment Protocol
30 Transaction Extended Format (EF)
31 Authrite Mutual Authentication
32 BIP32 Key Derivation Scheme
33 PeerServ Message Relay Interface
34 PeerServ Host Interconnect Protocol
35 (unused, will assign next BRC to this number)
36 Format for Bitcoin Outpoints
37 Spending Instructions Extension for UTXO Storage Format
38 User Wallet Data Format
39 User Wallet Data Format Encryption Extension
40 User Wallet Data Synchronization
41 PacketPay HTTP Payment Mechanism
42 Sendover Key Derivation Scheme
43 Security Levels, Protocol IDs, Key IDs and Counterparties
44 Admin-reserved and Prohibited Key Derivation Protocols
45 Definition of UTXOs as Bitcoin Tokens
46 Wallet Transaction Output Tracking (Output Baskets)
47 Bare Multi-Signature
48 Pay to Push Drop
49 Users should never see an address
50 Submitting Received Payments to a Wallet
51 List of user experiences
52 Identity Certificates
53 Certificate Creation and Revelation
54 Hybrid Payment Mode for DPP
55 HTTPS Transport Mechanism for DPP
56 Unified Abstract Wallet-to-Application Messaging Layer
57 Legitimate Uses for mAPI
58 Merkle Path JSON format
59 Security and Scalability Benefits of UTXO-based Overlay Networks
60 Simplifying State Machine Event Chains in Bitcoin
61 Compound Merkle Path Format
62 Background Evaluation Extended Format (BEEF) Transactions
63 Genealogical Identity Protocol
64 Overlay Network Transaction History Tracking
65 Transaction Labels and List Actions
66 Output Basket Removal and Certificate Deletion
67 Simplified Payment Verification
68 Publishing Trust Anchor Details at an Internet Domain
69 Revealing Key Linkages
70 Paymail BEEF Transaction
71 Merkle Path Binary Format
72 Protecting BRC-69 Key Linkage Information in Transit
73 Group Permissions for App Access
74 BSV Unified Merkle Path (BUMP) Format
75 Mnemonic For Master Private Key
76 Graph Aware Sync Protocol
77 Message Signature Creation and Verification
78 Serialization Format for Portable Encrypted Messages
79 Token Exchange Protocol for UTXO-based Overlay Networks
80 Improving on MLD for BSV Multicast Services
81 Private Overlays with P2PKH Transactions
82 Defining a Scalable IPv6 Multicast Protocol for Blockchain Transaction Broadcast and Update Delivery
83 Scalable Transaction Processing in the BSV Network
84 Linked Key Derivation Scheme
85 Proven Identity Key Exchange (PIKE)
86 Bidirectionally Authenticated Derivation of Privacy Restricted Type 42 Keys
87 Standardized Naming Conventions for BRC-22 Topic Managers and BRC-24 Lookup Services

License

Everything in this repository is subject to the Open BSV License.