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
- Cadence: 1-of-3 until V15, then 3-of-3 — a draw on every block from #25,000. The DTD share still accumulates and rolls forward when a block has no eligible winner.
- No valid winner → not lost: it rolls forward and grows.
- Eligibility (from #25,000): an active signed miner that mined ≥1 block in the last 5,000 blocks (normal draw) or 20,000 blocks (Historical Jackpot); dormant addresses drop out until they mine again.
- 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.2-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.2-v15-final · consensus commit
82ba0521.
Download the binaries and
verify the SHA256 before installing:
github.com/Neob1844/sost-core/releases/tag/v0.4.2-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.
7d43ef6bee690021eb928e2ecdf924bca1aa6fffafae3f6041d5dd568aeb77c8 sost-node
f804640944666f3147f5ced3c8d618da60f516c0147dc992a9542a3660c3f54e sost-cli
79a73d8ac8ee2731006eab828e6c4cfb547eee1deb558d0f9aea772376fca859 sost-miner
9f9579a5022bf1faa55f367cebcaf4a03d05d8f4fa3bda138bb4a7842b4f2052 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.2-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 82ba0521…
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++ 13.3.0, cmake 3.28.3, ld 2.42, glibc 2.39, OpenSSL 3.0.13 — 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