Bitflash: A Tor-native revival of Bitcoin 0.1.0, mined on CPUs with RandomX

原始链接: https://bitflash.network/

Hacker Newsnew | past | comments | ask | show | jobs | submitlogin[flagged]bitflash 57 minutes ago | hide | past | favorite Retr0id 7 minutes ago | prev | next [–] > a node's address is its key, like a .onionIf it's merely "like" a .onion, what aspects are different?It seems like a fairly bad idea to use the same key material for both signing transactions, and a p2p networking stack.takoid 8 minutes ago | prev | next [–] Why should someone use this instead of Monero? Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:
相关文章

原文

Bitcoin 0.1.0, revived: same consensus rules, RandomX instead of SHA-256, and every node addressed by its own key over an encrypted rendezvous. No premine. No company. 21 million.

block height

relays up

50 BTFblock reward

mined so far

Read every 30 seconds from status.json, which is a live P2P handshake with a node rather than a cached number. A grey dot means this page could not reach the status daemon.

01How nodes meet

Nothing dials by IP. A node is addressed by its own public key and reached through an encrypted tunnel, so it works behind CGNAT and no peer learns where it is.

Addressing

# a node's address is its key, like a .onion
52 base32 chars .btf

# what it publishes, signed with that key
descriptor = address + encryption key + current relay
# nobody can forge one for an address they do not own

Discovery, in the order it is tried

btfpeers.json      peers that answered last time
nostr relays       where descriptors are published
rendezvous relay   where two nodes are paired
peer exchange      descriptors handed over by peers

The handshake, once paired

magic    bf 20 5c fd
-> version  101 | services | time | addr | height
<- version  101 | services | time | addr | height

# the height above is what the status page reads

02How a wallet is rebuilt

Twelve words rebuild the keys. The derivation is written down in full, with test vectors and a script that reproduces it using nothing but Python's standard library, so the words keep working even if this software does not.

The phrase

$ bitflash -newphrase
# printed once, to the terminal, never to debug.log

$ bitflash -restorephrase="twelve words"
# walks 100 addresses at a time, rescanning,
# and stops when a whole batch turns up nothing

The file

$ bitflash -backupwallet=backup.sqlite
# a single file that opens on its own

# new wallets are one self-contained wallet.sqlite;
# an old wallet.dat still works and the app
# converts it in one click. copying wallet.dat by
# hand is NOT a backup: berkeley db needs database/

When the database will not open

$ bitflash -dumpwallet=keys.txt
$ bitflash -importwallet=keys.txt
# one key per line, no database, any machine
# it is your keys in the clear: move it, delete it

Keys made before the seed was installed are random: they do not come back from the words. That is why both backups exist, and it is where people lose money. Since 1.2.20 the wallet is a single SQLite file by default: wallet storage, and the derivation specification.

03How you mine

RandomX is memory-hard and built for general-purpose CPUs, so a laptop competes with a server and an ASIC has no advantage worth the electricity.

On your own

$ ./bitflash -nogui -gen
# or from the window: Options > Mining Mode

Run a pool

$ ./bitflash -nogui -gen -operator
# the pool server is in the node,
# reachable over .btf rendezvous only

Point a miner at one

$ xmrig -a rx/0 -o POOL.btf -u YOU.btf -p x
$ SRBMiner-MULTI --algorithm randomx \
    --pool POOL.btf --wallet YOU.btf --password x

04Parameters

Ticker
BTF

Proof of work
RandomX, memory-hard, CPU

Block time
~2 minutes

Retarget
every 30 blocks

Reward
50 BTF, halving every 210,000

Halving
~292 days

Supply
21,000,000 BTF

Maturity
100 blocks

Sig ops
20,000 per block

P2P port
8433

Relay port
8434

Protocol
101

Premine
none

Licence
MIT

05Get it

Download v1.2.20ManualSourceDiscord

# check what you downloaded before you run it
$ sha256sum -c SHA256SUMS

# linux
$ chmod +x Bitflash-*.AppImage && ./Bitflash-*.AppImage

# windows: extract the zip, run Bitflash.exe

Consensus rules have changed since the first releases, so an old build quietly follows a different chain. Keep the node current, write the twelve words on paper, and do not put in more than you are willing to lose.

联系我们 contact @ memedata.com