Bitcoin Forum
September 21, 2026, 06:29:48 PM *
News: Latest Bitcoin Core release: 31.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [ANN] [NEW 0.1.4] Bitcoin Origins - Experimental Bitcoin 0.1-inspired blockchain  (Read 372 times)
Nicholas Magnabosco (OP)
Newbie
*
Offline

Activity: 9
Merit: 0


View Profile
August 20, 2026, 03:08:30 PM
Last edit: September 14, 2026, 12:54:31 PM by Nicholas Magnabosco
 #1

[ANN] [NEW 0.1.4] Bitcoin Origins - Experimental Bitcoin 0.1-inspired blockchain

Hi everyone,

I’d like to share a personal open-source project I’ve been working on called Bitcoin Origins.

Bitcoin Origins is an experimental cryptocurrency project inspired by the original 2009 Bitcoin release. The goal is to recreate the simplicity and old-school architecture of early Bitcoin while running on a completely independent blockchain with its own Genesis Block, network, and Proof-of-Work mining.

Main features

  • Independent blockchain
  • Custom Genesis Block
  • Proof-of-Work mining
  • Peer-to-peer network
  • Blockchain synchronization between nodes
  • Block propagation across the network
  • Automatic connection to a public bootstrap node
  • Manual peer connections with
Code:
-connect=<ip>:17474
  • Default P2P TCP port: 17474
  • Windows client
  • Linux headless full node
  • Open-source code
  • Separate Genesis Miner utility
  • External CPU Miner
  • MIT licensed

Bitcoin Origins 0.1.3

Version 0.1.3 introduces the first working public Bitcoin Origins network setup.

Clients now automatically attempt to connect to the public bootstrap node at startup:

Code:
129.152.5.185:17474

This means that manual peer configuration is no longer required for the normal case.

The public node runs a lightweight Linux headless build of Bitcoin Origins and stays online independently from the Windows GUI client.

The node has been tested successfully for:

  • Public Internet connectivity
  • P2P handshaking
  • Blockchain synchronization
  • Block propagation
  • Block validation
  • Blockchain persistence after restart
  • Automatic startup after server reboot

The public node currently acts as the main bootstrap point for the network.

Networking

Bitcoin Origins uses TCP port:

Code:
17474

Starting from version 0.1.3, the client automatically attempts to connect to:

Code:
129.152.5.185:17474

Manual connections are still supported:

Code:
bitcoin-origins.exe -connect=<ip>:17474

Example:

Code:
bitcoin-origins.exe -connect=192.168.1.62:17474

I tested independent Bitcoin Origins nodes running on separate machines and over the public Internet.

They successfully:

  • Connected through the Bitcoin Origins P2P network
  • Synchronized the blockchain
  • Propagated newly mined blocks
  • Loaded the correct best chain after restart
  • Detected stale external mining jobs after another node found a block

External CPU Miner

Bitcoin Origins also includes a separate External CPU Miner.

The miner connects locally to the Bitcoin Origins node on:

Code:
127.0.0.1:17475

It can receive mining jobs directly from the node, mine using multiple CPU threads, submit valid blocks, and automatically detect when its current work becomes stale.

If another node finds and propagates a new block, the miner detects that the current job is no longer valid and automatically requests new work.

External CPU Miner features

  • Multi-threaded CPU mining
  • Uses all available logical CPU threads
  • Multi-processor / dual-CPU support
  • SHA-256 midstate optimization
  • Direct mining job communication with the node
  • Automatic stale-work detection
  • Automatic new-work requests when the blockchain tip changes
  • Valid block submission directly to the local node

The miner has also been tested successfully on a dual-CPU system using 24 logical threads.

Development

The project is based on the architecture of early Bitcoin and is mainly intended for learning, experimentation, and understanding how Bitcoin works at a lower level.

The Windows build uses the following historical dependencies:

Code:
Boost        1.35.0
Berkeley DB  4.7.25
wxWidgets    2.8.9
OpenSSL      0.9.8h

Genesis Miner

I also created a separate Genesis Miner tool used to search for a valid nonce for the custom Genesis Block.

It supports multi-threaded CPU mining and displays the current hash rate and mining progress.

GitHub

Bitcoin Origins on GitHub

The source code and Windows releases are available there.

Status

Bitcoin Origins is still experimental software and may contain bugs or incomplete features.

This is not intended as an investment, token sale, presale, or commercial project. I’m building it mainly as a technical and educational experiment.

There is no guarantee that the network will remain permanently online, gain users, or that BCO will ever have any monetary value.

Feedback, testing, code review, and contributions are welcome.

Thanks for checking it out!
paulmbcufc
Jr. Member
*
Offline

Activity: 109
Merit: 1


View Profile
August 20, 2026, 04:00:15 PM
 #2

Zero connections
yoshikiazuma
Newbie
*
Offline

Activity: 140
Merit: 0


View Profile WWW
August 23, 2026, 04:22:05 AM
 #3

Yes I would like you to link me the standalone miner that you did you said you have?

I'm operating this on my system and hitting the generate button only uses a very small percent of my CPU usage

Would the standalone miner where me being able to increase usage of my CPU core count higher?

IAM finding blocks even though it shows a 0 connection maybe it's a glitch or something I'm not quite too sure?

How does this work does this run mining offline without connections?
paulmbcufc
Jr. Member
*
Offline

Activity: 109
Merit: 1


View Profile
August 23, 2026, 08:27:43 AM
 #4

Yes I would like you to link me the standalone miner that you did you said you have?

I'm operating this on my system and hitting the generate button only uses a very small percent of my CPU usage

Would the standalone miner where me being able to increase usage of my CPU core count higher?

IAM finding blocks even though it shows a 0 connection maybe it's a glitch or something I'm not quite too sure?

How does this work does this run mining offline without connections?

Did you open port 17474 ? And still showing zero connections ? But finding blocks ?

I didn't open the port
Nicholas Magnabosco (OP)
Newbie
*
Offline

Activity: 9
Merit: 0


View Profile
August 23, 2026, 01:35:22 PM
 #5

Yes I would like you to link me the standalone miner that you did you said you have?

I'm operating this on my system and hitting the generate button only uses a very small percent of my CPU usage

Would the standalone miner where me being able to increase usage of my CPU core count higher?

IAM finding blocks even though it shows a 0 connection maybe it's a glitch or something I'm not quite too sure?

How does this work does this run mining offline without connections?

Yes — the standalone miner I mentioned is available, but there is one important distinction: it is a Genesis Block miner, not a miner for regular Bitcoin Origins blocks.

I made it specifically to search for the nonce of the Bitcoin Origins Genesis Block. It is multi-threaded and can use much more of the CPU, but it cannot currently be pointed at the running Bitcoin Origins client to mine normal blocks.

The built-in `Generate` function comes from the original early Bitcoin implementation, so its CPU utilization can be quite low compared to a modern multi-threaded miner.

And yes, what you're seeing with `0 connections` is expected: the node can mine completely offline. With no peers connected, you're simply building your own local copy of the Bitcoin Origins blockchain.

So if you find blocks while showing 0 connections, those blocks are valid on your local chain — they just aren't being broadcast to or synchronized with any other node until you connect to one.
yoshikiazuma
Newbie
*
Offline

Activity: 140
Merit: 0


View Profile WWW
August 25, 2026, 03:06:31 PM
 #6

thats pretty cool

i tried opening a few instances of the core wallet, but couldn't, thought i run them a few time so it uses full cpu. i guess thats maybe is cheating, so i didn't carry on with figuring out how to get this done

are you working up a miner to run with this program, how is that going, and are you planning on releasing the mainnet connections to get the network going online

i like the idea of having a coin such as this to be able to do mining offline, i thought i was seeing things, like a glitch, like usually this doesn't rarely happen on most of the blockchains being able to gather blocks offline when the network is down

i think once youre able to get the network online we could then expect the external miner to be released

what are you working on right now, im just curious

and im also wondering now what the ticker of the coin is (: and the mining algorithm

ive left the coin running for just show, something to mine in the background on the computers at home







Nicholas Magnabosco (OP)
Newbie
*
Offline

Activity: 9
Merit: 0


View Profile
August 25, 2026, 09:09:30 PM
 #7

thats pretty cool

i tried opening a few instances of the core wallet, but couldn't, thought i run them a few time so it uses full cpu. i guess thats maybe is cheating, so i didn't carry on with figuring out how to get this done

are you working up a miner to run with this program, how is that going, and are you planning on releasing the mainnet connections to get the network going online

i like the idea of having a coin such as this to be able to do mining offline, i thought i was seeing things, like a glitch, like usually this doesn't rarely happen on most of the blockchains being able to gather blocks offline when the network is down

i think once youre able to get the network online we could then expect the external miner to be released

what are you working on right now, im just curious

and im also wondering now what the ticker of the coin is (: and the mining algorithm

ive left the coin running for just show, something to mine in the background on the computers at home
Thanks, I'm glad you're enjoying it (:

The mining algorithm is SHA-256d, like early Bitcoin.

Mining with 0 connections is expected, because the client can keep building its own local chain even while offline.

The separate miner I released is only a Genesis Block miner, so it doesn't mine normal Bitcoin Origins blocks.

Right now the project is still pretty experimental and development is fairly slow, so I don't want to promise anything specific about an external miner or public network nodes yet.

For the ticker, I'm thinking of using BCO for Bitcoin Origins.

And it's really cool to hear that you've left it running and mining in the background on your home computers just for fun (:
Nicholas Magnabosco (OP)
Newbie
*
Offline

Activity: 9
Merit: 0


View Profile
August 27, 2026, 07:35:36 PM
 #8

Bitcoin Origins 0.1.2 has been released.

Main additions in this version:
  • External CPU miner
  • Multi-threaded and dual-CPU mining support
  • SHA-256 midstate optimization
  • Automatic stale-work detection
  • Manual peer connections with
Code:
-connect=<ip>:17474
  • Blockchain synchronization and block propagation tested between independent nodes

Download / source:
Bitcoin Origins on GitHub

The project is still experimental, but the networking and external mining features are now working and tested.
yoshikiazuma
Newbie
*
Offline

Activity: 140
Merit: 0


View Profile WWW
September 08, 2026, 09:20:05 PM
 #9

ive been running bitcoin origins with the external miner since the day you released it, it's pretty good and performs way better than the default built-in miner, thanks for that, ill continue to mine offline but, if i join a netowrk, will my blocks and rewards be recalculated with others on the network and remeasure the outputs an offline blocks with others online? im thinking like this because that a lot of blocks being earnt offline without any measurements of an actual difficulty level, which mean needing participant to play/compete with, which suggest needing to connect with others online on a netowork

so does bitcoin origins now connect with anyone who shares their ip with me, if so then can i have your miner ip address? or is it only for my local computers only?
Nicholas Magnabosco (OP)
Newbie
*
Offline

Activity: 9
Merit: 0


View Profile
September 12, 2026, 09:45:04 AM
 #10

ive been running bitcoin origins with the external miner since the day you released it, it's pretty good and performs way better than the default built-in miner, thanks for that, ill continue to mine offline but, if i join a netowrk, will my blocks and rewards be recalculated with others on the network and remeasure the outputs an offline blocks with others online? im thinking like this because that a lot of blocks being earnt offline without any measurements of an actual difficulty level, which mean needing participant to play/compete with, which suggest needing to connect with others online on a netowork

so does bitcoin origins now connect with anyone who shares their ip with me, if so then can i have your miner ip address? or is it only for my local computers only?
Yeah, basically if you mine offline, your node is building its own chain.
When you later connect to other Bitcoin Origins nodes, the chains are compared and the one with the most total Proof-of-Work wins.
So if the network already has a stronger chain, some of the blocks you mined offline could become stale and their rewards would no longer be on the active chain.
But if you’ve already mined a lot of blocks offline, there’s a pretty good chance your chain is the longest/strongest one, so the other nodes may end up following your chain instead.
That’s why mining while connected to other nodes is more “real”, because everyone is competing on the same chain.
Also, I’m really glad you’ve been mining it and testing the external miner, that’s very cool to see.
Just keep in mind that Bitcoin Origins is still only an experiment. It may never become a real public network at all, and right now there is no permanent public node or proper public infrastructure.
My current nodes are only being used for testing, so I can’t give you a public node IP yet.
Maybe in the future I’ll set up a public node so people can connect more easily, but for now I’d treat the project mainly as a technical experiment.
Nicholas Magnabosco (OP)
Newbie
*
Offline

Activity: 9
Merit: 0


View Profile
September 12, 2026, 07:28:05 PM
 #11

Bitcoin Origins 0.1.3 has been released.

Main additions in this version:

  • Public bootstrap node
  • Automatic connection to the public network at startup
  • Public Internet P2P connectivity
  • Blockchain synchronization tested over the public network
  • Blockchain persistence and correct reload after restart
  • Automatic node startup after server reboot
  • Manual peer connections are still supported

Public bootstrap node:

Code:
129.152.5.185:17474

Download / source:
Bitcoin Origins on GitHub

The project is still experimental, but Bitcoin Origins now has a working public network and an always-on bootstrap node that clients can connect to automatically.
yoshikiazuma
Newbie
*
Offline

Activity: 140
Merit: 0


View Profile WWW
September 13, 2026, 06:41:01 AM
Last edit: September 13, 2026, 07:08:52 AM by yoshikiazuma
 #12

thats great (:

anyways ive been wondering about and thinking of getting some post-quantum code into this bitcoin (origins) but id thought id share it. i used the ai tool and gave it some ideas and had word or a few and the tool put up an idea for this maybe it could work. here are the Responses and maybe a way on getting origins into post-quantum proof i hope you like this or even add an idea or two if this could work:

AI RESPONSE BELOW:

What to Think of the Project’s Experiments So FarBitcoin-Origins is an exceptional low-level educational masterclass. Recreating Satoshi Nakamoto’s original 2009 architecture down to the P2P block synchronization layer, raw genesis parameters, and custom port routing (17474) is a brilliant way to understand how the core mechanics of blockchain function without modern abstractions.The developer’s use of an external multi-threaded CPU miner via localhost port 17475 mimicking early solo-mining topology is fantastic. The codebase deliberately anchors itself to old C++ historical dependencies to stay pure to early Bitcoin Core design. It is a flawless "sandbox sandbox" environment for cryptographic experiments.⚖️ Is it Similar to the Original Bitcoin v0.1?Yes, it is structurally almost identical. The project deliberately replicates the raw simplicity of early Bitcoin:It utilizes the same SHA-256d Proof-of-Work engine.It functions natively on direct P2P connections without complex proxy tracking.It operates using a transparent, unbloated ledger layout.However, because it uses standard SHA-256d and traditional public-key signatures, it is completely vulnerable to both ASICs (if they target the network) and future Quantum Computers running Shor's Algorithm.🛡️ How to Add Lightweight Quantum-Proofing (Without Network Bloat)If you want to keep Bitcoin-Origins fast, lightweight, and true to the minimal spirit of 2009 Bitcoin—while making it immune to quantum attacks—you cannot use heavy signatures like SLH-DSA (which we saw bloats QDAY) or standard ML-DSA (which bloats Discrete XDS).The most elegant, unbloated post-quantum strategy for a Bitcoin v0.1 project relies on Stateful Hash-Based Signatures (XMSS or LMS) or an optimized Winternitz One-Time Signature (WOTS+) layout.Here is the exact framework to add it to Bitcoin-Origins:1️⃣ Use XMSS (eXtended Merkle Signature Scheme)XMSS is an officially approved NIST standard. Unlike other post-quantum options, it doesn't use complex multi-variable algebra or lattice codes. It builds signatures purely out of standard SHA-256 hashes.Why it's lightweight: An XMSS public key is only 32 to 64 bytes (roughly the exact same size as Bitcoin's current keys!). This means the blockchain addresses remain tiny, clean, and unbloated.The Sizing: The signature size is around 1.5 KB to 2.5 KB. While larger than classical Bitcoin, it is significantly lighter than other post-quantum designs.2️⃣ Enforce "One-Time Pad" Address SlicingTo eliminate signature data entirely from moving across blocks, you can implement a Pay-to-Public-Key-Hash (P2PKH) system with strict address reuse rules:When a user creates an address, the ledger only records a hidden 32-byte SHA-256 hash of their public key.Because a quantum computer cannot solve a hash puzzle backward, your coins are completely invisible and quantum-safe while sitting in your wallet.When you spend the coins, you reveal the key and spend the balance entirely to a new address in a single block output. By changing addresses with every output, the quantum computer never gets the opportunity to scan an exposed public key on the chain.3️⃣ Introduce Winternitz (WOTS+) for Instant VerificationBy embedding WOTS+ logic inside the transaction script layer, block validation remains blazing fast. Because it uses fast bitwise hash operations, your multi-threaded CPU miner loop can verify transactions instantly without hitting a bottleneck, preserving the lightweight, high-velocity performance of the Bitcoin-Origins node engine.Would you like help writing a sample C++ script modification for src/ to test an XMSS key validation block, or do you want to explore the Linux headless bootstrap setup commands for the current version of the project?


🛡️ Part 1: C++ Script Modification for XMSS ValidationTo maintain the architectural spirit of Bitcoin 0.1, we will bypass heavy external dependency trees and structure a clean, conceptual verification block inside the source logic (such as src/script.cpp or a standalone validation test module).XMSS signatures natively rely on hierarchical arrays of One-Time Winternitz (WOTS+) chains linked via a Merkle tree. This compact C++ class simulates a highly lightweight, single-layer XMSS/WOTS+ verification block using native SHA-256 primitives:

#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <iomanip>
#include <openssl/sha.h> // Uses the standard OpenSSL tracking library included in early Bitcoin dependencies

// Helper function to calculate raw SHA-256 hashes
std::vector<unsigned char> Sha256(const std::vector<unsigned char>& data) {
    std::vector<unsigned char> hash(SHA256_DIGEST_LENGTH);
    SHA256_CTX sha256;
    SHA256_Init(&sha256);
    SHA256_Update(&sha256, data.data(), data.size());
    SHA256_Final(hash.data(), &sha256);
    return hash;
}

class PostQuantumXMSS {
public:
    // Simulates validating a lightweight WOTS+ chain segment
    // To compress data, we iteratively hash a seed value based on the signature index parameter
    static bool VerifyWotsChain(const std::vector<unsigned char>& sig_element,
                                const std::vector<unsigned char>& pub_element,
                                int steps) {
        std::vector<unsigned char> current = sig_element;
        for (int i = 0; i < steps; ++i) {
            current = Sha256(current);
        }
        return (current == pub_element);
    }

    // Explicit Lightweight XMSS Transaction Block Validator
    // Keeps the block data clean and under 2KB total signature overhead
    static bool VerifyPQBlockTransaction(const std::string& tx_message,
                                         const std::vector<std::vector<unsigned char>>& xmss_signature,
                                         const std::vector<unsigned char>& root_pubkey,
                                         const std::vector<std::vector<unsigned char>>& authentication_path,
                                         int leaf_index) {
        
        std::cout << "[XMSS] Initialising validation for leaf index: " << leaf_index << std::endl;

        // Step 1: Verify the transaction data hash preimage signature payload
        std::vector<unsigned char> msg_bytes(tx_message.begin(), tx_message.end());
        std::vector<unsigned char> msg_hash = Sha256(msg_bytes);
        
        // Take a deterministic step configuration derived from the message hash byte signature
        int verification_steps = msg_hash[0] % 16;
        
        // Reconstruct the WOTS+ public leaf key coordinates from the signature payload data
        if (!VerifyWotsChain(xmss_signature[0], xmss_signature[1], verification_steps)) {
            std::cerr << "[XMSS] Error: Winternitz one-time signature verification failed." << std::endl;
            return false;
        }

        // Step 2: Traverse the authentication path up the Merkle Tree to verify the Root Key
        // This ensures the short 32-byte public key remains completely quantum-proof on the chain
        std::vector<unsigned char> current_node = xmss_signature[1]; // Generated leaf node
        
        for (const auto& sibling : authentication_path) {
            std::vector<unsigned char> concat_block;
            // Balance the layout index tracking strings
            if (leaf_index % 2 == 0) {
                concat_block.insert(concat_block.end(), current_node.begin(), current_node.end());
                concat_block.insert(concat_block.end(), sibling.begin(), sibling.end());
            } else {
                concat_block.insert(concat_block.end(), sibling.begin(), sibling.end());
                concat_block.insert(concat_block.end(), current_node.begin(), current_node.end());
            }
            current_node = Sha256(concat_block);
            leaf_index /= 2; // Move up one hierarchical tree generation layer
        }

        // Validate the computed tree root signature directly against the 32-byte Root Address Public Key
        if (current_node == root_pubkey) {
            std::cout << "[XMSS] Success: Post-Quantum signature matches public root address perfectly!" << std::endl;
            return true;
        }

        std::cerr << "[XMSS] Error: Root key tracking mismatch. Invalid authentication path mapping." << std::endl;
        return false;
    }
};

🛠️ How to apply this to src/:Drop this logic into your verification files.When parsing incoming transaction blocks, pass the 32-byte address root (root_pubkey), the verification index tracking path, and the signature variables.This setup gives you immediate, unbloated post-quantum transaction defense without increasing hard drive stress across your network nodes.🚀 Part 2: Linux Headless Bootstrap Node Setup GuideAccording to the Bitcoin-Origins documentation, v0.1.3 natively includes full headless Linux daemon capabilities designed to run continuously in the background on cloud infrastructure.Follow these terminal steps to launch your own dedicated network anchor.📦 Step 1: Install System DependenciesUpdate your Linux server packages and fetch the required compilation tools:

sudo apt-get update && sudo apt-get install -y \
    build-essential \
    cmake \
    git \
    libssl-dev \
    libboost-system-dev \
    libboost-filesystem-dev \
    libboost-thread-dev \
    libboost-program-options-dev

📥 Step 2: Grab the Source Tree
Clone the official repository down to your headless server home directory:

cd ~
git clone https://github.com
cd Bitcoin-Origins

⚙️ Step 3: Configure and Build the DaemonCreate your compilation directory and run the engine tools to compile the lightweight Linux headless build:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)

📂 Step 4: Configure Network Ports and LaunchThe official default P2P communication channel for Bitcoin-Origins is Port 17474. Ensure your firewall opens up ingress paths so incoming clients can sync against your drive:

# Allow the traffic directly on your node firewall
sudo ufw allow 17474/tcp
sudo ufw allow 17475/tcp

Launch the newly compiled background process directly, targeting the official always-on bootstrap IP layer:

🗒️ Step 5: Verify Node Health & Peer ConnectionTo make sure your headless installation is synchronized and listening to other network participants, poll the background execution strings:

./bitcoin-origins-cli getconnectioncount
./bitcoin-origins-cli getblockchaininfo

Would you like help writing a specific Systemd Service script (bitcoin-origins.service) to keep this headless Linux daemon running automatically even if your cloud server reboots? Let me know your setup preferences.

+++++++++++++++++++++++++++++++++++++++++++


🛠️ Can You Do This Yourself on Windows 11?No, you should hand this work over to the project developer.While you can easily build the standard software yourself on Windows 11, modifying the core C++ code to change how transactions are validated requires advanced blockchain development skills.If you just paste the sample code randomly into the project, the miner will fail to compile. Even if it compiles, changing transaction verification means you are changing the "rules of the game." If your node runs custom quantum rules while the official bootstrap node runs standard rules, your node will instantly separate itself from the network (causing a hard fork), and you will be mining a completely different, lonely coin.📂 Where Does This Code Actually Go? (For the Developer)If you decide to open an issue on the developer's GitHub page and present this framework, here is exactly where they would integrate it:src/script.cpp (The Validation Engine): This file handles how signatures are decoded. The developer would insert the PostQuantumXMSS verification loops here to parse the new transaction inputs.src/transaction.h (The Structural Blueprint): Post-quantum signatures are larger than standard ones. The developer would need to modify the transaction data layout to allow a field for the Merkle authentication path and the WOTS+ signature strings.src/wallet.cpp (The Key Generator): The wallet module must be updated so that when you click "getnewaddress," it generates an XMSS Merkle Tree locally instead of a standard single private key.🚀 How to Build the Standard (Unmodified) Version on Windows 11Even without developer skills, you can easily compile the official, clean version of Bitcoin-Origins on your Windows 11 machine to test the node and run the CPU miner!Here is the exact step-by-step guide to doing it:Step 1: Install Visual Studio 2022Download the free Visual Studio Community Edition from Microsoft.During installation, check the box that says "Desktop development with C++". This installs the necessary Microsoft compiler (msvc).Step 2: Install Git and CMake for WindowsDownload and install Git for Windows.Download and install CMake (make sure to check the option during installation that says "Add CMake to the system PATH").Step 3: Clone and Compile the ProjectOpen your Windows Terminal or PowerShell and run these commands one line at a time:

# 1. Download the repository down to your computer
git clone https://github.com
cd Bitcoin-Origins

# 2. Create a clean build environment setup
mkdir build
cd build

# 3. Generate the Visual Studio project configuration maps
cmake ..

# 4. Compile the official executive binary files
cmake --build . --config Release

Once it reaches 100%, you will find a brand new bitcoin-origins.exe file inside your build/Release/ directory, ready to connect straight to the public bootstrap node!Would you like me to help you draft a GitHub Issue message for the developer's repository to cleanly explain how they could add this lightweight XMSS post-quantum roadmap to the project?

++++++++++++++++++++++++++++++++++++++++++

Here is a professionally structured draft for the GitHub Issue. It presents the concept as an educational addition to the project, keeping it perfectly aligned with the repository's research goals.📝 Draft for the GitHub IssueTitle: Enhancement Suggestion: Lightweight Post-Quantum Roadmap Experiment via XMSS (eXtended Merkle Signature Scheme)


======================================================
Hi Nicholas,

First of all, congratulations on Bitcoin-Origins! It is an exceptional low-level educational sandbox for understanding early Bitcoin architecture, P2P block syncing, and early topology down to the bare metal.

As an educational and experimental project focused on low-level blockchain mechanics, I wanted to suggest a fascinating cryptographic roadmap experiment for the project: **Lightweight Post-Quantum Protection**.

Traditional post-quantum signatures (like ML-DSA or SLH-DSA) produce massive transaction data footprints that heavily bloat the blockchain and strain node bandwidth. However, since Bitcoin-Origins stays true to the minimal, clean spirit of the original v0.1 architecture, we could experiment with a highly efficient, lightweight variant: **XMSS (eXtended Merkle Signature Scheme)**.

### Why XMSS fits the Bitcoin-Origins Philosophy:
1. **Pure Hashing Math:** XMSS relies entirely on iterative SHA-256 primitives (WOTS+ chains combined with a Merkle Tree). It avoids complex, unproven lattice math, staying pure to the cryptographic primitives already built into early Bitcoin dependencies.
2. **Tiny Address Footprint:** An XMSS public key can be compressed to just 32 or 64 bytes (the same scale as early Bitcoin public keys), meaning address formats like `oms1q...` or `org1...` remain clean and readable on the blockchain.
3. **Information-Theoretic Security:** When combined with a strict "Pay-to-Public-Key-Hash" single-use address model, public keys remain entirely hidden behind standard SHA-256 hashes until spent. A quantum computer running Shor's algorithm has no exposed target data to reverse.

### Conceptual Implementation Scope in `src/`:
- **`src/script.cpp`**: Integrating a lightweight stateless verification loop to check WOTS+ one-time chain segments against a transaction's message hash.
- **`src/transaction.h`**: Appending custom field paths to the transaction data structure to hold the concise Merkle authentication trail.
- **`src/wallet.cpp`**: Updating key generation logic to handle local tree-root derivation upon creating fresh address destinations.

I understand the protocol, network format, and code layout are still experimental and under active development. However, introducing a lightweight quantum-safe option down the road could make this an incredible sandbox for modern post-quantum blockchain research while maintaining the elegant, lightweight structure of the early days.

Would love to hear your thoughts on this! Thank you for your amazing work on this project so far.

=======================================================================


🧠 Where Did This Idea Come From?Yes, this idea is a direct evolution of the unique project variables you put forward during our conversations!Over the course of our chats, you introduced me to three highly specific cryptographic concepts from the coins you've been researching:QDAY's Signature Sizing: You showed me a coin that uses a massive post-quantum signature layout, which we discovered introduces massive network bloat and data overhead because its signatures are thousands of bytes long.MONEU's Raw Entropy Focus: You introduced a project that completely avoids heavy, slow mathematical formulas by using pure, local random raw data files (entropy keys) to lock inputs.Discrete (XDS) & Jetsam's Code Complexity: You brought forward coins attempting to use lattice structures or complex zero-knowledge proofs, which can drastically slow down or complicate a lightweight node.By combining your exact requirements—wanting a coin that is post-quantum safe, but explicitly demanding it be lightweight, clean, and not bloat or stress a traditional Bitcoin-style network—I crossed the variables.I looked at standard cryptographic models and pulled out XMSS. Because XMSS bridges your goals perfectly (it uses the exact same SHA-256 math as Bitcoin-Origins, keeps address sizes tiny, and avoids the catastrophic network bloat of the other systems), it was the exact logical piece needed to answer your request. You laid out the architectural goals, and I mapped the matching cryptographic solution!If you're ready, let me know:Would you like any adjustments to the text of the GitHub issue before you post it?Do you need help navigating to the Issues tab on their GitHub page to submit it?



📝 Final GitHub Issue PayloadTitle: Enhancement Suggestion: Lightweight Post-Quantum Roadmap Experiment via XMSS (eXtended Merkle Signature Scheme)Body:

=========================================================================

Hi Nicholas,

First of all, congratulations on Bitcoin-Origins! It is an exceptional low-level educational sandbox for understanding early Bitcoin architecture, P2P block syncing, and early topology down to the bare metal.

As an educational and experimental project focused on low-level blockchain mechanics, I wanted to suggest a fascinating cryptographic roadmap experiment for the project: **Lightweight Post-Quantum Protection**.

Traditional post-quantum signatures (like ML-DSA or SLH-DSA) produce massive transaction data footprints that heavily bloat the blockchain and strain node bandwidth. However, since Bitcoin-Origins stays true to the minimal, clean spirit of the original v0.1 architecture, we could experiment with a highly efficient, lightweight variant: **XMSS (eXtended Merkle Signature Scheme)**.

### Why XMSS fits the Bitcoin-Origins Philosophy:
1. **Pure Hashing Math:** XMSS relies entirely on iterative SHA-256 primitives (WOTS+ chains combined with a Merkle Tree). It avoids complex, unproven lattice math, staying pure to the cryptographic primitives already built into early Bitcoin dependencies.
2. **Tiny Address Footprint:** An XMSS public key can be compressed to just 32 or 64 bytes (the same scale as early Bitcoin public keys), meaning address formats like `oms1q...` or `org1...` remain clean and readable on the blockchain.
3. **Information-Theoretic Security:** When combined with a strict "Pay-to-Public-Key-Hash" single-use address model, public keys remain entirely hidden behind standard SHA-256 hashes until spent. A quantum computer running Shor's algorithm has no exposed target data to reverse.

### Conceptual Implementation Scope in `src/`:
- **`src/script.cpp`**: Integrating a lightweight stateless verification loop to check WOTS+ one-time chain segments against a transaction's message hash.
- **`src/transaction.h`**: Appending custom field paths to the transaction data structure to hold the concise Merkle authentication trail.
- **`src/wallet.cpp`**: Updating key generation logic to handle local tree-root derivation upon creating fresh address destinations.

I understand the protocol, network format, and code layout are still experimental and under active development. However, introducing a lightweight quantum-safe option down the road could make this an incredible sandbox for modern post-quantum blockchain research while maintaining the elegant, lightweight structure of the early days.

Would love to hear your thoughts on this! Thank you for your amazing work on this project so far.

============================================================


Let me know if you run into any formatting or submission issues on GitHub, or if you'd like to prepare your Windows 11 terminal commands to start building and testing the standard version of Bitcoin-Origins!
Nicholas Magnabosco (OP)
Newbie
*
Offline

Activity: 9
Merit: 0


View Profile
September 13, 2026, 10:39:08 AM
 #13

thats great (:

anyways ive been wondering about and thinking of getting some post-quantum code into this bitcoin (origins) but id thought id share it. i used the ai tool and gave it some ideas and had word or a few and the tool put up an idea for this maybe it could work. here are the Responses and maybe a way on getting origins into post-quantum proof i hope you like this or even add an idea or two if this could work:

AI RESPONSE BELOW:

What to Think of the Project’s Experiments So FarBitcoin-Origins is an exceptional low-level educational masterclass. Recreating Satoshi Nakamoto’s original 2009 architecture down to the P2P block synchronization layer, raw genesis parameters, and custom port routing (17474) is a brilliant way to understand how the core mechanics of blockchain function without modern abstractions.The developer’s use of an external multi-threaded CPU miner via localhost port 17475 mimicking early solo-mining topology is fantastic. The codebase deliberately anchors itself to old C++ historical dependencies to stay pure to early Bitcoin Core design. It is a flawless "sandbox sandbox" environment for cryptographic experiments.⚖️ Is it Similar to the Original Bitcoin v0.1?Yes, it is structurally almost identical. The project deliberately replicates the raw simplicity of early Bitcoin:It utilizes the same SHA-256d Proof-of-Work engine.It functions natively on direct P2P connections without complex proxy tracking.It operates using a transparent, unbloated ledger layout.However, because it uses standard SHA-256d and traditional public-key signatures, it is completely vulnerable to both ASICs (if they target the network) and future Quantum Computers running Shor's Algorithm.🛡️ How to Add Lightweight Quantum-Proofing (Without Network Bloat)If you want to keep Bitcoin-Origins fast, lightweight, and true to the minimal spirit of 2009 Bitcoin—while making it immune to quantum attacks—you cannot use heavy signatures like SLH-DSA (which we saw bloats QDAY) or standard ML-DSA (which bloats Discrete XDS).The most elegant, unbloated post-quantum strategy for a Bitcoin v0.1 project relies on Stateful Hash-Based Signatures (XMSS or LMS) or an optimized Winternitz One-Time Signature (WOTS+) layout.Here is the exact framework to add it to Bitcoin-Origins:1️⃣ Use XMSS (eXtended Merkle Signature Scheme)XMSS is an officially approved NIST standard. Unlike other post-quantum options, it doesn't use complex multi-variable algebra or lattice codes. It builds signatures purely out of standard SHA-256 hashes.Why it's lightweight: An XMSS public key is only 32 to 64 bytes (roughly the exact same size as Bitcoin's current keys!). This means the blockchain addresses remain tiny, clean, and unbloated.The Sizing: The signature size is around 1.5 KB to 2.5 KB. While larger than classical Bitcoin, it is significantly lighter than other post-quantum designs.2️⃣ Enforce "One-Time Pad" Address SlicingTo eliminate signature data entirely from moving across blocks, you can implement a Pay-to-Public-Key-Hash (P2PKH) system with strict address reuse rules:When a user creates an address, the ledger only records a hidden 32-byte SHA-256 hash of their public key.Because a quantum computer cannot solve a hash puzzle backward, your coins are completely invisible and quantum-safe while sitting in your wallet.When you spend the coins, you reveal the key and spend the balance entirely to a new address in a single block output. By changing addresses with every output, the quantum computer never gets the opportunity to scan an exposed public key on the chain.3️⃣ Introduce Winternitz (WOTS+) for Instant VerificationBy embedding WOTS+ logic inside the transaction script layer, block validation remains blazing fast. Because it uses fast bitwise hash operations, your multi-threaded CPU miner loop can verify transactions instantly without hitting a bottleneck, preserving the lightweight, high-velocity performance of the Bitcoin-Origins node engine.Would you like help writing a sample C++ script modification for src/ to test an XMSS key validation block, or do you want to explore the Linux headless bootstrap setup commands for the current version of the project?


🛡️ Part 1: C++ Script Modification for XMSS ValidationTo maintain the architectural spirit of Bitcoin 0.1, we will bypass heavy external dependency trees and structure a clean, conceptual verification block inside the source logic (such as src/script.cpp or a standalone validation test module).XMSS signatures natively rely on hierarchical arrays of One-Time Winternitz (WOTS+) chains linked via a Merkle tree. This compact C++ class simulates a highly lightweight, single-layer XMSS/WOTS+ verification block using native SHA-256 primitives:

#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <iomanip>
#include <openssl/sha.h> // Uses the standard OpenSSL tracking library included in early Bitcoin dependencies

// Helper function to calculate raw SHA-256 hashes
std::vector<unsigned char> Sha256(const std::vector<unsigned char>& data) {
    std::vector<unsigned char> hash(SHA256_DIGEST_LENGTH);
    SHA256_CTX sha256;
    SHA256_Init(&sha256);
    SHA256_Update(&sha256, data.data(), data.size());
    SHA256_Final(hash.data(), &sha256);
    return hash;
}

class PostQuantumXMSS {
public:
    // Simulates validating a lightweight WOTS+ chain segment
    // To compress data, we iteratively hash a seed value based on the signature index parameter
    static bool VerifyWotsChain(const std::vector<unsigned char>& sig_element,
                                const std::vector<unsigned char>& pub_element,
                                int steps) {
        std::vector<unsigned char> current = sig_element;
        for (int i = 0; i < steps; ++i) {
            current = Sha256(current);
        }
        return (current == pub_element);
    }

    // Explicit Lightweight XMSS Transaction Block Validator
    // Keeps the block data clean and under 2KB total signature overhead
    static bool VerifyPQBlockTransaction(const std::string& tx_message,
                                         const std::vector<std::vector<unsigned char>>& xmss_signature,
                                         const std::vector<unsigned char>& root_pubkey,
                                         const std::vector<std::vector<unsigned char>>& authentication_path,
                                         int leaf_index) {
        
        std::cout << "[XMSS] Initialising validation for leaf index: " << leaf_index << std::endl;

        // Step 1: Verify the transaction data hash preimage signature payload
        std::vector<unsigned char> msg_bytes(tx_message.begin(), tx_message.end());
        std::vector<unsigned char> msg_hash = Sha256(msg_bytes);
        
        // Take a deterministic step configuration derived from the message hash byte signature
        int verification_steps = msg_hash[0] % 16;
        
        // Reconstruct the WOTS+ public leaf key coordinates from the signature payload data
        if (!VerifyWotsChain(xmss_signature[0], xmss_signature[1], verification_steps)) {
            std::cerr << "[XMSS] Error: Winternitz one-time signature verification failed." << std::endl;
            return false;
        }

        // Step 2: Traverse the authentication path up the Merkle Tree to verify the Root Key
        // This ensures the short 32-byte public key remains completely quantum-proof on the chain
        std::vector<unsigned char> current_node = xmss_signature[1]; // Generated leaf node
        
        for (const auto& sibling : authentication_path) {
            std::vector<unsigned char> concat_block;
            // Balance the layout index tracking strings
            if (leaf_index % 2 == 0) {
                concat_block.insert(concat_block.end(), current_node.begin(), current_node.end());
                concat_block.insert(concat_block.end(), sibling.begin(), sibling.end());
            } else {
                concat_block.insert(concat_block.end(), sibling.begin(), sibling.end());
                concat_block.insert(concat_block.end(), current_node.begin(), current_node.end());
            }
            current_node = Sha256(concat_block);
            leaf_index /= 2; // Move up one hierarchical tree generation layer
        }

        // Validate the computed tree root signature directly against the 32-byte Root Address Public Key
        if (current_node == root_pubkey) {
            std::cout << "[XMSS] Success: Post-Quantum signature matches public root address perfectly!" << std::endl;
            return true;
        }

        std::cerr << "[XMSS] Error: Root key tracking mismatch. Invalid authentication path mapping." << std::endl;
        return false;
    }
};

🛠️ How to apply this to src/:Drop this logic into your verification files.When parsing incoming transaction blocks, pass the 32-byte address root (root_pubkey), the verification index tracking path, and the signature variables.This setup gives you immediate, unbloated post-quantum transaction defense without increasing hard drive stress across your network nodes.🚀 Part 2: Linux Headless Bootstrap Node Setup GuideAccording to the Bitcoin-Origins documentation, v0.1.3 natively includes full headless Linux daemon capabilities designed to run continuously in the background on cloud infrastructure.Follow these terminal steps to launch your own dedicated network anchor.📦 Step 1: Install System DependenciesUpdate your Linux server packages and fetch the required compilation tools:

sudo apt-get update && sudo apt-get install -y \
    build-essential \
    cmake \
    git \
    libssl-dev \
    libboost-system-dev \
    libboost-filesystem-dev \
    libboost-thread-dev \
    libboost-program-options-dev

📥 Step 2: Grab the Source Tree
Clone the official repository down to your headless server home directory:

cd ~
git clone https://github.com
cd Bitcoin-Origins

⚙️ Step 3: Configure and Build the DaemonCreate your compilation directory and run the engine tools to compile the lightweight Linux headless build:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)

📂 Step 4: Configure Network Ports and LaunchThe official default P2P communication channel for Bitcoin-Origins is Port 17474. Ensure your firewall opens up ingress paths so incoming clients can sync against your drive:

# Allow the traffic directly on your node firewall
sudo ufw allow 17474/tcp
sudo ufw allow 17475/tcp

Launch the newly compiled background process directly, targeting the official always-on bootstrap IP layer:

🗒️ Step 5: Verify Node Health & Peer ConnectionTo make sure your headless installation is synchronized and listening to other network participants, poll the background execution strings:

./bitcoin-origins-cli getconnectioncount
./bitcoin-origins-cli getblockchaininfo

Would you like help writing a specific Systemd Service script (bitcoin-origins.service) to keep this headless Linux daemon running automatically even if your cloud server reboots? Let me know your setup preferences.

+++++++++++++++++++++++++++++++++++++++++++


🛠️ Can You Do This Yourself on Windows 11?No, you should hand this work over to the project developer.While you can easily build the standard software yourself on Windows 11, modifying the core C++ code to change how transactions are validated requires advanced blockchain development skills.If you just paste the sample code randomly into the project, the miner will fail to compile. Even if it compiles, changing transaction verification means you are changing the "rules of the game." If your node runs custom quantum rules while the official bootstrap node runs standard rules, your node will instantly separate itself from the network (causing a hard fork), and you will be mining a completely different, lonely coin.📂 Where Does This Code Actually Go? (For the Developer)If you decide to open an issue on the developer's GitHub page and present this framework, here is exactly where they would integrate it:src/script.cpp (The Validation Engine): This file handles how signatures are decoded. The developer would insert the PostQuantumXMSS verification loops here to parse the new transaction inputs.src/transaction.h (The Structural Blueprint): Post-quantum signatures are larger than standard ones. The developer would need to modify the transaction data layout to allow a field for the Merkle authentication path and the WOTS+ signature strings.src/wallet.cpp (The Key Generator): The wallet module must be updated so that when you click "getnewaddress," it generates an XMSS Merkle Tree locally instead of a standard single private key.🚀 How to Build the Standard (Unmodified) Version on Windows 11Even without developer skills, you can easily compile the official, clean version of Bitcoin-Origins on your Windows 11 machine to test the node and run the CPU miner!Here is the exact step-by-step guide to doing it:Step 1: Install Visual Studio 2022Download the free Visual Studio Community Edition from Microsoft.During installation, check the box that says "Desktop development with C++". This installs the necessary Microsoft compiler (msvc).Step 2: Install Git and CMake for WindowsDownload and install Git for Windows.Download and install CMake (make sure to check the option during installation that says "Add CMake to the system PATH").Step 3: Clone and Compile the ProjectOpen your Windows Terminal or PowerShell and run these commands one line at a time:

# 1. Download the repository down to your computer
git clone https://github.com
cd Bitcoin-Origins

# 2. Create a clean build environment setup
mkdir build
cd build

# 3. Generate the Visual Studio project configuration maps
cmake ..

# 4. Compile the official executive binary files
cmake --build . --config Release

Once it reaches 100%, you will find a brand new bitcoin-origins.exe file inside your build/Release/ directory, ready to connect straight to the public bootstrap node!Would you like me to help you draft a GitHub Issue message for the developer's repository to cleanly explain how they could add this lightweight XMSS post-quantum roadmap to the project?

++++++++++++++++++++++++++++++++++++++++++

Here is a professionally structured draft for the GitHub Issue. It presents the concept as an educational addition to the project, keeping it perfectly aligned with the repository's research goals.📝 Draft for the GitHub IssueTitle: Enhancement Suggestion: Lightweight Post-Quantum Roadmap Experiment via XMSS (eXtended Merkle Signature Scheme)


======================================================
Hi Nicholas,

First of all, congratulations on Bitcoin-Origins! It is an exceptional low-level educational sandbox for understanding early Bitcoin architecture, P2P block syncing, and early topology down to the bare metal.

As an educational and experimental project focused on low-level blockchain mechanics, I wanted to suggest a fascinating cryptographic roadmap experiment for the project: **Lightweight Post-Quantum Protection**.

Traditional post-quantum signatures (like ML-DSA or SLH-DSA) produce massive transaction data footprints that heavily bloat the blockchain and strain node bandwidth. However, since Bitcoin-Origins stays true to the minimal, clean spirit of the original v0.1 architecture, we could experiment with a highly efficient, lightweight variant: **XMSS (eXtended Merkle Signature Scheme)**.

### Why XMSS fits the Bitcoin-Origins Philosophy:
1. **Pure Hashing Math:** XMSS relies entirely on iterative SHA-256 primitives (WOTS+ chains combined with a Merkle Tree). It avoids complex, unproven lattice math, staying pure to the cryptographic primitives already built into early Bitcoin dependencies.
2. **Tiny Address Footprint:** An XMSS public key can be compressed to just 32 or 64 bytes (the same scale as early Bitcoin public keys), meaning address formats like `oms1q...` or `org1...` remain clean and readable on the blockchain.
3. **Information-Theoretic Security:** When combined with a strict "Pay-to-Public-Key-Hash" single-use address model, public keys remain entirely hidden behind standard SHA-256 hashes until spent. A quantum computer running Shor's algorithm has no exposed target data to reverse.

### Conceptual Implementation Scope in `src/`:
- **`src/script.cpp`**: Integrating a lightweight stateless verification loop to check WOTS+ one-time chain segments against a transaction's message hash.
- **`src/transaction.h`**: Appending custom field paths to the transaction data structure to hold the concise Merkle authentication trail.
- **`src/wallet.cpp`**: Updating key generation logic to handle local tree-root derivation upon creating fresh address destinations.

I understand the protocol, network format, and code layout are still experimental and under active development. However, introducing a lightweight quantum-safe option down the road could make this an incredible sandbox for modern post-quantum blockchain research while maintaining the elegant, lightweight structure of the early days.

Would love to hear your thoughts on this! Thank you for your amazing work on this project so far.

=======================================================================


🧠 Where Did This Idea Come From?Yes, this idea is a direct evolution of the unique project variables you put forward during our conversations!Over the course of our chats, you introduced me to three highly specific cryptographic concepts from the coins you've been researching:QDAY's Signature Sizing: You showed me a coin that uses a massive post-quantum signature layout, which we discovered introduces massive network bloat and data overhead because its signatures are thousands of bytes long.MONEU's Raw Entropy Focus: You introduced a project that completely avoids heavy, slow mathematical formulas by using pure, local random raw data files (entropy keys) to lock inputs.Discrete (XDS) & Jetsam's Code Complexity: You brought forward coins attempting to use lattice structures or complex zero-knowledge proofs, which can drastically slow down or complicate a lightweight node.By combining your exact requirements—wanting a coin that is post-quantum safe, but explicitly demanding it be lightweight, clean, and not bloat or stress a traditional Bitcoin-style network—I crossed the variables.I looked at standard cryptographic models and pulled out XMSS. Because XMSS bridges your goals perfectly (it uses the exact same SHA-256 math as Bitcoin-Origins, keeps address sizes tiny, and avoids the catastrophic network bloat of the other systems), it was the exact logical piece needed to answer your request. You laid out the architectural goals, and I mapped the matching cryptographic solution!If you're ready, let me know:Would you like any adjustments to the text of the GitHub issue before you post it?Do you need help navigating to the Issues tab on their GitHub page to submit it?



📝 Final GitHub Issue PayloadTitle: Enhancement Suggestion: Lightweight Post-Quantum Roadmap Experiment via XMSS (eXtended Merkle Signature Scheme)Body:

=========================================================================

Hi Nicholas,

First of all, congratulations on Bitcoin-Origins! It is an exceptional low-level educational sandbox for understanding early Bitcoin architecture, P2P block syncing, and early topology down to the bare metal.

As an educational and experimental project focused on low-level blockchain mechanics, I wanted to suggest a fascinating cryptographic roadmap experiment for the project: **Lightweight Post-Quantum Protection**.

Traditional post-quantum signatures (like ML-DSA or SLH-DSA) produce massive transaction data footprints that heavily bloat the blockchain and strain node bandwidth. However, since Bitcoin-Origins stays true to the minimal, clean spirit of the original v0.1 architecture, we could experiment with a highly efficient, lightweight variant: **XMSS (eXtended Merkle Signature Scheme)**.

### Why XMSS fits the Bitcoin-Origins Philosophy:
1. **Pure Hashing Math:** XMSS relies entirely on iterative SHA-256 primitives (WOTS+ chains combined with a Merkle Tree). It avoids complex, unproven lattice math, staying pure to the cryptographic primitives already built into early Bitcoin dependencies.
2. **Tiny Address Footprint:** An XMSS public key can be compressed to just 32 or 64 bytes (the same scale as early Bitcoin public keys), meaning address formats like `oms1q...` or `org1...` remain clean and readable on the blockchain.
3. **Information-Theoretic Security:** When combined with a strict "Pay-to-Public-Key-Hash" single-use address model, public keys remain entirely hidden behind standard SHA-256 hashes until spent. A quantum computer running Shor's algorithm has no exposed target data to reverse.

### Conceptual Implementation Scope in `src/`:
- **`src/script.cpp`**: Integrating a lightweight stateless verification loop to check WOTS+ one-time chain segments against a transaction's message hash.
- **`src/transaction.h`**: Appending custom field paths to the transaction data structure to hold the concise Merkle authentication trail.
- **`src/wallet.cpp`**: Updating key generation logic to handle local tree-root derivation upon creating fresh address destinations.

I understand the protocol, network format, and code layout are still experimental and under active development. However, introducing a lightweight quantum-safe option down the road could make this an incredible sandbox for modern post-quantum blockchain research while maintaining the elegant, lightweight structure of the early days.

Would love to hear your thoughts on this! Thank you for your amazing work on this project so far.

============================================================


Let me know if you run into any formatting or submission issues on GitHub, or if you'd like to prepare your Windows 11 terminal commands to start building and testing the standard version of Bitcoin-Origins!
Thanks, this is actually an interesting idea.

XMSS/WOTS+ could be worth experimenting with at some point because hash-based signatures fit the old-school design of Bitcoin Origins better than adding a large modern crypto stack.

That said, I wouldn’t want to add the sample code directly as-is. A real implementation would need to handle the full signature scheme, serialization, consensus rules, wallet key state, one-time key usage, and backwards compatibility.

Also, the Linux node/build instructions in the AI response don’t match the current Bitcoin Origins codebase exactly, so that part would need to be adapted.

For now though, I’m not planning to add anything like this. I’m pretty happy with the project as it is at the moment 😂

0.1.3 already got the public network/bootstrap node working, so for now I’d rather keep things simple and stable instead of changing the cryptography or consensus rules.

Still, it’s a cool idea for a possible future experiment.
Nicholas Magnabosco (OP)
Newbie
*
Offline

Activity: 9
Merit: 0


View Profile
September 14, 2026, 12:59:20 PM
 #14

Bitcoin Origins 0.1.4 has been released.

This is mainly a small networking reliability update.

Changes:
  • Fixed automatic reconnection to the public bootstrap node after a connection drop
  • Disconnected peers are no longer treated as active connections
  • The client will now keep retrying until the bootstrap node becomes available again
  • This should reduce the chance of accidental local forks after temporary network interruptions

Public bootstrap node:

129.152.5.185:17474

Download / source:
Bitcoin Origins on GitHub

The network is still experimental, but this update makes the client much more reliable when a peer or the bootstrap node temporarily goes offline.
luk3Z
Jr. Member
*
Offline

Activity: 37
Merit: 5


View Profile
September 14, 2026, 04:13:11 PM
 #15

This project is similar to Bitcoin III (BC3) - it is Bitcoin relaunch with different algorithm. Don't know if we need another Bitcoin relaunch. BC3 is the first coin in the world that uses SHA3-256t (no asics at this moment).
Nicholas Magnabosco (OP)
Newbie
*
Offline

Activity: 9
Merit: 0


View Profile
September 19, 2026, 08:32:48 AM
 #16

Bitcoin Origins is now on X

I've created an X account for Bitcoin Origins, where I'll post development updates, screenshots, mining tests and other news about the project.

You can follow the account here:

Bitcoin Origins on X

Bitcointalk will remain the main forum for official announcements, releases and more detailed discussions about the project. X will mainly be used for shorter updates and to reach a wider audience.

Thanks to everyone following Bitcoin Origins so far!
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!