Open glevco opened 5 months ago
PR #966 introduces the change to be able to test this.
Blocks mined so far:
With size 21: 0003010000032000001976a914fbf1a83143de4c3c223d0457995d961edb3f3e5d88ac4041e3e5fbf07728663970b2030000000009763fcb744f6321a7b5347b28f373bf22d87bd2834cb7b15d4ebdf8000022b0b3d5a970f6d73e3a9910e3f05adfbf36d848b1fed1013604859fcb5d00005cc28cc701dbe31a9d5813ba35280fbb792511ab05c59030b3023aa9a334000000000000000000000000000000000000000000000000000000000000000000000000002f01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff2f004861746833103b0000000000000000ffffffff01000000000000000017a91460085b3cf8223ff2d5a6475736e82fa31913b5a78700000000150000000000000000000000000000000000000000000000000000000000000000f98c4e9736d8eb8bb46299798906695c755369a3df99a93ffdded1713f1cf6e248e55233b9707330def98c80a2105eaa5fac8f687d872ffb4b4741fa2bdb247dc77d206e2f3cc38e18b85aaa89a8f142a9bf0f4106925d39708f91083e7d85943ba39c95fbb9a0db25983d362f300d9ebb14895925cc693c3948bfd30312bf1988ee7073ebdac00e079cca067fbc88d4073f2ee956e162c9aadd807085a783adcdf711d70dbb6bf71772c5e796f1ce38c304f716f16b89fe1f89f0277c534ff74103ee5ba7a959a2952e4f9614be71f8672f187fccb939a678082ae1a625b466a80e39ceb2535d884b92c91c02b3f6fed288138e3ac48b37e1352eee1d57076d5ed46b1771a88e5816ef97958cdc5fbf31395502e249fbfc467b4967daf789867e04eb00931206b9a8b9a1a36e3e1b7a99f8f892dc9b5f28bc4ebdfd84293782290f050d9455159695d6afaf00cb6ce0bf1f57735efa30fcd85a8f64a03984aa655ba11f429e6cc6f7c3f1dea6c167038f9d060aba19b23c2974837bf249d5724dd0cd2a527b862e51fe402123dd00f6514b8bd7b90fcdaa2d2c02c4b0fa5787c62c464046d7c109da326c36545a24168b9dd5ed7e6f80a3b21caa6b1c2a0c2c3355c3eefab642a9678db4f8c550c12bbd548f12cccd030b381a12878ed8f02d25c7e97989cde32602b33070024c24acb2b6b7d7e5d945ac10b70e5ca465a597974b81f32dd6bb7eb8df03a1168c459a529a851e67928b02658d7a7e54d48427adde56960aee6e77ad740c2c94d13ac3ceea6de318f682729c2f90443c9342c1a1da892c392dfcd7152ca421fb87162935a8ddcbee21516e4e0663e4b1557a59b1b6b82b1e15339eb3c6c5dc465183600e416e97f0206e8af1331ca6af480da1b77039660000000006313928
it is correctly rejected:
2024-05-07 00:07:44 [warning ] [hathor.vertex_handler.vertex_handler] on_new_tx(): full validation failed tx=0000000001f00ab22e6714633ba8d12b531069383b1edffe89e6967de56919e2
Traceback (most recent call last):
File "/Users/jan/Projects/hathor-core2/hathor/vertex_handler/vertex_handler.py", line 156, in _validate_vertex
self._verification_service.validate_full(vertex, reject_locked_reward=reject_locked_reward)
File "/Users/jan/Projects/hathor-core2/hathor/verification/verification_service.py", line 76, in validate_full
self.verify(vertex, reject_locked_reward=reject_locked_reward)
File "/Users/jan/Projects/hathor-core2/hathor/verification/verification_service.py", line 134, in verify
self._verify_merge_mined_block(vertex)
File "/Users/jan/Projects/hathor-core2/hathor/verification/verification_service.py", line 169, in _verify_merge_mined_block
self._verify_block(block)
File "/Users/jan/Projects/hathor-core2/hathor/profiler/cpu.py", line 207, in _wrapper
ret = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/Users/jan/Projects/hathor-core2/hathor/verification/verification_service.py", line 159, in _verify_block
self.verify_without_storage(block)
File "/Users/jan/Projects/hathor-core2/hathor/verification/verification_service.py", line 219, in verify_without_storage
self._verify_without_storage_merge_mined_block(vertex)
File "/Users/jan/Projects/hathor-core2/hathor/verification/verification_service.py", line 240, in _verify_without_storage_merge_mined_block
self.verifiers.merge_mined_block.verify_aux_pow(block)
File "/Users/jan/Projects/hathor-core2/hathor/verification/merge_mined_block_verifier.py", line 42, in verify_aux_pow
block.aux_pow.verify(block.get_base_hash(), max_merkle_path_length)
File "/Users/jan/Projects/hathor-core2/hathor/transaction/aux_pow.py", line 50, in verify
self.verify_merkle_path(_base_block_hash, max_merkle_path_length)
File "/Users/jan/Projects/hathor-core2/hathor/transaction/aux_pow.py", line 67, in verify_merkle_path
raise AuxPowLongMerklePathError(f'merkle_path too long: {merkle_path_length} > {max_merkle_path_length}')
hathor.transaction.exceptions.AuxPowLongMerklePathError: merkle_path too long: 21 > 20
It's been slow since I'm using a cpuminer, but at least I've got a block with merkle path of len 13.
We should implement a way of creating merge mined blocks on testnet with some dummy blockchain, in order to test the maximum Merkle path length update, implemented in this PR: https://github.com/HathorNetwork/hathor-core/pull/910.
According to Feature Activation, the process should start around Sunday, Feb. 4th, meaning that it will reach
LOCKED_IN
around Feb. 11th and will beACTIVE
around Feb. 18th. Then:Before the feature is activated
After the feature is activated