Skip to content

@nlevo nlevo released this Apr 9, 2019

*MANDATORY UPDATE FOR EVERYONE (requires -reindex or ANON bootstrap)

The main purpose of this update to fix Zcash Sprout vulnerability.

IMPORTANT NOTES:

  • COIN BURN of Z-addresses. Move all your funds from private (zc) addresses to regular (t) addresses before the deadline (block 48,500). More details below.
  • BACKUP your wallet.dat or wallet private keys before updating!
  • REINDEX - this update requires reindexing (./anond -reindex). This can take approximately. 4-8 hours. If you don't want to wait for reindexing, you can download ANON bootstrap from https://assets.anonfork.io/anon-bootstrap.zip. This archive has 2 folders: "blocks" and "chainstate".
  • MASTERNODE OWNERS - This update changes protocol to 180008. Anytime protocol changes you must rebroadcast/restart your masternode (start-alias or start-all from your wallet, make sure your wallet on the new protocol too).
  • FETCH ZCASH PARAMS - this update requires sapling keys. You will need to re-fetch params key.
./anonutil/fetch-params.sh

Windows users: Navigate to https://assets.anonfork.io/trusted-setup/ and download all 5 files to %appdata%\Roaming\ZcashParams folder.

  • COMPILING - this update changes a lot of libraries. In order to minimize compiling issues, I suggest deleting old ones. The easiest way would be to usegit clean -fdx, this will delete all build products and libraries, but be careful because it also removes all untracked files.

If you have issues syncing with masternodes after the update, you may want to delete the following cache files:
mncached.dat, governance.dat, mncache.dat, mnpayments.dat, netfulfilled.dat. These files are located in the same folder as anon.conf and wallet.dat. (Note: You need to stop anon node first (./anon-cli stop) before deleting.)

1. Fix Zcash vulnerability

  • Sprout Groth16 circuit, new shielded transaction type -3. Starting from block 48,502.
  • Added Groth16 specific tests.
  • Z-transaction creation time reduced by 56%.

2. BURN COINS - z-addresses only (zc prefix)

In order to be sure that Zcash vulnarability was never and will never be exploited the ANON foundation decided to perform a coin burn for all z-addresses that use old Sprout system.

  • All coins that are stored on z-address (address that start with zc prefix) will be burned on block 48,500.
  • In order to preserve your coins, you MUST move them to a t-address (An prefix) before block 48,499.
  • Starting from block 48,502 the new shielded transaction type -3will be activated and you can resume using z-addresses and shield coinbase.
  • DO NOT ATTEMP TO SHIELD COINBASE REWARDS (Miner and masternode rewards) - between blocks [48,490-48,501]. Since shilelding coinbase sends funds to a z-address and you may not have time to move your coins to a t-address.
  • All unshielded (coinbase) masternode or miners rewards will not get burned, since they are stored on regular t-address (An - prefix)

3. Fix ZMQ CVE-2019-6250 vulnerability.

  • Update zeromq to 4.3.1 to fix zmq CVE-2019-6250 vulnerability.

4. Extend RPC (getblock & getblockchaininfo)

  • RPC command "getblock xxx" & "getblockchaininfo" now return an additional filed "valuePools", which displays the total amount of coins in the private (sprout/sapling) pool.
"valuePools": [
    {
      "id": "sprout",
      "monitored": true,
      "chainValue": 539649.84286449,
      "chainValueZat": 53964984286449,
      "valueDelta": 0.00000000,
      "valueDeltaZat": 0
    }

5. Fix and update ~ 150 tests.

To run tests:

  • G-tests ./zcash-gtest (Unix or Windows Subsystem for Linux) or ./zcash-gtest.exe (Win)
  • RPC-tests. qa/pull-tester/rpc-tests.sh (Unix or Windows Subsystem for Linux)

6. Minor changes and fixes

  • Fix RPC gettxoutsetinfo, now it displays the correct total amount of coins in circulation.
  • Fix a bug when a wallet tries to spend burnt coins.
  • Update OpenSSL to 1.1.0j.
  • Update Boost to 1.66.
  • Add Libsnark.
  • Update secp256k1.
  • Update HTTP server.
Assets 7

@nlevo nlevo released this Feb 19, 2019

*This update is important for MINERS. If you are not planning to mine ANON, you can skip this update.

The purpose of this update is to help miners prepare their mining software before the activation of ANON development fund fee (approx. block 41,000) and ANON Superblocks (block 43,800).

1. RPC getblocktemplate (extended)

  • This RPC call now returns an additional field coinbase_required_outputs.
    These outputs are divided into 3 categories:

    • Masternode reward (always one).
    • Development fund reward (always one).
    • Superblock payment(s) (1 or multiple).
      Note: Superblocks are special blocks that pay out funded budget proposals approved by masternode votes via the decentralized governance system. Superblocks are issued monthly and have a coinbase that can be much larger than normal. The superblock value is provided by the 5% of block rewards set aside for superblock payouts.
  • coinbase_required_outputs is an Array of Objects. "coinbase_required_outputs": [ {}, {}, {} ]

    • amount (in satoshis).
    • script (hex).
    • type - provides info about the output. Can be one of these: masternode, development or superblock.

Example:

./anon-cli -testnet getblocktemplate

{
  ....
      "coinbase_required_outputs": [
    {
      "amount": 475000000,
      "script": "76a914580208d2b3c2e840e96bc13b8479f0574348b28e88ac",
      "type": "development"
    },
    {
      "script": "76a9147448450976439d48536cb0b503b508fd8defb54388ac",
      "amount": 1662500000,
      "type": "masternode"
    },
    {
      "script": "76a91449e43b71de382f2daf6eae01a6805039de7549f388ac",
      "amount": 2500000000,
      "type": "superblock"
    }
  ],
  .....
}
  • If you are using mining software (like S-nomp) that works with node-stratum-pool, then you just need to update node-stratum-pool package (npm update) and that should be it.

PR - s-nomp/node-stratum-pool#35

  • If you are using other mining software you may have to manually adjust it to work with coinbase_required_outputs. You can use the above PR as an example.
Assets 2
Feb 7, 2019
Merge pull request #104 from anonymousbitcoin/v2/invalidate_chain
V2/invalidate chain

@nlevo nlevo released this Feb 7, 2019

Note: Important update for nodes which stuck on the alternate chain.

The correct chain can be found here: https://explorer.anonfork.io/insight/

  • Will allow nodes to invalidate alternate chain which isn't paying masternode reward.

  • Discontinue protocol 180006 which contains masternode payment vulnerability.

Note: You may need to reindex your node -reindex

Assets 6

@nlevo nlevo released this Feb 5, 2019

Note: This update is MANDATORY for EVERYONE.

1. Bug fix.

  • Fixes a bug when a malicious miner mines blocks without issuing payments to Masternodes even with SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT is being ON (at least up to first superblock).

2. Testnet v4.1

  • Testnet equihash changed from 200,9 to 144,5 starting from block 1620.

If you have any issues with starting up testnet, then you're going to have to delete your testnet folder located here:
Windows: \APPDATA\Roaming\anon\testnet4\

Mac: ~/Library/Application Support/Anon/testnet4/

Linux: ~/.anon/testnet4/

3. Protocol change

  • New current protocol is 180007.
  • Discontinue old 180005 protocol.

MASTERNODE OWNERS:

Note: Anytime protocol changes you must rebroadcast/restart your masternode (start-alias or start-all from your wallet, make sure your wallet on the new protocol too).

If you run a masternode make sure you are using SENTINEL version 2.0.2 or above. Your masternode won't get paid if you are using earlier versions.

Sentinel Updating Guide

Assets 5

@thomasluis thomasluis released this Jan 27, 2019

Testnet v4 Introduced

Note: This update is not necessary if you already have v2.0.0 installed. Only if you wish to access the testnet.

The new TESTNET mimics current MAINNET except the following:

  • Proof of Work (Equihash 200,9).
  • No airdropped coins.
  • Pre-mined 30 million TESTNET coins for the upcoming TESTNET faucet.
    Note: If Anon Testnet faucet is down, or you need large amounts of coins to test you can contact @calypso or other core devs at anon discord channel.

If you have any issues with starting up testnet, then you're going to have to delete your testnet folder located here:
Windows: \APPDATA\Roaming\anon\testnet4\

Mac: ~/Library/Application Support/Anon/testnet4/

Linux: ~/.anon/testnet4/

Assets 5

@nlevo nlevo released this Feb 4, 2019

Pre-compiled anond & anon-cli will be released soon.

THIS IS AN IMPORTANT/MANDATORY UPDATE:

MASTERNODE OWNERS:

If you run a masternode make sure you are using SENTINEL version 2.0.0 or above. Your masternode won't get paid if you are using earlier versions.

Sentinel Updating Guide

MINING POOL OWNERS:

Miners, Please make sure to adjust your mining pool software before the Development fee and Superblock sporks are issued. If not, your blocks may be rejected. If you have any suggestions on how to update rpc command getblocktemplate or any core code updates for your mining software, please contact @calypso on Discord or post an issue/PR on Github.

This update includes:

1. MASTERNODE COLLATERAL CHANGE

The masternode collateral has been changed to 10,000 ANON.
Takes effect: starting block 37,000 (coinburn block).

2. PROPOSAL FEE

The proposal fee has been changed to 100 ANON.
Takes effect: starting block 37,000 (coinburn block).

3. GOVERNANCE MINIMUM QUORUM

The governance minimum quorum has been changed from 10% to 25%. Now, in order for a proposal to pass, at least 25% percent (net) of masternode must vote "yes".
Takes effect: starting block 37,000 (coinburn block).

4. DEVELOPMENT FEE

10% of the block reward paid to a development fee address.
Takes effect: activates by SPORK, ~ block 38,000 (~ 7 days after the coinburn).

5. BUDGET FEE

Each block reward will be reduced by 5% of the normal block reward. These funds can be distributed during a superblock period by "passing a proposal". Any undistributed funds between superblocks get burned.
Takes effect: starting block 39,420 (~ 16 days after the coinburn).

6. SUPERBLOCKS

Superblocks create funds based on the requested amount from proposals that passed (up to the monthly maximum) and send them to the addresses. If more funding was successfully requested than can be afforded by the budget net "yes" vote proposals have priority. Any proposals that passed but didn't get funded (due to lack of funds) must be resubmitted the next month.
Takes effect: first superblock (43,800) (~ 46 days after the coinburn).
Budget Cycle: every 4380 blocks, starting from block 43,800 (~ 30 day cycle).
Budget Maximum: block_reward * 4380 * 5%.

7. SPORKS

Introducing Sporks - a mechanism used to safely deploy new features to the network through network-level variables to avoid the risk of unintended network forking during upgrades.

8. RPC COMMAND (NEW)

  • "spork show" - to show all current spork settings
  • "spork active" - to show which sporks are active

9. RPC COMMAND (EXTENDED)

  • "getgovernanceinfo" now returns additional keys:
    {
    "governanceminquorum": 3,
    "masternodewatchdogmaxseconds": 28800,
    "proposalfee": 100.00000000,
    "superblockcycle": 4380,
    "lastsuperblock": 0,
    "nextsuperblock": 43800
    }

10. PROTOCOL VERSION UPDATE

New protocol: 180006

! Protocol version < 180006 will be deactivated by a SPORK.

Deactivation: - 5 days after coinburn (~ block 37,720).

11. CLIENT VERSION UPDATE

New version: 2.0.0

12. MINOR BUG FIXES

  • fix masternode ranking.
Assets 4

@nlevo nlevo released this Oct 4, 2018

This update includes:

Updated 10.19.2018:
If you run a masternode make sure you are using Sentinel vesion v1.1.1 or above.

Sentinel Updating Guide

1. New TESTNET 3.0.

Block explorer:
https://texplorer.anonfork.io/insight

The new TESTNET mimics current MAINNET except the following:

  • Proof of Work (Equihash 200,9).
  • No airdropped coins.
  • Pre-mined 30 million TESTNET coins for the upcoming TESTNET faucet.
    Note: If Anon Testnet faucet is down, or you need large amounts of coins to test you can contact @calypso or any other core devs at anon discord channel.

2. Update protocol version.

  • Change the latest protocol version to 180005.
  • Change the minimum protocol version to 180004.

Note: Anytime the protocol changes you must rebroadcast/restart your masternode (start-alias or start-all from your wallet, make sure your wallet has new protocol too). Keep in mind, when you rebroadcast your masternode it may get moved down in the masternodes ranking list (in some cases).

! Protocol 180004 will be discontinued soon. We advise updating your masternode now, in order to not miss masternode payments once protocol 180004 is discontinued.

3. New RPC commands.

 "listmasternodes" & "listmasternodeconf"
  • listmasternodes -> returns a list of all known ENABLED masternodes as an array of objects in JSON format with the following keys:
    [ { rank, network, ip, txhash, outidx, status, addr, version, lastseen, activetime, lastpaid } ].
  • listmasternodeconf -> returns a list of all masternodes that are in the masternode.conf file, in JSON format with the following keys:
    [ { alias, address, privateKey, txHash, outputIndex, status, addr } ].

4. Minor improvements regarding watchdog.

  • Increase watchdog expiration time
Assets 5

@nlevo nlevo released this Sep 24, 2018

This update includes:

  1. RPC command "z_gettotalbalance" now additionally outputs "masternode_collaterals" & "immature_balance" in JSON format.
  • display the total amount of coins that represent masternode collaterals (only the locked ones)
  • display the total amount of immature balance (similar to getwalletinfo).

Note: "total" balance doesn't include "immature_balance".

Motivation:
It's been really confusing for users to keep track of their transparent, private and masternode balances. They had to use a few different commands: "getwalletinfo", "getbalance", "z_gettotalbalance", "listunspent". Our intention is to make "z_gettotalbalance" display the most relevant and important information regarding the user's balance.

  1. Create integrations for Bitcore/Insight explorer tools.
    This is OPTIONAL.
    To activate add the following to anon.conf and then restart your node with -reindex:
addressindex=1
timestampindex=1
spentindex=1
Note: This is for advanced users/developers only. 
Do not add this to your anon.conf file if you don't know what this is for.
Assets 3

@nlevo nlevo released this Sep 18, 2018

This update addresses issues regarding the Master Node list splitting the network when not propagating properly.

This update also includes:

  1. Official binaries for Windows (64-bit).
  2. Link to bootstrap anon full node (If you want to sync faster, you can download a significant portion of the blockchain). Download
  3. Link to utxo-snapshot files. Download
  4. Link to the official Anon Wallet. Compatible with Anon v1.1.1 full node. Download

Note: Anon Wallet v1.0.0 and Anon Full Node use semantic versioning not related to each other. Meaning v1.1.1 full node may not be compatrible with wallet v.1.1.1.

Assets 3
You can’t perform that action at this time.