OPL protocol corpus: Bitcom, B, AIP, MAP, Sigma, Addressing, 1Sat series, BAP, Bitcoin Schema (300-312) - #1
Open
rohenaz wants to merge 14 commits into
Open
OPL protocol corpus: Bitcom, B, AIP, MAP, Sigma, Addressing, 1Sat series, BAP, Bitcoin Schema (300-312)#1rohenaz wants to merge 14 commits into
rohenaz wants to merge 14 commits into
Conversation
…onventions Documents _unwriter's Bitcom conventions (address-as-prefix protocol namespace, $ admin mode, | pipeline, on-chain schema publication, bit:// URIs) as a BRC, per the BRC-13 precedent for crediting original authors of prior work. Placeholder number 310 pending lowest-available-first assignment at merge (upstream PR bsv-blockchain#200 holds 300-307). Co-authored-by: _unwriter <unwriter@users.noreply.github.com>
The deployed admin wire format is 'OP_RETURN $ <command> ...' with the
account identified and authenticated by the funding input address; the
address-prefixed form is the later embedded 'Bitcom as OS' variant.
Adds useradd as the on-chain registration command, the {{var}}/${var}
template variance note, Block 566476 motivation, and the archived site
docs reference.
Source: https://web.archive.org/web/20211209081820/https://bitcom.bitdb.network/#/
Documents deployed practice of protocols (RUN, Sigma) that adopt the Bitcom data format and pipeline conventions with a plain UTF-8 string identifier instead of an address, forfeiting key-based ownership and admin capabilities.
MAP (311) is specified from the v2 protocol (full command set: SET, ADD, DELETE, REMOVE, SELECT, CLEAR, ::: separator, multi-output semantics). AIP (312) states the signing preimage normatively: concatenated raw bytes of the indexed fields under Bitcoin Signed Message, index 0 being the OP_RETURN opcode. Sigma (313) covers both BSM and BRC77 algorithms, message construction from input outpoint and script prefix hashes, multi-instance rules, and test vectors. All four wave documents carry Open Protocol Labs attribution with authors and contributors. Placeholder numbers 310-313 pending lowest-available-first assignment at merge. Co-authored-by: David Case <dcase@opl.dev>
Specifies _unwriter's B protocol: raw binary data with IANA media type, encoding, and optional filename under the Bitcom-generated prefix, the b:// txid reference scheme as shorthand for bit:// routing, producer-only pipeline composition, and explicit non-goals. Co-authored-by: _unwriter <unwriter@users.noreply.github.com>
The equivalence of bit://19Hxig.../<txid> and b://<txid> is a claim of the Bitcom documentation, not of B's own spec, and it concerns the referent, not the resolution mechanism. BRC-314 now defines b:// on B's own terms with the equivalence as an attributed informative note; BRC-310 quotes the source and notes shorthand schemes may resolve via dedicated gateways independent of route advertisements.
Renumbers the first five documents into a dependency-ordered block (300 Bitcom, 301 B, 302 AIP, 303 MAP, 304 Sigma) so every numbered cross-reference points to an earlier document; forward mentions are name-only. Adds: - BRC-305 Outpoint Content Addressing (canonical txid_vout, bare-txid first-parseable-content rule, :seq suffix, multi-OP_RETURN history) - BRC-306-310: the 1Sat series (origin tracking, inscription envelopes, collections, BSV-21 JSON, BSV-21 binary), ported from the closed upstream PR bsv-blockchain#200 drafts with OPL attribution - BRC-311 BAP core protocol (PROVISIONAL DID/Metanet excluded) - BRC-312 Bitcoin Schema social data types All indices rewired and verified complete, ordered, and link-checked. Co-authored-by: David Case <dcase@opl.dev>
Contributors on each document are the OPL team members not listed as authors, in standard order. Adds David Case where missing (300-303, 311, 312), adds Luke Rohenaz to the David-solo docs (309, 310), corrects MrZ to Austin Rappaport (312), and keeps Attila Aros on BAP only via the original spec's own thanks.
Removes editorial role annotations; detailed contribution notes remain only where ported from the source specifications.
…RC-303 Prior-art credit per the MAP v2 source's own Memo comparison section: Motivation paragraph and References entry in the Bitcoin Schema BRC, References entry in the MAP BRC.
apps/0146.md was renumbered from 190 at merge (1e03bfc) but BRC-169 and BRC-218 still referenced BRC-190 with links to a nonexistent 0190.md.
Section 7.2 pointed to 4.5 (timelock) for the ban condition defined in 4.6 (the closing summary already said 4.6); the 2.1 field table omitted timelock from the condition-object row despite defining its shape below.
… Derivation Two profiles: pairwise fan-out over BRC-78 (required baseline) and Megolm-pattern sender keys re-parameterized onto secp256k1 with AES-256-GCM aligned to BRC-78 (recommended at scale). Composes with BRC-33/169 transport and optionally BRC-146 rooms: bans rekey immediately, rule-change exclusions rekey at effectiveFrom. Honest security considerations per the Megolm limitations and the ASIACRYPT 2023 sender-keys analysis. Fills the confidentiality gap BRC-146 section 9 explicitly delegates.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Internal review PR — after approval and merge to master, we will separately decide when to submit upstream to bitcoin-sv/BRCs. No upstream PR yet.
Numbering
Placeholder block 300–312, contiguous and dependency-ordered so every numbered cross-reference points to an earlier document; where a lower-numbered doc needs to mention a higher-numbered one, the mention is name-only ("specified separately") with no link. The 300+ range avoids collision with in-flight upstream submissions (e.g. bsv-blockchain#201 claiming 156); upstream has no formal numbering guidance, and final numbers get assigned lowest-available-first at upstream merge. David's original 302/303 (P1Sat wallet docs) are discarded per plan — to be rewritten later — and their numbers reused.
Documents
All carry the OPL attribution block (
Open Protocol Labs (info@opl.dev), Authors, Contributors incl. Kurt, Michael, Dan). Original non-OPL authors credited first where applicable (_unwriter on 300/301; Attila on 302; Siggi on 311), per the BRC-13 precedent.Needs review — decisions that require an arbiter
txid_voutandtxid.voutand RECOMMENDED dot for BRC-100/overlay APIs. Per Luke's direction, 305 standardizes underscore as canonical (producers MUST NOT emit legacy separators; resolvers MAY accept them). 306's Outpoints section now defers to 305 while noting the dot form exists in overlay/BRC-100 contexts. If dot really is the settled BRC-100/overlay convention, 305 needs a context carve-out — David should arbitrate.addressfield. The sigma library doesn't do this check — spec intentionally leads implementation. Filed as opldotdev/sigma#11.chunks.slice(0, i-1)at chunk 0) matches neither the fallback nor "entire script". Restore or keep strict?signerto always-P2PKHaddress(both algorithms), matching the sigma README and library. Closes the door on future non-address signer components — confirm.loadByTxid, pkg/ordfs/ordfs.go). Sequence suffix semantics from the same source:seq ≥ 0absolute,-1latest,-2origin-direct.context <key> <key> <value>— consistent across reply/channel/bapID examples, resolving the apparentcontext tx txduplication); (b) the type vocabulary table as exhaustive for the social core; (c) the latest-in-block-order rule for like/unlike & follow/unfollow state; (d) attachments spec'd with the AIP prefix — the docs' attachment example omits it (| BITCOIN_ECDSA ...), which reads as a docs typo.OP_RETURN $ <command>authenticated by the funding input (per the archived site docs); the address-prefixed form is documented separately as the embedded "Bitcom as OS" variant (§3.6). Both are real; confirm framing.run, SigmaSIGMA) adopting Bitcom conventions without address provability.0x6aopcode, implicit form covers through the pipe before the AIP prefix. Pinned from go-aip; confirm against bitcoinfiles-sdk.b://defined on B's own terms; the bit:// equivalence is an informative note attributed to the Bitcom docs (equivalence of referent, not resolution mechanism).effectiveFromfor rule changes vs immediately for bans (§9.4); mandatory O(n²) rekey-on-remove with a 7-day ceiling.timelock(0e205f4).Deferred / back-burner
bitproto (no public source found — needs a pointer), D:// (bitcoineler/D — attribution "SH + @rangelWulff" unresolved), C:// (wire mechanics need a source dive), 21e8 (Dean Little's script puzzle — needs original opcode exposition). Bitcoin Schema's remaining families (generic, functions, registry, tokens pages) are future follow-ons to 312.
Verification
Index wiring verified: all 13 documents present in README.md, SUMMARY.md, and their category READMEs; all tables numerically ordered; all relative cross-links resolve; no numbered forward references (grep-verified).
Test vectors note
304's test vectors are byte-identical to David's original BRC-307 draft (the signed prefix encodes
app=brc307; the bytes are signed and must not change).