bitcoin-core-release-engineering
Bitcoin Core release engineering: Guix reproducible builds, signed release tarballs, deterministic outputs, code-signing keys, the release process, security disclosure. USE WHEN: building Bitcoin Core from source for verification, understanding release security, contributing to consensus-critical code.
What this skill does
# Bitcoin Core Release Engineering Bitcoin Core ships **reproducible builds**: anyone with the source + Guix can produce byte-identical binaries to the official release. This protects against supply-chain attacks targeting the build server. ## Guix reproducible builds [GNU Guix](https://guix.gnu.org/) is the deterministic build environment. ```bash # In bitcoin/ source directory ./contrib/guix/guix-build ``` Outputs: - `guix-build-<version>/output/x86_64-linux-gnu/bitcoin-<version>-x86_64-linux-gnu.tar.gz` - (and per other platforms via cross-compile) The hash of these tarballs is what gets signed by maintainers. ## guix.sigs Repository: `github.com/bitcoin-core/guix.sigs`. After each release, trusted builders publish their signed hashes: ``` <version>/<builder-name>/all.SHA256SUMS <version>/<builder-name>/all.SHA256SUMS.asc ``` Verifying a release: download official binaries, compute SHA256, compare to entries from N independent builders. If they all match, no single builder could have introduced malware. ## Release signing keys `contrib/builder-keys/keys.txt` lists trusted builder GPG keys (with fingerprints). The release process requires N-of-M signed attestations before the binary is published. Maintainers' keys are also rotated periodically; check the current list before trusting an older key. ## Release process (high level) 1. **Feature freeze** — typically ~1 month before scheduled release. 2. **Release branch** — `0.X` branched off `master`. 3. **Release candidates** (`rc1`, `rc2`, ...). 4. **Backports** — bug fixes flow from master to release branches. 5. **Final tag** — signed git tag. 6. **Guix builds** — multiple builders produce binaries. 7. **guix.sigs PR** — builders publish signed hashes. 8. **Release announcement** — on bitcoin.org, mailing list, bitcoincore.org. ## Source verification To verify a downloaded tarball before building: ```bash # Get GPG keys gpg --keyserver hkps://keys.openpgp.org --recv-keys <maintainer-fingerprint> # Verify gpg --verify SHA256SUMS.asc SHA256SUMS sha256sum -c SHA256SUMS ``` ## Code-signing for binaries - macOS: signed via Apple's developer cert (so Gatekeeper accepts it). - Windows: code-signed with EV certificate. - These signatures are **separate** from the GPG signatures and protect against OS-level "untrusted publisher" warnings, not against tampering of the source tarball itself. For Linux: no platform-level signing (rely on Guix + GPG). ## Hash verification on first run `bitcoind` does NOT self-verify on each run. The integrity check is done at install time: ```bash sha256sum bitcoin-28.0-x86_64-linux-gnu.tar.gz # compare to entries in SHA256SUMS ``` ## Security disclosure `[email protected]` for security issues. Embargoed disclosures: maintainers coordinate fixes across exchanges, miners, services before public release. Process documented in `SECURITY.md` of the repo. ## Vulnerability scoring Bitcoin uses ad-hoc severity classification: - **Critical**: consensus split, theft, DoS that crashes nodes. - **High**: privacy leak, low-cost DoS. - **Medium / Low**: bugs without immediate fund impact. Past vulnerabilities like CVE-2018-17144 (inflation bug) → fixed silently before public disclosure. ## Branch policy - `master` — current development. - `26.x`, `27.x`, `28.x` — maintenance branches. - Backport criteria: bugfix only, no features. - Maintenance EOL: typically ~2 years from a major version. ## Common confusions - "Bitcoin Core" vs "Bitcoin" — Bitcoin Core is one implementation. Others (Bitcoin Knots, btcd) exist but Bitcoin Core is the reference and runs on >95% of nodes. - **Pre-release builds** from PRs are NOT trusted; only tagged releases. - Guix builds for **non-reproducible** components (system libraries like libc) require Guix to be set up correctly; cross-platform reproducibility is maintained via Guix's bootstrap chain. ## See also - [rpc/SKILL.md](../rpc/SKILL.md) - [knots/SKILL.md](../knots/SKILL.md) - [operations/SKILL.md](../operations/SKILL.md)
Related in Security
mac-ops
IncludedComprehensive macOS workstation operations — diagnose kernel panics, identify failing drives, audit launchd startup items, decode wake reasons, triage TCC permission denials, manage APFS snapshots, recover from no-boot. Use for: Mac is slow, slow bootup, won't boot, kernel panic, kernel_task hot, mds_stores CPU, photoanalysisd, cloudd, login loop, gray screen, sleep wake failure, drive failing, IO errors, APFS snapshots eating space, Time Machine local snapshots, Spotlight indexing, launchd, LaunchAgent, LaunchDaemon, login items, TCC permissions, Full Disk Access, Screen Recording denied, Gatekeeper, quarantine, com.apple.quarantine, app is damaged, helper tool, /Library/PrivilegedHelperTools, pmset, wake reasons, dark wake, sysdiagnose, panic.ips, DiagnosticReports, configuration profile, MDM profile, remote diagnostics over SSH.
a11y-audit
IncludedRun accessibility audits on web projects combining automated scanning (axe-core, Lighthouse) with WCAG 2.1 AA compliance mapping, manual check guidance, and structured reporting. Output is configurable: markdown report only, markdown plus machine-readable JSON, or markdown plus issue tracker integration. Use this skill whenever the user mentions "accessibility audit", "a11y audit", "WCAG audit", "accessibility check", "compliance scan", or asks to check a web project for accessibility issues. Also trigger when the user wants to verify WCAG conformance or map findings to a specific standard (CAN-ASC-6.2, EN 301 549, ADA/AODA).
erpclaw
IncludedAI-native ERP system with self-extending OS. Full accounting, invoicing, inventory, purchasing, tax, billing, HR, payroll, advanced accounting (ASC 606/842, intercompany, consolidation), and financial reporting. 413 actions across 14 domains, 43 expansion modules. Constitutional guardrails, adversarial audit, schema migration. Double-entry GL, immutable audit trail, US GAAP.
assess
IncludedAssesses and rates quality 0-10 across multiple dimensions (correctness, maintainability, security, performance, testability, simplicity) with pros/cons analysis. Compares against project conventions and prior decisions from memory. Produces structured evaluation reports with actionable improvement suggestions. Use when evaluating code, designs, architectures, or comparing alternative approaches.
spring-boot-security-jwt
IncludedProvides JWT authentication and authorization patterns for Spring Boot 3.5.x covering token generation with JJWT, Bearer/cookie authentication, database/OAuth2 integration, and RBAC/permission-based access control using Spring Security 6.x. Use when implementing authentication or authorization in Spring Boot applications.
code-hardcode-audit
IncludedDetect hardcoded values, magic numbers, and leaked secrets. TRIGGERS - hardcode audit, magic numbers, PLR2004, secret scanning.