-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdevelopers.html
More file actions
136 lines (132 loc) · 10.6 KB
/
Copy pathdevelopers.html
File metadata and controls
136 lines (132 loc) · 10.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bitcoin for developers</title>
<meta name="description" content="Consensus, node, and integration notes for the BLAKE2b proof-of-work hardfork inspired by BIP-110.">
<meta name="robots" content="index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1">
<meta name="referrer" content="strict-origin-when-cross-origin">
<meta name="theme-color" content="#f7931a">
<link rel="canonical" href="https://bitcoin-blake2b.org/developers">
<meta property="og:title" content="Bitcoin for developers">
<meta property="og:description" content="Consensus, node, and integration notes for the BLAKE2b proof-of-work hardfork inspired by BIP-110.">
<meta property="og:type" content="website">
<meta property="og:site_name" content="Bitcoin">
<meta property="og:url" content="https://bitcoin-blake2b.org/developers">
<meta property="og:image" content="https://bitcoin-blake2b.org/media/og-image.png?v=2">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Bitcoin for developers">
<meta name="twitter:description" content="Consensus, node, and integration notes for the BLAKE2b proof-of-work hardfork inspired by BIP-110.">
<meta name="twitter:image" content="https://bitcoin-blake2b.org/media/og-image.png?v=2">
<link rel="icon" href="/media/logo.svg" type="image/svg+xml">
<link rel="stylesheet" href="/static/style.css?v=8">
</head>
<body>
<a class="skip-link" href="#content">Skip to content</a>
<header class="site-header">
<div class="wrap header-bar">
<a class="brand" href="/">
<img src="/media/header-logo.png?v=2" alt="Bitcoin">
</a>
<button class="nav-toggle" type="button" data-nav-toggle aria-expanded="false" aria-controls="site-nav">Menu</button>
<nav class="site-nav" id="site-nav" data-site-nav aria-label="Primary">
<div class="nav-item" data-dropdown>
<button type="button" data-dropdown-button aria-expanded="false">Introduction</button>
<div class="dropdown-menu">
<a href="/individuals">Individuals</a>
<a href="/businesses">Businesses</a>
<a href="/developers">Developers</a>
<a href="/getting-started">Getting started</a>
<a href="/how-it-works">How it works</a>
<a href="/you-need-to-know">You need to know</a>
</div>
</div>
<div class="nav-item" data-dropdown>
<button type="button" data-dropdown-button aria-expanded="false">Resources</button>
<div class="dropdown-menu">
<a href="https://github.com/bitcoinknots/bitcoin/blob/v29.4.1.knots20260508/doc/release-notes.md" rel="noopener">Release notes</a>
<a href="/nodes">Node operators</a>
<a href="/miners">Miners and DATUM</a>
<a href="/mining">Bitcoin Knots</a>
<a href="https://github.com/bitcoinknots/bitcoin" rel="noopener">Knots source</a>
</div>
</div>
<a href="/getting-started">Participate</a>
<a href="/faq">FAQ</a>
</nav>
</div>
</header>
<main id="content">
<header class="page-header">
<div class="wrap">
<p class="kicker">Introduction</p>
<h1>Bitcoin for developers</h1>
<p>This is a consensus change. Nodes that do not enforce BLAKE2b proof of work will not follow this chain.</p>
</div>
</header>
<article class="wrap prose">
<p>This hardfork is not BIP-110. BIP-110, in alignment with the vast majority of node policy, was a softfork, later rejected, that would have rejected use of the network for arbitrary data storage. This hardfork was a denial of abuse of the Bitcoin network, and changed proof of work from SHA256d to BLAKE2b, a different algorithm, so today's SHA256d miners cannot produce valid blocks here. The first BLAKE2b block is 961640 (30 August 2026).</p>
<p>Limits on arbitrary data storage began at height 961640 as a flag day, together with BLAKE2b, not on August 8 and not as a leftover versionbits vote. They apply to v2-header blocks until the previous block's median time past reaches 1 September 2027, 00:00 UTC. During that window, blocks are also limited to 800,000 weight units, about 300 kB serialized. Inputs that spend coins created before the fork are exempt from the new script and data rules.</p>
<p>Each BLAKE2b block uses a 164-byte header v2, not the classic 80-byte SHA256d header. Light-client protocols that hash an 80-byte header with SHA256d will not validate this chain until they learn the new format and BLAKE2b.</p>
<h2>Integration checklist</h2>
<ul>
<li>Use a BLAKE2b node, not Bitcoin Core or a pre-hardfork <a href="https://bitcoinknots.org/" rel="noopener">Bitcoin Knots</a> release, if you intend to follow this chain. Source: <a href="https://github.com/bitcoinknots/bitcoin" rel="noopener">bitcoinknots/bitcoin</a>.</li>
<li>If a node followed post-fork SHA256d blocks, this release usually walks back to the fork and downloads the BLAKE2b chain. That pass uses headers only. A BLAKE2b-era block that breaks the weight cap, output sizes, or script rules still needs <code>-reindex</code>. A pruned node that has already deleted the walk-back blocks must resync.</li>
<li>After the previous block's median time past reaches 1 September 2027, 00:00 UTC, the data limits and the weight cap are removed unless node operators later choose to continue them. BLAKE2b proof of work is not temporary.</li>
<li><code>getdeploymentinfo</code> reports <code>reduced_data</code> as a flag-day deployment. <code>getblocktemplate</code> advertises BLAKE2b as <code>!blake2b</code> in <code>rules</code>, and lists <code>reduced_data</code> there only while the window is open. There is no miner signaling bit.</li>
<li>Wallets should implement the opt-in <code>SIGHASH_UNIFIED</code> sighash from <a href="https://github.com/bitcoinknots/bitcoin/pull/357" rel="noopener">Knots PR 357</a>: one BIP341-shaped message, bit <code>0x20</code>, tagged <code>UnifiedSighash</code>. That removes CVE-2013-2292 and CVE-2020-14199 for inputs that opt in. Replay protection is a consequence of the distinct message, one-way, and only for signatures that set the bit. Ordinary signatures stay valid and still replay. If a holder intends to sell, gift, or spend the fake “bitcoins” on the SHA256d altcoin launched by former miners, the intended action is a send-to-self on this chain with that format, then wait for the payment to confirm, before spending the same coins on the other chain. See <a href="https://github.com/bitcoinknots/bitcoin/blob/v29.4.1.knots20260508/doc/unified-sighash.md" rel="noopener">doc/unified-sighash.md</a>.</li>
</ul>
<p>Miners constructing their own templates should use the <a href="https://github.com/CONVOYMining/datum_gateway" rel="noopener">DATUM Gateway</a> with Knots. See <a href="/miners">miners and DATUM</a>.</p>
<p>The proof-of-work change is specified in <a href="https://github.com/bitcoinknots/bitcoin/pull/359" rel="noopener">Knots PR 359</a>. The reduced-data flag day and MTP expiry ride that block height in <a href="https://github.com/bitcoinknots/bitcoin/pull/358" rel="noopener">PR 358</a>. The opt-in unified signature hash is <a href="https://github.com/bitcoinknots/bitcoin/pull/357" rel="noopener">PR 357</a>.</p>
<p>Read the <a href="https://github.com/bitcoinknots/bitcoin/blob/v29.4.1.knots20260508/doc/release-notes.md" rel="noopener">release notes</a>, <a href="/nodes">node operator guide</a>, and <a href="/faq">FAQ</a>.</p>
</article>
</main>
<footer class="site-footer">
<div class="wrap">
<div class="footer-grid">
<div>
<a class="footer-brand" href="/">
<img src="/media/logo.svg" alt="">
Bitcoin
</a>
<p>Open source P2P money. Bitcoin with the BLAKE2b algorithm keeps Bitcoin as money only.</p>
</div>
<div>
<h2>Introduction</h2>
<ul>
<li><a href="/individuals">Individuals</a></li>
<li><a href="/businesses">Businesses</a></li>
<li><a href="/developers">Developers</a></li>
<li><a href="/getting-started">Getting started</a></li>
<li><a href="/how-it-works">How it works</a></li>
<li><a href="/you-need-to-know">You need to know</a></li>
</ul>
</div>
<div>
<h2>Resources</h2>
<ul>
<li><a href="https://github.com/bitcoinknots/bitcoin/blob/v29.4.1.knots20260508/doc/release-notes.md" rel="noopener">Release notes</a></li>
<li><a href="/nodes">Node operators</a></li>
<li><a href="/miners">Miners and DATUM</a></li>
<li><a href="/mining">Bitcoin Knots</a></li>
<li><a href="https://github.com/bitcoinknots/bitcoin" rel="noopener">Knots source</a></li>
<li><a href="/faq">FAQ</a></li>
</ul>
</div>
<div>
<h2>Other</h2>
<ul>
<li><a href="/privacy">Privacy</a></li>
<li><a href="https://bitcoin.org/bitcoin.pdf" rel="noopener">White paper</a></li>
<li><a href="https://github.com/CONVOYMining/datum_gateway" rel="noopener">DATUM Gateway</a></li>
<li><a href="https://github.com/innerhat-dev/bitcoin-blake2b.org" rel="noopener">Site source</a></li>
</ul>
</div>
</div>
<p class="footer-note">© Bitcoin Project from 2009 to 2026. bitcoin-blake2b.org is the canonical site. btc-blake2b.org, btc-blake2b.com, and bitcoin-blake2b.be redirect or serve the same pages.</p>
</div>
</footer>
<script src="/static/site.js?v=4"></script>
</body>
</html>