upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorBitflash-sh <btf01@proton.me>2026-07-24 11:18:11 -0300
committerBitflash-sh <btf01@proton.me>2026-07-24 11:18:11 -0300
commit51d617e70f90a972185917ea0096c1ecef2bfa8b (patch)
tree9fbbcd867de9de9d0776afdd02f594ba312c46eb /README.md
Bitflash: fair-launch release
Satoshi's bitcoin-0.1.0 reborn with RandomX CPU proof of work, anonymous .btf addressing over Nostr with CGNAT rendezvous, automatic peer discovery, a headless Linux node, and Windows GUI wallet. Fair launch, no premine, 21M cap.
Diffstat (limited to 'README.md')
-rw-r--r--README.md223
1 files changed, 223 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..550657a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,223 @@
1<div align="center">
2
3<img src="docs/logo.png" width="128" alt="Bitflash"/>
4
5# Bitflash ⚡ &nbsp;`BTF`
6
7### Satoshi's Bitcoin, reborn — mine with your **CPU**, stay **invisible**, run **anywhere**.
8
9A faithful revival of the original 2009 `bitcoin-0.1.0`, rebuilt for today:
10**memory-hard CPU mining** that shuts out ASICs and GPUs, **anonymous addressing**
11that hides your IP and punches through CGNAT, and a **fair launch** with no premine.
12
13<br/>
14
15![PoW](https://img.shields.io/badge/PoW-RandomX%20(CPU)-2ea44f?style=for-the-badge)
16![Privacy](https://img.shields.io/badge/addresses-.btf%20anonymous-2ea44f?style=for-the-badge)
17![Fair Launch](https://img.shields.io/badge/premine-none-2ea44f?style=for-the-badge)
18
19![Windows](https://img.shields.io/badge/Windows-GUI%20wallet-blue)
20![Linux](https://img.shields.io/badge/Linux-headless%20node-blue)
21![Language](https://img.shields.io/badge/built%20in-C%2B%2B-00599C)
22![License](https://img.shields.io/badge/license-MIT-green)
23![Supply](https://img.shields.io/badge/max%20supply-21%2C000%2C000-orange)
24
25**[⬇️ Download for Windows](../../releases/latest)** &nbsp;·&nbsp; **[🐧 Build for Linux](#-linux-node--miner)** &nbsp;·&nbsp; **[🧠 How it works](#-how-it-works)**
26
27</div>
28
29---
30
31## 💡 One CPU, one vote
32
33Bitcoin promised money mined by anyone with a computer. Then ASIC farms and mining
34pools took over, and "anyone" became "whoever owns a warehouse." Bitflash gives that
35promise back.
36
37- 🧩 **Memory-hard proof of work (RandomX).** The same algorithm Monero uses to keep
38 mining on ordinary CPUs. No ASICs. No GPU farms. Your laptop competes on equal footing.
39- 🕶️ **Anonymous by default.** Your node is reachable by a self-certifying `.btf`
40 address instead of an IP — a Tor-style hidden service built into the coin, over
41 [Nostr](https://nostr.com). Peers never see your IP.
42- 🌐 **Works behind any firewall.** No public IP? Stuck behind CGNAT? No port
43 forwarding? Doesn't matter. Nodes rendezvous through a lightweight relay and connect
44 anyway.
45- ⚖️ **Fair launch.** No premine. No ICO. No founder's reward. The genesis block mints
46 the same 50 coins everyone else mines for.
47- 🪙 **Sound money.** 50 BTF per block, halving on schedule, hard cap of **21,000,000** —
48 exactly like the original.
49
50---
51
52## ✨ Features
53
54| | |
55|---|---|
56| 🧠 **RandomX PoW** | CPU-only, ASIC/GPU-resistant mining — one CPU, one vote |
57| 🔐 **`.btf` hidden addresses** | Self-certifying, unforgeable node identity; your IP is never exposed |
58| 🛰️ **Nostr peer discovery** | No central servers, no DNS seeds — nodes find each other over open relays |
59| 🚪 **CGNAT traversal** | Rendezvous transport lets nodes behind carrier NAT reach each other |
60| 🔒 **End-to-end encrypted P2P** | X25519 + XChaCha20-Poly1305 channel; the relay only ever sees ciphertext |
61| 💸 **Instant transfers** | Send coins peer-to-peer in under a second |
62| 🖥️ **Retro wallet** | The classic, no-nonsense Bitcoin 0.1.0 interface, one "Generate Coins" click away |
63| 🐧 **Windows & Linux** | GUI wallet on Windows, headless daemon for Linux servers |
64
65---
66
67## 🚀 Quick start
68
69### 🪟 Windows (GUI wallet + miner)
70
711. **[Download the latest release](../../releases/latest)** and unzip it anywhere.
722. Double-click **`bitflash.exe`**.
733. Wait ~1 minute — it finds peers on its own and starts syncing.
744. **Options → Generate Coins** to start mining with your CPU. That's it. 🎉
75
76No install, no config, no command line. It connects automatically, even behind CGNAT.
77
78### 🐧 Linux (node + miner)
79
80```bash
81# grab the source, then:
82bash build-linux.sh # installs deps, builds secp256k1 + RandomX + the node
83./src/bitflash-node -gen # run + mine (auto-discovers peers, no config needed)
84```
85
86Run it 24/7 as a service — see [`docs/`](docs) and the systemd snippet below.
87
88---
89
90## 🧠 How it works
91
92Bitflash keeps Satoshi's consensus intact and swaps two things: **the proof of work**
93and **how nodes find and reach each other**.
94
95### Anonymous rendezvous (the `.btf` network)
96
97Every node has a `.btf` address derived from its public key — like a Tor `.onion`, but
98built into the coin. Nodes publish a signed descriptor over Nostr, and connect through a
99meeting relay so **neither side ever learns the other's IP**, and **no port forwarding is
100ever needed**.
101
102```mermaid
103flowchart LR
104 A["🧑‍💻 Node A<br/>(behind CGNAT)"] -- "encrypted" --> R(("🛰️ Meeting<br/>relay"))
105 B["🧑‍💻 Node B<br/>(behind CGNAT)"] -- "encrypted" --> R
106 R -. "pairs by .btf key<br/>sees only ciphertext" .-> A
107 R -. "pairs by .btf key<br/>sees only ciphertext" .-> B
108 N["🛰️ Nostr relays"] -. "discover .btf peers" .-> A
109 N -. "discover .btf peers" .-> B
110```
111
112The relay is dumb on purpose: it pairs peers by their `.btf` key and forwards bytes. The
113real connection is end-to-end encrypted (X25519 + XChaCha20-Poly1305) and authenticated
114to each peer's static key, so a malicious relay can't read or tamper — it can only refuse.
115
116### RandomX proof of work
117
118Blocks are mined with **RandomX**, a memory-hard algorithm that runs efficiently on
119general-purpose CPUs and terribly on specialized hardware. This is what keeps mining
120decentralized: no ASIC advantage, no GPU farms — just CPUs, one vote each.
121
122---
123
124## 🛠️ Build from source
125
126### Linux
127
128```bash
129bash build-linux.sh
130```
131
132Installs `build-essential cmake libssl-dev libdb5.3++-dev libsodium-dev
133nlohmann-json3-dev libboost-dev`, builds `libsecp256k1` (Schnorr) and `RandomX` from
134source, then the `bitflash-node` binary. Debian/Ubuntu.
135
136### Windows
137
138Built with **MSYS2 UCRT64** (g++ 16, wxWidgets 3.2, OpenSSL 3, Berkeley DB). See
139[`build.sh`](build.sh) and `src/makefile.mingw`.
140
141### Run a rendezvous relay (optional, help the network)
142
143Have a box with a public IP? Run a relay in one command and strengthen the network:
144
145```bash
146sudo bash relay/install-bitflash-relay.sh 8434
147```
148
149It builds a tiny, dependency-free daemon and installs it as a systemd service.
150
151<details>
152<summary>Run the Linux node 24/7 (systemd)</summary>
153
154```ini
155# /etc/systemd/system/bitflash-node.service
156[Unit]
157Description=Bitflash node/miner
158After=network.target
159
160[Service]
161WorkingDirectory=/root/bitflash/src
162ExecStart=/root/bitflash/src/bitflash-node -gen
163Restart=always
164User=root
165
166[Install]
167WantedBy=multi-user.target
168```
169```bash
170systemctl daemon-reload && systemctl enable --now bitflash-node
171```
172</details>
173
174---
175
176## 📊 At a glance
177
178| Parameter | Value |
179|---|---|
180| Ticker | **BTF** |
181| Proof of work | RandomX (CPU, memory-hard) |
182| Block reward | 50 BTF, halving on schedule |
183| Max supply | 21,000,000 BTF |
184| Target block time | ~2 minutes |
185| Address privacy | `.btf` hidden-service addressing over Nostr |
186| Premine / ICO | **None** |
187| Platforms | Windows (GUI), Linux (headless) |
188
189---
190
191## 🗺️ Roadmap
192
193- [x] Faithful port of `bitcoin-0.1.0` to a modern toolchain
194- [x] RandomX CPU proof of work
195- [x] Nostr peer discovery (replacing IRC)
196- [x] `.btf` anonymous addressing + CGNAT rendezvous
197- [x] Automatic peer discovery — zero config
198- [x] Headless Linux node/miner
199- [x] Fair-launch, stable-parameter relaunch
200- [ ] Optional direct IPv6 transport (opt-in, for public backbone nodes)
201- [ ] Redundant relays & bootstrap hardening
202- [ ] One-click installers
203
204---
205
206## ⚠️ Disclaimer
207
208Bitflash is **experimental software**, released in the spirit of the original Bitcoin:
209*"This is a design and prototype. Use at your own risk. It comes with no warranty of any
210kind."* It has real cryptography and a live network, but it is young. Don't put in more
211than you're willing to lose, and don't rely on it for anything critical.
212
213---
214
215## 📜 License
216
217MIT — see [LICENSE](LICENSE). Built on Satoshi Nakamoto's original Bitcoin (2009),
218extended by the Bitflash developers (2026).
219
220<div align="center">
221<br/>
222<b>⚡ One CPU. One vote. Mining returns to the people. ⚡</b>
223</div>