chaintope/tapyrus-signer

Round timing is not synchronous when master flag passed.

Closed this issue · 0 comments

I'm going to leave logs end of here.

Cause

Round timeout timer is started after first round process finished. So, only master of first round spend twice duration from other signers.

Solution

  • Start timer before first round start.

Remove master flag

It seems the master flag is not requirement. it is ok that such a way as the signer which index is 0 is going to become master of first round.

Logs

14:19:00 bunta.1   | [2020-01-08T05:19:00Z INFO  tapyrus_signer::signer_node] Skip waiting for ibd finish.
14:19:00 bunta.1   | [2020-01-08T05:19:00Z INFO  tapyrus_signer::signer_node] Start thread for redis subscription
14:19:00 bunta.1   | [2020-01-08T05:19:00Z INFO  tapyrus_signer::signer_node] Start Key generation Protocol
14:19:00 akari.1   | [2020-01-08T05:19:00Z INFO  tapyrus_signer::signer_node] Skip waiting for ibd finish.
14:19:00 akari.1   | [2020-01-08T05:19:00Z INFO  tapyrus_signer::signer_node] Start thread for redis subscription
14:19:00 chiharu.1 | [2020-01-08T05:19:00Z INFO  tapyrus_signer::signer_node] Skip waiting for ibd finish.
14:19:00 akari.1   | [2020-01-08T05:19:00Z INFO  tapyrus_signer::signer_node] Start Key generation Protocol
14:19:00 chiharu.1 | [2020-01-08T05:19:00Z INFO  tapyrus_signer::signer_node] Start thread for redis subscription
14:19:00 chiharu.1 | [2020-01-08T05:19:00Z INFO  tapyrus_signer::signer_node] Start Key generation Protocol
14:19:10 akari.1   | [2020-01-08T05:19:10Z INFO  tapyrus_signer::signer_node] Sending VSS to each other signers
14:19:10 bunta.1   | [2020-01-08T05:19:10Z INFO  tapyrus_signer::signer_node] Sending VSS to each other signers
14:19:10 chiharu.1 | [2020-01-08T05:19:10Z INFO  tapyrus_signer::signer_node] Sending VSS to each other signers
14:19:12 akari.1   | [2020-01-08T05:19:12Z INFO  tapyrus_signer::signer_node] Start round as Master by master flag (my index: 1, master index: 0)
14:19:12 bunta.1   | [2020-01-08T05:19:12Z INFO  tapyrus_signer::signer_node] Start round as Member by no master flag (my index: 0, master index: 0)
14:19:12 chiharu.1 | [2020-01-08T05:19:12Z INFO  tapyrus_signer::signer_node] Start round as Member by no master flag (my index: 2, master index: 0)
14:19:12 bunta.1   | [2020-01-08T05:19:12Z INFO  tapyrus_signer::signer_node] All VSSs are collected. Ready to start Signature Issuing Protocol
14:19:12 chiharu.1 | [2020-01-08T05:19:12Z INFO  tapyrus_signer::signer_node] All VSSs are collected. Ready to start Signature Issuing Protocol
14:19:32 akari.1   | [2020-01-08T05:19:32Z INFO  tapyrus_signer::signer_node] Broadcast candidate block. block hash for signing: BlockHash(93227326233693ad1f521339d98760e648482168aebf0f9c32ac0d9c4fe2fe6d)
14:19:32 bunta.1   | [2020-01-08T05:19:32Z INFO  tapyrus_signer::signer_node] candidateblock received. block hash for signing: BlockHash(93227326233693ad1f521339d98760e648482168aebf0f9c32ac0d9c4fe2fe6d)
14:19:32 chiharu.1 | [2020-01-08T05:19:32Z INFO  tapyrus_signer::signer_node] candidateblock received. block hash for signing: BlockHash(93227326233693ad1f521339d98760e648482168aebf0f9c32ac0d9c4fe2fe6d)
14:19:32 bunta.1   | [2020-01-08T05:19:32Z WARN  tapyrus_signer::signer_node] Received Invalid candidate block sender: 02f4bd290c3e19db61fddedf6dd1043080dc331cfdb249e09056a45a3c967928bf
14:19:32 chiharu.1 | [2020-01-08T05:19:32Z WARN  tapyrus_signer::signer_node] Received Invalid candidate block sender: 02f4bd290c3e19db61fddedf6dd1043080dc331cfdb249e09056a45a3c967928bf
14:19:33 akari.1   | [2020-01-08T05:19:33Z INFO  tapyrus_signer::signer_node] All VSSs are collected. Ready to start Signature Issuing Protocol
14:19:33 akari.1   | [2020-01-08T05:19:33Z INFO  tapyrus_signer::signer_node] candidateblock received. block hash for signing: BlockHash(93227326233693ad1f521339d98760e648482168aebf0f9c32ac0d9c4fe2fe6d)
14:19:37 bunta.1   | [2020-01-08T05:19:37Z WARN  tapyrus_signer::timer] Timelimit reached!
14:19:37 chiharu.1 | [2020-01-08T05:19:37Z WARN  tapyrus_signer::timer] Timelimit reached!
14:19:37 bunta.1   | [2020-01-08T05:19:37Z INFO  tapyrus_signer::signer_node] Start next round as Member (my index: 0, master index: 1)
14:19:37 chiharu.1 | [2020-01-08T05:19:37Z INFO  tapyrus_signer::signer_node] Start next round as Member (my index: 2, master index: 1)
14:19:57 akari.1   | [2020-01-08T05:19:57Z WARN  tapyrus_signer::timer] Timelimit reached!
14:19:57 akari.1   | [2020-01-08T05:19:57Z INFO  tapyrus_signer::signer_node] Start next round as Master (my index: 1, master index: 1)
14:20:02 bunta.1   | [2020-01-08T05:20:02Z WARN  tapyrus_signer::timer] Timelimit reached!
14:20:02 chiharu.1 | [2020-01-08T05:20:02Z WARN  tapyrus_signer::timer] Timelimit reached!
14:20:02 bunta.1   | [2020-01-08T05:20:02Z INFO  tapyrus_signer::signer_node] Start next round as Member (my index: 0, master index: 2)
14:20:02 chiharu.1 | [2020-01-08T05:20:02Z INFO  tapyrus_signer::signer_node] Start next round as Master (my index: 2, master index: 2)
14:20:17 akari.1   | [2020-01-08T05:20:17Z INFO  tapyrus_signer::signer_node] Broadcast candidate block. block hash for signing: BlockHash(c57a9a8a4aa3052e1ab15fc70a3d89fbfb15dda3fd66abdf52a77d3b73bc63d1)
14:20:18 bunta.1   | [2020-01-08T05:20:18Z INFO  tapyrus_signer::signer_node] candidateblock received. block hash for signing: BlockHash(c57a9a8a4aa3052e1ab15fc70a3d89fbfb15dda3fd66abdf52a77d3b73bc63d1)
14:20:18 akari.1   | [2020-01-08T05:20:18Z INFO  tapyrus_signer::signer_node] candidateblock received. block hash for signing: BlockHash(c57a9a8a4aa3052e1ab15fc70a3d89fbfb15dda3fd66abdf52a77d3b73bc63d1)
14:20:22 chiharu.1 | [2020-01-08T05:20:22Z INFO  tapyrus_signer::signer_node] Broadcast candidate block. block hash for signing: BlockHash(e6409f7651b7baf107e5280b27ddb0bd438d474f9369746c4fefc7a3e0b475eb)
14:20:23 bunta.1   | [2020-01-08T05:20:23Z INFO  tapyrus_signer::signer_node] candidateblock received. block hash for signing: BlockHash(e6409f7651b7baf107e5280b27ddb0bd438d474f9369746c4fefc7a3e0b475eb)
14:20:23 akari.1   | [2020-01-08T05:20:23Z INFO  tapyrus_signer::signer_node] candidateblock received. block hash for signing: BlockHash(e6409f7651b7baf107e5280b27ddb0bd438d474f9369746c4fefc7a3e0b475eb)
14:20:23 chiharu.1 | [2020-01-08T05:20:23Z INFO  tapyrus_signer::signer_node] candidateblock received. block hash for signing: BlockHash(c57a9a8a4aa3052e1ab15fc70a3d89fbfb15dda3fd66abdf52a77d3b73bc63d1)
14:20:25 bunta.1   | [2020-01-08T05:20:25Z ERROR tapyrus_signer::signer_node] Invalid blockvss message received. Received message is based different block. expected: Ok(BlockHash(e6409f7651b7baf107e5280b27ddb0bd438d474f9369746c4fefc7a3e0b475eb)), actual: BlockHash(c57a9a8a4aa3052e1ab15fc70a3d89fbfb15dda3fd66abdf52a77d3b73bc63d1)
14:20:25 akari.1   | [2020-01-08T05:20:25Z ERROR tapyrus_signer::signer_node] Invalid blockvss message received. Received message is based different block. expected: Ok(BlockHash(e6409f7651b7baf107e5280b27ddb0bd438d474f9369746c4fefc7a3e0b475eb)), actual: BlockHash(c57a9a8a4aa3052e1ab15fc70a3d89fbfb15dda3fd66abdf52a77d3b73bc63d1)
14:20:25 chiharu.1 | [2020-01-08T05:20:25Z INFO  tapyrus_signer::signer_node] candidateblock received. block hash for signing: BlockHash(e6409f7651b7baf107e5280b27ddb0bd438d474f9369746c4fefc7a3e0b475eb)
14:20:28 akari.1   | [2020-01-08T05:20:28Z INFO  tapyrus_signer::signer_node] Start next round as Member (my index: 1, master index: 2)
14:20:28 chiharu.1 | [2020-01-08T05:20:28Z ERROR tapyrus_signer::signer_node] Invalid blockvss message received. Received message is based different block. expected: Ok(BlockHash(e6409f7651b7baf107e5280b27ddb0bd438d474f9369746c4fefc7a3e0b475eb)), actual: BlockHash(c57a9a8a4aa3052e1ab15fc70a3d89fbfb15dda3fd66abdf52a77d3b73bc63d1)
14:20:29 chiharu.1 | [2020-01-08T05:20:29Z INFO  tapyrus_signer::signer_node] Start next round as Member (my index: 2, master index: 0)