[
 {
  "alternatives": [
   "short-lived OAuth tokens + revocation list",
   "Chubby/etcd leases on a CFT store",
   "OPA bundles signed by a CA + push revocation"
  ],
  "asset_id": "BFT-IP-0001",
  "difficulty": "EASY",
  "moat_type": "implementation-specific"
 },
 {
  "alternatives": [
   "append-only transparency log (CT/Trillian) with witnesses",
   "a permissioned ledger (Fabric) endorsement",
   "a central signed audit log + external timestamping"
  ],
  "asset_id": "BFT-IP-0002",
  "difficulty": "EASY",
  "moat_type": "implementation-specific"
 },
 {
  "alternatives": [
   "async audit log for denies",
   "no consensus for denies at all",
   "batching"
  ],
  "asset_id": "BFT-IP-0003",
  "difficulty": "EASY",
  "moat_type": "implementation-specific"
 },
 {
  "alternatives": [
   "Zyzzyva",
   "SBFT",
   "HotStuff (no fast path needed)"
  ],
  "asset_id": "BFT-IP-0004",
  "difficulty": "EASY",
  "moat_type": "implementation-specific"
 },
 {
  "alternatives": [
   "any signed-log + open verifier"
  ],
  "asset_id": "BFT-IP-0005",
  "difficulty": "EASY",
  "moat_type": "implementation-specific"
 },
 {
  "alternatives": [
   "BFT reconfiguration (BFT-SMaRt)",
   "PeerReview"
  ],
  "asset_id": "BFT-IP-0006",
  "difficulty": "EASY",
  "moat_type": "implementation-specific"
 },
 {
  "alternatives": [
   "any Merkle batching"
  ],
  "asset_id": "BFT-IP-0007",
  "difficulty": "EASY",
  "moat_type": "implementation-specific"
 },
 {
  "alternatives": [
   "composite signatures per IETF drafts"
  ],
  "asset_id": "BFT-IP-0008",
  "difficulty": "EASY",
  "moat_type": "implementation-specific"
 }
]
