Can't verify any peer document
Since a recent Duniter version, Sakia fails to verify all peer documents received.
May be linked to current problems with network stability ( @c-geek )
The document signature is checked with document pubkey, but it fails.
- Show closed items
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
I've made tests with
duniter sync
which, at the end of the sync procedure, also retrieve the peer documents and accept them after verification.Duniter accepts them, so it seems Peer documents are valid.
So I wanted to see if Duniter and Sakia were sharing a same case, and I could find the following example.
What
saka --debug
says:DEBUG:network:handle_new_node:Wrong document received :
About document:
Version: 10 Type: Peer Currency: g1 PublicKey: Com8rJukCozHZyFao6AheSsfDQdPApxQRnz7QYFf64mm Block: 33287-0000068F78F4D70F0A3ECBB2AB3C177D661D1699BBFCEC9E9AA35A2351F0A4C8 Endpoints: BASIC_MERKLED_API g1.duniter.tednet.fr 37.187.0.204 8999 BMAS g1.duniter.tednet.fr 9000 ImvQDdpGv2M6CxSnBuseM/azJhBUGzWVgQhIvb5L2oGLm2GyLk/Sbi5wkb4IjbjbQfdRPdlcx5zxaHhvZCiWAA==
Here is what Duniter sees and shares through
/network/peers/
and/network/peering/peers
:Version: 10 Type: Peer Currency: g1 PublicKey: Com8rJukCozHZyFao6AheSsfDQdPApxQRnz7QYFf64mm Block: 33291-0000088375C232A4DDAE171BB3D3C51347CB6DC8B7AA8BE4CD4DAEEADF26FEB8 Endpoints: BASIC_MERKLED_API g1.duniter.tednet.fr 37.187.0.204 8999 BMAS g1.duniter.tednet.fr 9000 ImvQDdpGv2M6CxSnBuseM/azJhBUGzWVgQhIvb5L2oGLm2GyLk/Sbi5wkb4IjbjbQfdRPdlcx5zxaHhvZCiWAA==
The latter is a correct document, with a matching signature.
Note: I know these 2 docs represent the same case because the signature is the same.
There is something weird in the answers of Duniter :
{ "depth": 5, "nodesCount": 30, "leavesCount": 29, "root": "13D1EC4A0CA76702357B0B55FCC36889C4AB313C7AAE531DAAA913DC0677A3ED", "leaves": [], "leaf": { "hash": "DA41B463436EC95F6196F1B12F658327A553374A8E0DC195BDA6B4DC9D286148", "value": { "version": 10, "currency": "g1", "status": "UP", "first_down": null, "last_try": null, "pubkey": "3AF7bhGQRt6ymcBZgZTBMoDsEtSwruSarjNG8kDnaueX", "block": "33835-00000320301BA307A13680CABD2ADC9B7ADC73B4CA593465EFD5D0D1CDB7E984", "signature": "kX7EQIwN+tSqWStmNuCu3+a3rqYFKJ+xL6yP89/CkUTusgjRbFRiGC/v8d5svZh/fyKYaHSrXk5sVwtOys1QBg==", "endpoints": [ "BASIC_MERKLED_API g1.duniter.org 10901" ], "raw": "Version: 10\nType: Peer\nCurrency: g1\nPublicKey: 3AF7bhGQRt6ymcBZgZTBMoDsEtSwruSarjNG8kDnaueX\nBlock: 33833-0000083526948EC14C37D7C98A0D81F70FAA247BFC73308C1A85CC99D9389E4F\nEndpoints:\nBASIC_MERKLED_API g1.duniter.org 10901\n" } } }
We can see that the block id contained in the json answer is different to the block id contained in the raw answer. Indeed, if I use the
block
field of the json answer, the signature is valid.Can you create a linked ticket in duniter/duniter?