Coinholder Poll: Voting Authority Coordination

{
  "jsonrpc": "2.0",
  "id": -1,
  "result": {
    "node_info": {
      "protocol_version": {
        "p2p": "9",
        "block": "11",
        "app": "1"
      },
      "id": "2cc7594fff5febfdefd4769cd679b6f13f915863",
      "listen_addr": "tcp://0.0.0.0:26656",
      "network": "test-chain-JYZFOb",
      "version": "1.0.1",
      "channels": "40202122233038606100",
      "moniker": "od",
      "other": {
        "tx_index": "on",
        "rpc_address": "tcp://127.0.0.1:26657"
      }
    },
    "sync_info": {
      "latest_block_hash": "B65E09CE093B74A582C8E272C6BFCD43183751ACC14ED0E82B57E4461BE8386E",
      "latest_app_hash": "CD9D7740FFFF571A595FA3507349C6D8A073362D8840C1A2DBE0C02D8355DDD9",
      "latest_block_height": "441",
      "latest_block_time": "2025-04-19T05:20:08.483600625Z",
      "earliest_block_hash": "42D8FF8FB1E991380B635EED93CEC205E252384543F5A9A77A5A60FBA70F7979",
      "earliest_app_hash": "",
      "earliest_block_height": "1",
      "earliest_block_time": "2025-04-18T02:15:34.220961Z",
      "catching_up": true
    },
    "validator_info": {
      "address": "A09E54E8FA7D748F6DFEC92AACC5E5EE565D2F2B",
      "pub_key": {
        "type": "tendermint/PubKeyEd25519",
        "value": "BXT522PDkbMC1XfQg+edKaaSRZQnM/4VssVfNHatO90="
      },
      "voting_power": "10"
    }
  }
}

Not sure whats going on but here are some notes:

Sources of non-determinism in applications may include:

Hardware failures
    Cosmic rays, overheating, etc.
Node-dependent state
    Random numbers
    Time
Underspecification
    Library version changes
    Race conditions
    Floating point numbers
    JSON serialization
    Iterating through hash-tables/maps/dictionaries
External Sources
    Filesystem
    Network calls (eg. some external REST API service)

Interesting that I’m able to sync up to block 1659 and then I get hit with error:

I[2025-04-19|16:54:56.112] Finalized block                              module=state height=1659 num_txs_res=1 num_val_updates=0 block_app_hash=CD9D7740FFFF571A
595FA3507349C6D8A073362D8840C1A2DBE0C02D8355DDD9 syncing_to_height=5813                                                                                         
I[2025-04-19|16:54:56.240] Committed state                              module=state height=1659 block_app_hash=CD9D7740FFFF571A595FA3507349C6D8A073362D8840C1A2
DBE0C02D8355DDD9                                                                                                                                                
E[2025-04-19|16:54:56.258] Invalid block                                module=blocksync height=1660 err="wrong Block.Header.AppHash.  Expected CD9D7740FFFF571A
595FA3507349C6D8A073362D8840C1A2DBE0C02D8355DDD9, got 7AD55C5F263B80D0176618B6E27FB737374A287E8E5FF531AFD367FE3686F4D8. Check ABCI app for non-determinism"     
E[2025-04-19|16:54:56.259] Stopping peer for error                      module=p2p peer="Peer{MConn{69.30.226.234:26656} 9a3840b0bf8f950c39e4af0bbf3988ea27cf85c
4 out}" err="reactor validation error: wrong Block.Header.AppHash.  Expected CD9D7740FFFF571A595FA3507349C6D8A073362D8840C1A2DBE0C02D8355DDD9, got 7AD55C5F263B8
0D0176618B6E27FB737374A287E8E5FF531AFD367FE3686F4D8. Check ABCI app for non-determinism"

maybe delete the vote.db and reset the node and start over?

./cometbft node unsafe-reset-all

1 Like

Same:

I[2025-04-19|17:13:46.812] Applying block                               module=consensus height=1659                                                            
I[2025-04-19|17:13:46.856] Executed block                               module=consensus height=1659 app_hash=CD9D7740FFFF571A595FA3507349C6D8A073362D8840C1A2DB
E0C02D8355DDD9                                                                                                                                                  
I[2025-04-19|17:13:46.996] Completed ABCI Handshake - CometBFT and App are synced module=consensus appHeight=0 appHash=CD9D7740FFFF571A595FA3507349C6D8A073362D8
840C1A2DBE0C02D8355DDD9                                                                                                                                         
I[2025-04-19|17:13:46.996] Version info                                 module=main tendermint_version=1.0.1 abci=2.1.0 block=11 p2p=9 commit_hash=             
I[2025-04-19|17:13:46.996] This node is a validator                     module=consensus addr=A09E54E8FA7D748F6DFEC92AACC5E5EE565D2F2B pubKey=PubKeyEd25519{0574
F9DB63C391B302D577D083E79D29A69245942733FE15B2C55F3476AD3BDD}                                                                                                   
2025/04/19 17:13:46 [JOB 1] WAL file /home/user/.cometbft/data/evidence.db/000009.log with log number 000009 stopped reading at offset: 35; replayed 1 keys in 1
 batches                                                                                                                                                        
I[2025-04-19|17:13:47.217] P2P Node ID                                  module=p2p ID=2cc7594fff5febfdefd4769cd679b6f13f915863 file=/home/user/.cometbft/config/
node_key.json                                                                                                                                                   
I[2025-04-19|17:13:47.217] Adding persistent peers                      module=p2p addrs="[6a89b53989a8f266b4649b14c27691dcc55f69d9@45.120.177.61:26656 9a3840b0
bf8f950c39e4af0bbf3988ea27cf85c4@69.30.226.234:26656 11f7f5cba0c21fcd94c603c5882cdcf5e12953f3@54.157.231.20:26656]"                                             
I[2025-04-19|17:13:47.217] Adding unconditional peer ids                module=p2p ids=[]                                                                       
I[2025-04-19|17:13:47.217] Add our address to book                      module=p2p book=/home/user/.cometbft/config/addrbook.json addr=2cc7594fff5febfdefd4769cd
679b6f13f915863@0.0.0.0:26656                                                                                                                                   
I[2025-04-19|17:13:47.217] service start                                module=main msg="Starting Node service" impl=Node                                       
I[2025-04-19|17:13:47.219] service start                                module=p2p msg="Starting P2P Switch service" impl="P2P Switch"                          
I[2025-04-19|17:13:47.219] service start                                module=blocksync msg="Starting Reactor service" impl=Reactor                            
I[2025-04-19|17:13:47.219] service start                                module=blocksync msg="Starting BlockPool service" impl=BlockPool                        
I[2025-04-19|17:13:47.219] serve                                        module=rpc-server msg="Starting RPC HTTP server on 127.0.0.1:26657"                     
I[2025-04-19|17:13:47.219] service start                                module=consensus msg="Starting Consensus service" impl=ConsensusReactor                 
I[2025-04-19|17:13:47.219] Starting reactor in sync mode: consensus protocols will start once sync completes module=consensus                                   
I[2025-04-19|17:13:47.219] service start                                module=evidence msg="Starting Evidence service" impl=Evidence                           
I[2025-04-19|17:13:47.219] service start                                module=statesync msg="Starting StateSync service" impl=StateSync                        
I[2025-04-19|17:13:47.219] service start                                module=pex msg="Starting PEX service" impl=PEX                                          
I[2025-04-19|17:13:47.219] service start                                module=p2p book=/home/user/.cometbft/config/addrbook.json msg="Starting AddrBook service
" impl=AddrBook                                                                                                                                                 
I[2025-04-19|17:13:47.219] service start                                module=mempool msg="Starting Mempool service" impl=Mempool
I[2025-04-19|17:13:47.219] Starting reactor in sync mode: tx propagation will start once sync completes module=mempool 
I[2025-04-19|17:13:47.220] Saving AddrBook to file                      module=p2p book=/home/user/.cometbft/config/addrbook.json size=3
I[2025-04-19|17:13:47.220] Ensure peers                                 module=pex numOutPeers=0 numInPeers=0 numDialing=0 numToDial=10
I[2025-04-19|17:13:47.236] service start                                module=state msg="Starting Pruner service" impl=Pruner
I[2025-04-19|17:13:47.236] Started node                                 module=main nodeInfo="{ProtocolVersion:{P2P:9 Block:11 App:1} DefaultNodeID:2cc7594fff5f
ebfdefd4769cd679b6f13f915863 ListenAddr:tcp://0.0.0.0:26656 Network:test-chain-JYZFOb Version:1.0.1 Channels:40202122233038606100 Moniker:od Other:{TxIndex:on R
PCAddress:tcp://127.0.0.1:26657}}"
I[2025-04-19|17:13:47.237] Started pruning blocks                       module=state interval=10s
I[2025-04-19|17:13:47.313] service start                                module=p2p peer=6a89b53989a8f266b4649b14c27691dcc55f69d9@45.120.177.61:26656 msg="Starti
ng Peer service" impl="Peer{MConn{45.120.177.61:26656} 6a89b53989a8f266b4649b14c27691dcc55f69d9 out}"
I[2025-04-19|17:13:47.313] service start                                module=p2p peer=6a89b53989a8f266b4649b14c27691dcc55f69d9@45.120.177.61:26656 msg="Starti
ng MConnection service" impl=MConn{45.120.177.61:26656}
I[2025-04-19|17:13:47.538] service start                                module=p2p peer=11f7f5cba0c21fcd94c603c5882cdcf5e12953f3@54.157.231.20:26656 msg="Starti
ng Peer service" impl="Peer{MConn{54.157.231.20:26656} 11f7f5cba0c21fcd94c603c5882cdcf5e12953f3 out}"
I[2025-04-19|17:13:47.538] service start                                module=p2p peer=11f7f5cba0c21fcd94c603c5882cdcf5e12953f3@54.157.231.20:26656 msg="Starti
ng MConnection service" impl=MConn{54.157.231.20:26656}
I[2025-04-19|17:13:47.572] service start                                module=p2p peer=9a3840b0bf8f950c39e4af0bbf3988ea27cf85c4@69.30.226.234:26656 msg="Starti
ng Peer service" impl="Peer{MConn{69.30.226.234:26656} 9a3840b0bf8f950c39e4af0bbf3988ea27cf85c4 out}"
I[2025-04-19|17:13:47.572] service start                                module=p2p peer=9a3840b0bf8f950c39e4af0bbf3988ea27cf85c4@69.30.226.234:26656 msg="Starti
ng MConnection service" impl=MConn{69.30.226.234:26656}
E[2025-04-19|17:13:50.350] Invalid block                                module=blocksync height=1660 err="wrong Block.Header.AppHash.  Expected CD9D7740FFFF571A
595FA3507349C6D8A073362D8840C1A2DBE0C02D8355DDD9, got 7AD55C5F263B80D0176618B6E27FB737374A287E8E5FF531AFD367FE3686F4D8. Check ABCI app for non-determinism"
E[2025-04-19|17:13:50.351] Stopping peer for error                      module=p2p peer="Peer{MConn{54.157.231.20:26656} 11f7f5cba0c21fcd94c603c5882cdcf5e12953f
3 out}" err="reactor validation error: wrong Block.Header.AppHash.  Expected CD9D7740FFFF571A595FA3507349C6D8A073362D8840C1A2DBE0C02D8355DDD9, got 7AD55C5F263B8
0D0176618B6E27FB737374A287E8E5FF531AFD367FE3686F4D8. Check ABCI app for non-determinism"

Do you have enough disk space? I’m out of ideas

Plenty:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/rbd3        28G  738M   27G   3% /
none            492K  4.0K  488K   1% /dev
udev             16G     0   16G   0% /dev/tty
tmpfs           100K     0  100K   0% /dev/incus
tmpfs           100K     0  100K   0% /dev/.incus-mounts
tmpfs            16G     0   16G   0% /dev/shm
tmpfs           6.3G  112K  6.3G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           293M     0  293M   0% /run/user/1000

It’s ok, as expected some peers experience issues with this process with limited documentation. If the three of you are solid with your systems I think the vote can proceed. Hopefully my issue can be figured out so I can catch up, but ultimately we need to make sure that next time we have at least 6 participants imho.

1 Like

Hanh should be able to help you address this issue once he’s back online.

@dismad Can we proceed with the poll?

Edit: I am going to post the poll info to the other thread. Let’s continue to use this one for voting authority coordination.

2 Likes

What OS are you folks running this under? Dependencies version mismatch could be part of the problem.

There is a bug that makes the server app dependent on the order the file system lists files.

This should fix it for now.

  1. delete vote.db and reset the cometbft chain: cometbft unsafe-reset-all
  2. delete both json files in the data dir
  3. copy only the Q2 file to the data dir
  4. start zcash-vote-server. It should display # elections = 1
  5. stop the server
  6. copy the Q1 election file to the data dir
  7. restart the server
  8. start the cometbft engine: cometbft start
2 Likes

Yep, working it seems; I’ve passed block 2000 without issues this time.

afk 2-3 hours.

2 Likes

@dismad, @hanh, @james_katz, @outgoing.doze - The coinholder poll results are in. If you haven’t already, you can now shut down your servers.

Thanks again for volunteering as voting authorities!

9 Likes

Thank you @aquietinvestor @hanh @dismad & @james_katz for making this happen, it was an honor to be part of this important first step in getting the Zcash governance in better shape.

I would like to audit this vote to make sure I get the same results as you @aquietinvestor, how can I do this? More broadly, how can any stakeholder do this as well?

5 Likes

Yes. I’ve added the below to the post announcing the results. I’ll provide this information in the future after the poll has ended.


Anyone can run the Coin Voting 2.0 audit by downloading the audit tool and entering in the election seed phrase and URL.

Question #1

Seed Phrase: hurdle neither win cup special notable code axis despair hour fringe business gadget walk same taxi song medal target shed grocery canyon panic banana

URL: https://zecvote.zone/election/f25446783de9082fa00cb5754a129fedb7f1d61ec6c144252f48077ac641e822

Question #2

Seed Phrase: horror battle road walnut social gain country length lens tonight vehicle brown stomach pass humor random perfect length era curve love island shuffle master

URL:
https://zecvote.zone/election/50b4a832ab4152861ff74a883e10a358f676ac3db5fb340f6a970b13a9e4b920

4 Likes

hmm, im getting this error in the audit app
does it work ok for others?

I’m a bit busy today but hopefully I will have the time to audit this tomorrow.

Going forward I would suggest that at least four community members validate the authenticity of the vote result before it gets publicly announced.

Zcash hos lost credibility in the eyes of many privacy activists, for a variety of reasons, some unfair, some fair. We need to be on our best game going forward and rebuild that. We have the tech, we really should dedicate time to work on the process & communication.

edit: I just did a quick test and apparently I cannot run this as a command line?

$ sudo dpkg -i zcash-vote-audit_1.0.0_amd64.deb 
Selecting previously unselected package zcash-vote-audit.
(Reading database ... 19831 files and directories currently installed.)
Preparing to unpack zcash-vote-audit_1.0.0_amd64.deb ...
Unpacking zcash-vote-audit (1.0.0) ...
dpkg: dependency problems prevent configuration of zcash-vote-audit:
 zcash-vote-audit depends on libwebkit2gtk-4.1-0; however:
  Package libwebkit2gtk-4.1-0 is not installed.
 zcash-vote-audit depends on libgtk-3-0; however:
  Package libgtk-3-0 is not installed.

dpkg: error processing package zcash-vote-audit (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 zcash-vote-audit

Restarted my node, try again. I am able to connect :eyes:

2 Likes

See if you can install those missing packages:

sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0

Which OS you running?

It’s a virtual machine with little hardware resources hosted on Njalla (paid in ZEC!); only terminal environment.

As far as I know, this is a GUI application.

1 Like