FULL DECENTRALIZATION — PROTOCOL READY
V15 final is deployed on mainnet.
Permissionless mining and node operation.
From block #25,000: no protocol treasury, and no operator control over the reserve funds.
Final consensus activation at block #25,000.
SOST already has a Proof-of-Work network that works.
Making it more complex than it needs to be only makes the protocol harder for everyone to run and use. That is why we pursued the full decentralization of the protocol — native PoW + ConvergenceX, no operator and no treasury. The consensus rules that enforce it are published and running on mainnet; they take effect at block #25,000.
⚠️ EXPERIMENTAL · NOT FORMALLY AUDITED. This protocol has been hardened empirically — through its live mainnet history and a disciplined trial → error → diagnosis → resolution engineering cycle, with every issue and fix recorded on-chain for full traceability. The result is a system that behaves reliably and securely in practice, but it has not undergone an independent third-party security audit. Run, mine and participate accordingly — at your own risk, with no guarantees.
Future emission that went to Gold Vault / PoPC is redirected to DTD. SOST is not backed by gold — SOST is backed by its own rules.
How DTD works
- Permanent 1-of-3 cadence: the DTD share accumulates for 2 blocks and pays on the 3rd (lottery block).
- No valid winner → not lost: it rolls forward and grows.
- Eligibility: mined ≥1 block at any point in chain history — once an address has produced a block it stays in the eligible set.
- Kept: recent-winner cooldown · anti-dominance gate · SbPoW gate · uniform per-address selection.
🏦 What happens to the existing Gold Vault + PoPC SOST
The SOST already accumulated in Gold Vault + PoPC are not kept as a treasury and not sold for listings. They are progressively returned to active miners through a Historical DTD Jackpot: about 100 SOST every ~288 blocks (~48 h) to the DTD winner, using the very same DTD eligibility rules, until the historical balance is exhausted (~3 years). It is a real protocol spend of those coins — no new emission. The reserve returns to the network, not to a founder. This is enforced, not promised: from block #25,000 those coins are locked by consensus and can only ever move through the canonical Historical DTD Jackpot transaction — a valid signature is no longer authority over them.
⚠️ V15 hard fork — mandatory node & miner update
V15 activates on SOST mainnet at block 25,000. This is a consensus-breaking upgrade. Every node operator and every miner must be running the final V15 release
before block 24,900.
UPDATE DEADLINE: BEFORE #24,900
FINAL RELEASE: PUBLISHED — v0.4.1-v15-final
V15 CONSENSUS ACTIVATION: #25,000
FIRST HISTORICAL JACKPOT: #25,290
SECOND CONSENSUS ACTIVATION: NONE
V15 ACTIVATION AT #30,000: NONE
#24,900 is a deadline, not a start date. Do not plan to upgrade between #24,900 and #25,000 — that gap is only 100 blocks, and SOST block times are highly variable. In the last seven days, 100 consecutive blocks have passed in as little as
5 h 50 min of wall-clock time.
What changes at #25,000. Emission becomes
50 % miner / 50 % DTD. Gold Vault and PoPC Pool stop receiving new emission (0 %). The balance already accumulated is
locked by consensus and becomes spendable only through the canonical Historical DTD Jackpot transaction — a valid signature is no longer authority over those coins. The Historical DTD mechanism becomes part of the V15 rules at
#25,000; its first scheduled jackpot payout is
#25,290.
There is no second consensus activation at #30,000. DTD stays permissionless — no bond, no registration, no whitelist. One upgrade, one activation height:
#25,000.
Binaries. Node operators must update
sost-node; miners must update
sost-miner. The canonical V15 release also includes matching
sost-cli and
sost-signtx, which should be updated where installed. The release will publish the final commit, SHA256 for all four binaries and the build manifest, so every operator can verify their binaries independently.
The final release is published. Release
v0.4.1-v15-final · release commit
bacd6281 · consensus commit
16b50a4b.
Download the binaries and
verify the SHA256 before installing:
github.com/Neob1844/sost-core/releases/tag/v0.4.1-v15-final
🔑 SHA256 of the released binaries
Published here as well as on GitHub, so you can cross-check the two sources independently. If they ever disagree, do not install — ask on Telegram first.
8c8ff89740d1b43a8c925d7d9ec398e4989a3d4de5759785aa84e3945b79bc4c sost-node
7379d34b74a34463745ad0885c170d2ca3bbd77efadf689aef6039ae34c1dace sost-cli
1a21a962c67b400814edde214d52176c28538c35ae67c8a366d7fde6ad34b9ab sost-miner
ac08c347ad315d3e1fb6bbbd49ebb6079ecdf5f1e914278a9df0f295e0fa67d9 sost-signtx
🔧 How to update
Option A — download the released binaries and verify them (recommended):
cd /tmp && R=https://github.com/Neob1844/sost-core/releases/download/v0.4.1-v15-final
for b in sost-node sost-cli sost-miner sost-signtx; do curl -LO $R/$b; done
curl -LO $R/SHA256SUMS_V15_FINAL.txt
sha256sum -c SHA256SUMS_V15_FINAL.txt # must print OK for all four
sudo systemctl stop sost-node # node operators only
sudo install -m 0755 sost-node sost-cli sost-signtx /opt/sost/build/
sudo install -m 0755 sost-miner /opt/sost/build/
sudo systemctl start sost-node
sha256sum /opt/sost/build/sost-node # must equal the published hash
Option B — build from source and reproduce the release:
cd /opt/sost && git fetch origin && git checkout main && git pull --ff-only origin main
git rev-parse HEAD # must be bacd6281…
cmake -S . -B build -DSOST_ENABLE_PHASE2_SBPOW=ON -DSOST_TESTNET_FORKS=OFF \
-DSOST_DEVNET_FORKS=OFF -DCMAKE_BUILD_TYPE=Release
cmake --build build --target sost-node sost-cli sost-miner sost-signtx -j$(nproc)
sudo systemctl restart sost-node
The three build flags are mandatory. A binary built without them will not follow mainnet consensus. Toolchain used for the published binaries: g++ 11.4.0, cmake 3.22.1, ld 2.38, glibc 2.35, OpenSSL 3.0.2 — a different toolchain produces a different SHA256 for the same source, which is expected; verify against the manifest.
Check afterwards: sost-node --version, getblockcount advancing, and getpeerinfo showing at least one peer.
Nodes and miners still running the earlier build will diverge from the main chain after activation.
⛏️ Start mining after you update
Miners must run with --realtime and --profile mainnet. Without --realtime the miner stamps block timestamps in the future and the node rejects them (“timestamp too far in future”) — your blocks are lost and mining stalls.
cd /opt/sost/build
./sost-miner --profile mainnet --realtime \
--wallet /opt/sost/wallet.json --mining-key-label MINER \
--genesis /opt/sost/genesis_block.json --chain /opt/sost/chain.json \
--rpc 127.0.0.1:18232 --rpc-user YOUR_USER --rpc-pass YOUR_PASS \
--threads $(nproc) --blocks 999999
Pre-SbPoW setups may use --address sost1… instead of --wallet/--mining-key-label. Full guide: getting started.
🔄 If your node forked during the recent network pause
Only if your node is on a minority fork — i.e. getblockhash <height> returns a different hash than the seed at that height. Do a clean, fully reversible resync — your old chain is kept, never deleted:
sudo systemctl stop sost-node
cd /opt/sost
cp chain.json chain.json.bak.$(date -u +%Y%m%d_%H%M%S) # safety copy
mv chain.json chain.json.preresync # rollback point (kept)
sudo systemctl start sost-node # resyncs from the seed to the heaviest chain
# verify: getblockcount climbs, and getblockhash at the fork height now matches the seed
# rollback: sudo systemctl stop sost-node && mv chain.json.preresync chain.json && sudo systemctl start sost-node
A fresh sync from the default seeds always lands on the canonical (heaviest) chain. Your node validates every block itself — it only adopts a chain that genuinely has more cumulative work.
⚛️ Atomic Swap stays in controlled founder testing (not a public DEX).
V15 final is published and deployed; consensus activates at block #25,000. The final build, SHA256 hashes and exact upgrade steps are published above. Details:
sostcore.com ·
t.me/SOSTProtocolOfficial