Skip to content

BSP Governance — Protocol Changes and BIPs

Version 0.2 | Ambrósio Institute


Overview

The BSP specification evolves through a public improvement process — BSP Improvement Proposals (BIPs).

Any individual, company, or institution can propose changes to the protocol. The Ambrósio Institute reviews all proposals and coordinates community discussion. Critical protocol changes require multi-signature authorization.


Governance Principles

  1. Openness — Anyone can propose a BIP. No institutional affiliation required.
  2. Transparency — All proposals, discussions, and decisions are public.
  3. Conservative change — Protocol changes have a high bar. Stability is a feature.
  4. Backward compatibility — Accepted changes must not break existing implementations, unless the break is clearly necessary and the migration path is defined.
  5. Institute guardianship — The Ambrósio Institute is the guardian of the specification, not its owner. The protocol serves the ecosystem.

BIP Categories

CategoryDescriptionExamples
BSP-BIP-TAXONOMYAdd or modify biomarker codesNew biomarker, unit correction
BSP-BIP-SCHEMAChanges to BEO, IEO, or BioRecord schemaNew field, field type change
BSP-BIP-EXCHANGEChanges to the Exchange ProtocolNew intent, error code
BSP-BIP-GOVERNANCEChanges to the governance process itselfBIP template, review timeline
BSP-BIP-INFRASmart contract upgradesNew contract, parameter change

BIP Status Flow

DRAFT → REVIEW → ACCEPTED | REJECTED

                  FINAL (after implementation)
StatusDescription
DRAFTAuthor is drafting — not yet submitted for review
REVIEWSubmitted — open for community discussion (30 days)
ACCEPTEDApproved by Institute — scheduled for implementation
REJECTEDNot accepted — with explanation
FINALImplemented and active in a released BSP version

Submitting a BIP

  1. Fork this repository
  2. Copy bip/BIP-0000-template.md to bip/BIP-XXXX-your-title.md
  3. Fill in the template completely
  4. Open a Pull Request

The PR opens the 30-day public review period. The Ambrósio Institute will schedule a review call for proposals that reach community consensus.


On-Chain Governance — proposeAction / approveAction

Critical protocol changes are executed through the Governance smart contract using a 2-of-3 multisig mechanism. No single keyholder — including the Institute's founder — can execute a change alone.

Keyholders

The Governance contract maintains a set of three authorized keyholders. Each keyholder holds an Ed25519 key pair registered on-chain. Keyholder rotation itself requires multisig approval.

Proposal Flow

proposeAction(type, params, justification)


  PROPOSAL created (status: PENDING)


approveAction(proposal_id, keyholder_signature)   ← 1st approval


approveAction(proposal_id, keyholder_signature)   ← 2nd approval (different keyholder)


  PROPOSAL executed automatically (status: EXECUTED)

Proposal Types

TypeDescriptionParameters
suspendIEOSuspend an institutional entity for compliance violationieo_id, reason, duration
reinstateIEOReinstate a previously suspended IEOieo_id
changeCertLevelChange an IEO's certification levelieo_id, new_level
addIEOTypeRegister a new institutional entity type in the protocoltype_code, type_name, requirements
removeIEOTypeDeprecate an institutional entity typetype_code, migration_path
updateParamChange a protocol parameter (e.g., consent token max duration)param_key, new_value
addKeyholderAdd a new keyholder to the Governance contractpublic_key, identity
removeKeyholderRemove a keyholderpublic_key
upgradeContractDeploy a new version of any BSP smart contractcontract_id, new_source_tx

Proposal Schema

typescript
GovernanceProposal {
  proposal_id:   string       // Unique identifier
  type:          ProposalType // One of the types above
  params:        object       // Type-specific parameters
  justification: string       // Human-readable reason
  proposed_by:   string       // Keyholder public key
  proposed_at:   ISO8601
  approvals:     Approval[]   // List of keyholder approvals
  status:        'PENDING' | 'EXECUTED' | 'REJECTED' | 'EXPIRED'
  expires_at:    ISO8601      // Proposals expire after 7 days without quorum
  executed_at:   ISO8601 | null
  arweave_tx:    string       // On-chain record
}

Approval {
  keyholder:   string         // Public key of approving keyholder
  signature:   string         // Ed25519 signature over proposal_id + params
  approved_at: ISO8601
}

Security Properties

  • Proposals expire after 7 days if quorum is not reached
  • A keyholder cannot approve their own proposal (proposer counts as first approval, but the second must come from a different keyholder)
  • All proposals, approvals, and executions are permanently recorded on Arweave
  • Rejected proposals can be re-submitted with modifications

SDK Usage

typescript
import { GovernanceClient } from 'bsp-sdk'

const gov = new GovernanceClient({ keyholderKey: myPrivateKey })

// Propose suspending an IEO
const proposal = await gov.proposeAction({
  type: 'suspendIEO',
  params: { ieo_id: 'bad-lab.bsp', reason: 'Data falsification', duration: '90d' },
  justification: 'Audit revealed systematic data falsification in submitted BioRecords'
})

// Another keyholder approves
const gov2 = new GovernanceClient({ keyholderKey: otherKeyholderKey })
await gov2.approveAction(proposal.proposal_id)
// → Proposal executed automatically after 2nd approval

BIP Index

BIPTitleStatus
BIP-0000BIP TemplateFINAL

Ambrósio Institute · ambrosioinstitute.org · biologicalsovereigntyprotocol.com