I'm a solo developer in Kabul, and for the past while I've been building NEBULA (NBL): an experimental, Bitcoin-style proof-of-work blockchain written in Python. This post is not a pitch. It is an honest description of what exists, what doesn't, and where I'd like experienced eyes.
Status: pre-launch, experimental, NOT independently audited. Please don't put money you can't afford to lose into anything built on this code.
What it is
- SHA-256d proof of work (with an optional C accelerator for hashing)
- UTXO accounting, P2PKH / P2SH / multisig scripts
- BIP39 / BIP32 / BIP44 HD wallets
- Fixed 21M supply schedule
- Per-block LWMA difficulty adjustment (window 60, 10-minute target)
- A TLS-encrypted peer-to-peer layer
What it is not (yet)
- There is no public testnet and no seed node. My multi-node tests run on one machine (127.0.0.1). They show that consensus, the P2P layer and chain reorganisation work, but they do not show that nodes on different networks find each other over the internet.
- The main file is large (about 95,000 lines), and most of it is optional "groups" of features that nobody has audited. The consensus core is much smaller; I wrote a short guide (REVIEW.md) listing exactly which functions matter.
- The genesis block includes a public premine of 1,035,000 NBL (about 4.9% of mining supply). It is in the genesis block and verifiable with a test script in the repo.
A small example of useful feedback
I asked on Code Review Stack Exchange for a review of the LWMA difficulty function. A reviewer suggested a few readability changes (if idx == 1: instead of if idx - 1 == 0:, underscores in long hex literals, comment placement). They were small, but exactly the kind of thing I couldn't see myself. I applied them, re-ran the tests, and checked that the genesis hash didn't change.
Where a review would help most
- The LWMA difficulty code (clamping, rounding, timestamp edge cases)
- Genesis and premine handling
- Signature validation (low-S, DER parsing)
- The reorg policy
If you find a flaw that could be used to attack a running network, please report it privately via GitHub's Security tab ("Report a vulnerability") instead of opening a public issue.
Try it in a few minutes
git clone https://github.com/rahmatullahvibenet-sketch/nebula-blockchain cd nebula-blockchain python3 tests/test_genesis_premine_v1025.py python3 tests/test_lwma_v1025.py - Repo: https://github.com/rahmatullahvibenet-sketch/nebula-blockchain
- 30-minute review guide: REVIEW.md in the repo
- The Code Review thread: https://codereview.stackexchange.com/q/303610
- Telegram: https://t.me/nebula_nbl_official
I'd rather hear "this is wrong, and here is why" than get a star. Thanks for reading.
