Built to protect a young chain

Most of what Opacra changes from Monero is there to keep a new chain strong from its first block. Everything here is in the spec and the code.

Nobody can mine before launch, including us

  1. The time is announced a week ahead

    In UTC, so anyone can be ready for block 1.

  2. The genesis block is made that morning

    It carries that day's headline and stays private until mining opens.

  3. Earlier blocks are invalid

    Any block dated before the launch time is rejected, on side chains too.

  4. Nodes won't accept blocks from the future

    The limit is 3 minutes, so block 1 can't appear sooner than that.

Why you can't just copy Monero's settings

Monero has a hard-coded exception for its block 202612. Left in, it would let any block at that height skip proof of work, so it's gone. The future time limit went from 2 hours to 3 minutes. The reward formula was rewritten because Monero's rounds to zero below 60-second blocks.

Side chains also have a difficulty floor. Without it, an attacker could fork from far back, fake hours of slow blocks, drag difficulty to almost nothing and flood nodes with free blocks.

Difficulty that keeps up

Monero's algorithm takes about a day to react. On a small chain that invites rented hash power. Opacra uses LWMA-1. In simulation:

Hash rate jumps 10×Difficulty gets 80% of the way in about 61 blocks
Hash rate drops 90%Back within 10% after 110 to 165 blocks
A miner always uses the latest timestampGains nothing

Emergency checkpoints

A checkpoint says block H has hash X. If one is ever needed, we can publish it through DNS and nodes read it within about 5 minutes. Seeds, pools and exchanges follow them. Home nodes only warn unless you opt in, so we can't steer the network.

A node only trusts a record if opacra.org and opacra.com both answer, both pass DNSSEC and both match. Serial numbers stop old answers being replayed. If a record is wrong, the rolled-back blocks are kept and restored once it's withdrawn.

What's next

Home nodes will enforce checkpoints by default once opacra.org and opacra.com sit at separate registrars, with different people holding the logins.

Check every block yourself

opacra-audit rechecks a whole chain from the spec, not from the node's code: every link, timestamp, difficulty and reward, the 5% fund and the total coins created. It only needs standard Python and a synced node.

We tested it with ten kinds of tampering, down to a fund payment one atomic unit short. It caught all of them.

opacra-audit --quiet --report audit.txt

Test results

30 of 30 checks passed on a private 3-node network on 31 October, including 16-member rings on every input, hidden amounts, payment proofs and a chain split that healed itself. All 128 blocks were replayed in Python with 0 mismatches.

Read the full report