From 726ab00085db2736dab542ef612cdd88ee61e370 Mon Sep 17 00:00:00 2001 From: thephez Date: Mon, 15 Apr 2019 16:04:31 -0400 Subject: [PATCH] V0.14.0 Add quorum dkg message examples (#118) * P2P - Add qpcommit hexdump and corrections * P2P - Add qfcommit hexdump * RPC - Update quorum dkgstatus example * P2P - Add qcomplaint hexdump * P2P - Add qcontrib hexdump and missing fields * P2P - Add qjustify parial example hexdump (need actual data) --- .../devdoc/dash-core/rpcs/rpcs/quorum.md | 747 ++++++++++++++++-- _includes/devdoc/ref_p2p_networking.md | 181 ++++- 2 files changed, 870 insertions(+), 58 deletions(-) diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/quorum.md b/_includes/devdoc/dash-core/rpcs/rpcs/quorum.md index eab7f3cd..58489f86 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/quorum.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/quorum.md @@ -547,30 +547,39 @@ Result: {% highlight json %} { "proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63", - "time": 1554817777, - "timeStr": "2019-04-09 13:49:37", + "time": 1555172494, + "timeStr": "2019-04-13 16:21:34", "session": { "llmq_50_60": { "llmqType": 1, - "quorumHash": "0000000003284177404622ea79491cb19855254627751cfbbb0035a62d17ab6a", - "quorumHeight": 76728, + "quorumHash": "000000000122768294b19a5f6750094f6e9caa135c0826372d0538d4ceb910bc", + "quorumHeight": 79368, "phase": 6, "sentContributions": true, "sentComplaint": true, "sentJustification": false, "sentPrematureCommitment": true, "aborted": false, - "badMembers": 1, + "badMembers": 2, "weComplain": 0, - "receivedContributions": 49, - "receivedComplaints": 50, + "receivedContributions": 48, + "receivedComplaints": 44, "receivedJustifications": 0, - "receivedPrematureCommitments": 49 + "receivedPrematureCommitments": 44 } }, "minableCommitments": { + "llmq_50_60": { + "version": 1, + "llmqType": 1, + "quorumHash": "000000000122768294b19a5f6750094f6e9caa135c0826372d0538d4ceb910bc", + "signersCount": 0, + "validMembersCount": 0, + "quorumPublicKey": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } } } +p {% endhighlight %} {% endautocrossref %} @@ -581,17 +590,17 @@ Result: dash-cli -testnet quorum dkgstatus "" 1 {% endhighlight %} -Result (truncated): +Result: {% highlight json %} { "proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63", - "time": 1554817777, - "timeStr": "2019-04-09 13:49:37", + "time": 1555172494, + "timeStr": "2019-04-13 16:21:34", "session": { "llmq_50_60": { "llmqType": 1, - "quorumHash": "0000000003284177404622ea79491cb19855254627751cfbbb0035a62d17ab6a", - "quorumHeight": 76728, + "quorumHash": "000000000122768294b19a5f6750094f6e9caa135c0826372d0538d4ceb910bc", + "quorumHeight": 79368, "phase": 6, "sentContributions": true, "sentComplaint": true, @@ -599,7 +608,8 @@ Result (truncated): "sentPrematureCommitment": true, "aborted": false, "badMembers": [ - 25 + 35, + 42 ], "weComplain": [ ], @@ -608,6 +618,47 @@ Result (truncated): 1, 2, 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 36, + 37, + 38, + 39, + 40, + 41, + 43, + 44, + 45, + 46, 47, 48, 49 @@ -617,6 +668,43 @@ Result (truncated): 1, 2, 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 33, + 34, + 36, + 37, + 38, + 39, + 40, + 41, + 43, + 44, + 45, + 46, 47, 48, 49 @@ -628,6 +716,43 @@ Result (truncated): 1, 2, 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 33, + 34, + 36, + 37, + 38, + 39, + 40, + 41, + 43, + 44, + 45, + 46, 47, 48, 49 @@ -635,6 +760,14 @@ Result (truncated): } }, "minableCommitments": { + "llmq_50_60": { + "version": 1, + "llmqType": 1, + "quorumHash": "000000000122768294b19a5f6750094f6e9caa135c0826372d0538d4ceb910bc", + "signersCount": 0, + "validMembersCount": 0, + "quorumPublicKey": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } } } {% endhighlight %} @@ -645,17 +778,17 @@ Result (truncated): dash-cli -testnet quorum dkgstatus "" 2 {% endhighlight %} -Result (truncated): +Result: {% highlight json %} { "proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63", - "time": 1554817777, - "timeStr": "2019-04-09 13:49:37", + "time": 1555172494, + "timeStr": "2019-04-13 16:21:34", "session": { "llmq_50_60": { "llmqType": 1, - "quorumHash": "0000000003284177404622ea79491cb19855254627751cfbbb0035a62d17ab6a", - "quorumHeight": 76728, + "quorumHash": "000000000122768294b19a5f6750094f6e9caa135c0826372d0538d4ceb910bc", + "quorumHeight": 79368, "phase": 6, "sentContributions": true, "sentComplaint": true, @@ -664,8 +797,12 @@ Result (truncated): "aborted": false, "badMembers": [ { - "memberIndex": 25, - "proTxHash": "ebf4b6337e25b975eb23ba6d113f94882196d7259749acaad952acf48025f590" + "memberIndex": 35, + "proTxHash": "c24aea30305d539887223fd923df775644b1d86db0aac8c654026e823b549cd7" + }, + { + "memberIndex": 42, + "proTxHash": "f0567069d4f2a2e536e46173a097b318daf03edef989f6875ca06f5c4d49abc9" } ], "weComplain": [ @@ -673,61 +810,373 @@ Result (truncated): "receivedContributions": [ { "memberIndex": 0, - "proTxHash": "5eccc0b9a1a2b8a9c3511cae98a664c377e8493c35cdd120e0d71f0b6b0f62c5" + "proTxHash": "a6670caf2842a4ae5cb4bb78b3c10343456922b500693f6da043af541d58d9cb" }, { "memberIndex": 1, - "proTxHash": "1e17ddf8748ed5e6696255da61922bd3985fd15a33fcb2d051cf84242e89f121" + "proTxHash": "77c0615fb5eb946f7f731a44eb36dc37ee77bf959e7205937d88186cacfbdc7e" }, { "memberIndex": 2, - "proTxHash": "f1eb4ac02ab1acbace0a01328e204c4fd7dec5e53a72cccac7729c5802dbeaf4" + "proTxHash": "8070c631ce9ac8850d2e95d4ed7be70171ead22ccd7f4bc9c3aee0a227f323c9" }, { "memberIndex": 3, - "proTxHash": "a288f5de676eb63dee13a618d39bd6b07ad73e9ae40148202fc5b5f32e1b0bfb" + "proTxHash": "596be0851532a66037744afa694e4de6485f326f4638e704db93cc726866cda3" + }, + { + "memberIndex": 4, + "proTxHash": "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239" + }, + { + "memberIndex": 5, + "proTxHash": "9f4f9f83ecbcd5739d7f1479ee14b508f2414d044a717acba0960566c4e6091d" + }, + { + "memberIndex": 6, + "proTxHash": "21c0923badd20f953360c586edfcbb1a830be83206e30b3f65765f7794f2a640" + }, + { + "memberIndex": 7, + "proTxHash": "cc36055f36345b85a2b8176e79feff0ff822c490691c7f8e8d3348b4b1a1d8ac" + }, + { + "memberIndex": 8, + "proTxHash": "4636ed7acbacbc76aba60aa7a1011688fe9ad5fd701d0bf8fc42a502ea3e6543" + }, + { + "memberIndex": 9, + "proTxHash": "32e5ad5cf9a06eb13e0f65cb7ecde1a93ef24995d07355fac2ff05ebd5b9ddbf" + }, + { + "memberIndex": 10, + "proTxHash": "0022afbe93054ca11ce9b67892661af4558597bacff0ab82bff05a2b4a89ca2d" + }, + { + "memberIndex": 11, + "proTxHash": "2523dc6e034911b9004862e87b4d23a32ed6198aec177915df7893f51cd645bd" + }, + { + "memberIndex": 12, + "proTxHash": "abe5d16432915b201cf6f11299a1abd62e5f69a2c4e8717694d1e42d96dbd580" + }, + { + "memberIndex": 13, + "proTxHash": "f443dd87ec7981e8630ae957f295d9d226d4bd3895f59dbd80b30137a92b3735" + }, + { + "memberIndex": 14, + "proTxHash": "6a5be5c068a0be432b7db0772b25094a59ce1f433dd2df0d410511ac641c3768" + }, + { + "memberIndex": 15, + "proTxHash": "84435c41688c8021a25a644e6b94c9f5159aff5658ee2e12f5cea5c714c21aa3" + }, + { + "memberIndex": 16, + "proTxHash": "2db238aa40837319ca13e27aae4333d1248475546be6cfad985a3785c0ac9bd6" + }, + { + "memberIndex": 17, + "proTxHash": "cefb7c69f75d9fbba21f648c6205bebf9b16325956404c70af03144c1135c7d7" + }, + { + "memberIndex": 18, + "proTxHash": "cc7041c869c7c1c0bae7c137f0cda708ad492bc89c4b8f7a40a353d90335febf" + }, + { + "memberIndex": 19, + "proTxHash": "24e642275f5d5f17f67db502d905153cfd83ffbd3d49c90196ec01200917fb31" + }, + { + "memberIndex": 20, + "proTxHash": "bc5c77926b0ccfcb742123a1edf2c27147888f694701df399982a862309921c8" + }, + { + "memberIndex": 21, + "proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63" + }, + { + "memberIndex": 22, + "proTxHash": "11eabc1e72394af02bbe86815975d054816fe69006fdc64c6d7a06b585e5c311" + }, + { + "memberIndex": 23, + "proTxHash": "71cf5017c4c5f69db5c17a8cfb4c28ffc14ad1715dba2a83f0c30e534291f828" + }, + { + "memberIndex": 24, + "proTxHash": "d567ac9cc7437848210365a0225271ec26a6a6c7d852544a6e9cbd40756075b3" + }, + { + "memberIndex": 25, + "proTxHash": "16ef804605595f67a0e078f7ffbdd93ac55bcd22d9094cb8b61ef527c48f4c44" + }, + { + "memberIndex": 26, + "proTxHash": "f51b426420ac4c518ad07c2bb03e434389337b4e2977d39233114d5e8ef21f69" + }, + { + "memberIndex": 27, + "proTxHash": "2460848868c210d23c68460050f83f47a7ad00db2c47ad6f223a9b1eb04c8d54" + }, + { + "memberIndex": 28, + "proTxHash": "49d94e4c584929320cfe159faf4f6e398f1b2d1fdaa413c01345ce23870d2ca9" + }, + { + "memberIndex": 29, + "proTxHash": "e8b039ce3f1016b7caf781d1b0efbc11191860ec3b131fc49591402a260ba638" + }, + { + "memberIndex": 30, + "proTxHash": "5ab82a5348b5d4c126b0c172665d364352be37c96ce442e710d4a844a6f80bf9" + }, + { + "memberIndex": 31, + "proTxHash": "05b83104eea971582c803ded305109ecb734b582da93b8e301c6f00d6be6c496" + }, + { + "memberIndex": 32, + "proTxHash": "c98c6303af03f7f3b2673ceece962134088e5dcc3c69a0977069c6201b26dc9b" + }, + { + "memberIndex": 33, + "proTxHash": "f933d592d677f3409274646ddea2ffaaca77dfd4ceab7c54037a04e05fc7ee8b" + }, + { + "memberIndex": 34, + "proTxHash": "5d40e68f65e7263d91e114b644ff7f8c9c376db63550d5ef9bc4228870c4f053" + }, + { + "memberIndex": 36, + "proTxHash": "a36edfac56f7f1b0f58aa793115fbd53d792315857033fb32a862507a3f060ff" + }, + { + "memberIndex": 37, + "proTxHash": "c9d43a69bd9effdaed579edc901c5d848711481047c9cc76bad8232d8f329dcd" + }, + { + "memberIndex": 38, + "proTxHash": "d82152084615c73d79f3eb8b0ec6a61e6d0f94c4cdcf26f773f0e42b72176f6f" + }, + { + "memberIndex": 39, + "proTxHash": "869f7f2054a6ed4241967afb74c3b1a07701d2772b368eb0bbfd2e3365adf6f3" + }, + { + "memberIndex": 40, + "proTxHash": "5f1a70a350d21f673d93fae45a50c0362947366e46c96bade51b7933f0cada3e" + }, + { + "memberIndex": 41, + "proTxHash": "024608d03beb6a6065f14a29a837c68ae449ac1e17056819366ca0b72b6dd81f" + }, + { + "memberIndex": 43, + "proTxHash": "254bcd3b28d696ce9d468cd521e6be3f7eb01da32d8bf9fdf34868baaf09d9e7" + }, + { + "memberIndex": 44, + "proTxHash": "0ae626ed4ee06c1f042b2eaa9669302a2e60a0df8137843b39de53f2c3e265aa" + }, + { + "memberIndex": 45, + "proTxHash": "cfa6f7b58c78f827c15e8f1b6a5a2a3a92140101719006d8226a363e2c0c8e5c" + }, + { + "memberIndex": 46, + "proTxHash": "03811a53a20289799f56227f576915492d2cede48522cd1b3f67c6c89cdacf83" }, { "memberIndex": 47, - "proTxHash": "1c3618f7228fc4b5e5694dd1be72b633e179b1c17e57d7380992ecb1af6e5fc1" + "proTxHash": "f989866b2fadb674a1ca63746ff8bb97232d6843c95f9e805b8bc2a5ae8e768d" }, { "memberIndex": 48, - "proTxHash": "8390acf4e1db828c53804b7cb2db81db0732239c0da51a7a923e4e1e073c2cb2" + "proTxHash": "9de76b8291d00026ab0af86306023c7b90f8e9229dc04916fe1335bf5e11f15d" }, { "memberIndex": 49, - "proTxHash": "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239" + "proTxHash": "e441bbb2f056d471ae9fad83b4dd0fa691a0574eb4a373a0e59d6108614ee07e" } ], "receivedComplaints": [ { "memberIndex": 0, - "proTxHash": "5eccc0b9a1a2b8a9c3511cae98a664c377e8493c35cdd120e0d71f0b6b0f62c5" + "proTxHash": "a6670caf2842a4ae5cb4bb78b3c10343456922b500693f6da043af541d58d9cb" }, { "memberIndex": 1, - "proTxHash": "1e17ddf8748ed5e6696255da61922bd3985fd15a33fcb2d051cf84242e89f121" + "proTxHash": "77c0615fb5eb946f7f731a44eb36dc37ee77bf959e7205937d88186cacfbdc7e" }, { "memberIndex": 2, - "proTxHash": "f1eb4ac02ab1acbace0a01328e204c4fd7dec5e53a72cccac7729c5802dbeaf4" + "proTxHash": "8070c631ce9ac8850d2e95d4ed7be70171ead22ccd7f4bc9c3aee0a227f323c9" }, { "memberIndex": 3, - "proTxHash": "a288f5de676eb63dee13a618d39bd6b07ad73e9ae40148202fc5b5f32e1b0bfb" + "proTxHash": "596be0851532a66037744afa694e4de6485f326f4638e704db93cc726866cda3" + }, + { + "memberIndex": 4, + "proTxHash": "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239" + }, + { + "memberIndex": 5, + "proTxHash": "9f4f9f83ecbcd5739d7f1479ee14b508f2414d044a717acba0960566c4e6091d" + }, + { + "memberIndex": 6, + "proTxHash": "21c0923badd20f953360c586edfcbb1a830be83206e30b3f65765f7794f2a640" + }, + { + "memberIndex": 7, + "proTxHash": "cc36055f36345b85a2b8176e79feff0ff822c490691c7f8e8d3348b4b1a1d8ac" + }, + { + "memberIndex": 8, + "proTxHash": "4636ed7acbacbc76aba60aa7a1011688fe9ad5fd701d0bf8fc42a502ea3e6543" + }, + { + "memberIndex": 9, + "proTxHash": "32e5ad5cf9a06eb13e0f65cb7ecde1a93ef24995d07355fac2ff05ebd5b9ddbf" + }, + { + "memberIndex": 10, + "proTxHash": "0022afbe93054ca11ce9b67892661af4558597bacff0ab82bff05a2b4a89ca2d" + }, + { + "memberIndex": 11, + "proTxHash": "2523dc6e034911b9004862e87b4d23a32ed6198aec177915df7893f51cd645bd" + }, + { + "memberIndex": 12, + "proTxHash": "abe5d16432915b201cf6f11299a1abd62e5f69a2c4e8717694d1e42d96dbd580" + }, + { + "memberIndex": 14, + "proTxHash": "6a5be5c068a0be432b7db0772b25094a59ce1f433dd2df0d410511ac641c3768" + }, + { + "memberIndex": 15, + "proTxHash": "84435c41688c8021a25a644e6b94c9f5159aff5658ee2e12f5cea5c714c21aa3" + }, + { + "memberIndex": 16, + "proTxHash": "2db238aa40837319ca13e27aae4333d1248475546be6cfad985a3785c0ac9bd6" + }, + { + "memberIndex": 17, + "proTxHash": "cefb7c69f75d9fbba21f648c6205bebf9b16325956404c70af03144c1135c7d7" + }, + { + "memberIndex": 18, + "proTxHash": "cc7041c869c7c1c0bae7c137f0cda708ad492bc89c4b8f7a40a353d90335febf" + }, + { + "memberIndex": 19, + "proTxHash": "24e642275f5d5f17f67db502d905153cfd83ffbd3d49c90196ec01200917fb31" + }, + { + "memberIndex": 20, + "proTxHash": "bc5c77926b0ccfcb742123a1edf2c27147888f694701df399982a862309921c8" + }, + { + "memberIndex": 21, + "proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63" + }, + { + "memberIndex": 24, + "proTxHash": "d567ac9cc7437848210365a0225271ec26a6a6c7d852544a6e9cbd40756075b3" + }, + { + "memberIndex": 25, + "proTxHash": "16ef804605595f67a0e078f7ffbdd93ac55bcd22d9094cb8b61ef527c48f4c44" + }, + { + "memberIndex": 26, + "proTxHash": "f51b426420ac4c518ad07c2bb03e434389337b4e2977d39233114d5e8ef21f69" + }, + { + "memberIndex": 27, + "proTxHash": "2460848868c210d23c68460050f83f47a7ad00db2c47ad6f223a9b1eb04c8d54" + }, + { + "memberIndex": 28, + "proTxHash": "49d94e4c584929320cfe159faf4f6e398f1b2d1fdaa413c01345ce23870d2ca9" + }, + { + "memberIndex": 29, + "proTxHash": "e8b039ce3f1016b7caf781d1b0efbc11191860ec3b131fc49591402a260ba638" + }, + { + "memberIndex": 30, + "proTxHash": "5ab82a5348b5d4c126b0c172665d364352be37c96ce442e710d4a844a6f80bf9" + }, + { + "memberIndex": 31, + "proTxHash": "05b83104eea971582c803ded305109ecb734b582da93b8e301c6f00d6be6c496" + }, + { + "memberIndex": 33, + "proTxHash": "f933d592d677f3409274646ddea2ffaaca77dfd4ceab7c54037a04e05fc7ee8b" + }, + { + "memberIndex": 34, + "proTxHash": "5d40e68f65e7263d91e114b644ff7f8c9c376db63550d5ef9bc4228870c4f053" + }, + { + "memberIndex": 36, + "proTxHash": "a36edfac56f7f1b0f58aa793115fbd53d792315857033fb32a862507a3f060ff" + }, + { + "memberIndex": 37, + "proTxHash": "c9d43a69bd9effdaed579edc901c5d848711481047c9cc76bad8232d8f329dcd" + }, + { + "memberIndex": 38, + "proTxHash": "d82152084615c73d79f3eb8b0ec6a61e6d0f94c4cdcf26f773f0e42b72176f6f" + }, + { + "memberIndex": 39, + "proTxHash": "869f7f2054a6ed4241967afb74c3b1a07701d2772b368eb0bbfd2e3365adf6f3" + }, + { + "memberIndex": 40, + "proTxHash": "5f1a70a350d21f673d93fae45a50c0362947366e46c96bade51b7933f0cada3e" + }, + { + "memberIndex": 41, + "proTxHash": "024608d03beb6a6065f14a29a837c68ae449ac1e17056819366ca0b72b6dd81f" + }, + { + "memberIndex": 43, + "proTxHash": "254bcd3b28d696ce9d468cd521e6be3f7eb01da32d8bf9fdf34868baaf09d9e7" + }, + { + "memberIndex": 44, + "proTxHash": "0ae626ed4ee06c1f042b2eaa9669302a2e60a0df8137843b39de53f2c3e265aa" + }, + { + "memberIndex": 45, + "proTxHash": "cfa6f7b58c78f827c15e8f1b6a5a2a3a92140101719006d8226a363e2c0c8e5c" + }, + { + "memberIndex": 46, + "proTxHash": "03811a53a20289799f56227f576915492d2cede48522cd1b3f67c6c89cdacf83" }, { "memberIndex": 47, - "proTxHash": "1c3618f7228fc4b5e5694dd1be72b633e179b1c17e57d7380992ecb1af6e5fc1" + "proTxHash": "f989866b2fadb674a1ca63746ff8bb97232d6843c95f9e805b8bc2a5ae8e768d" }, { "memberIndex": 48, - "proTxHash": "8390acf4e1db828c53804b7cb2db81db0732239c0da51a7a923e4e1e073c2cb2" + "proTxHash": "9de76b8291d00026ab0af86306023c7b90f8e9229dc04916fe1335bf5e11f15d" }, { "memberIndex": 49, - "proTxHash": "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239" + "proTxHash": "e441bbb2f056d471ae9fad83b4dd0fa691a0574eb4a373a0e59d6108614ee07e" } ], "receivedJustifications": [ @@ -735,46 +1184,244 @@ Result (truncated): "receivedPrematureCommitments": [ { "memberIndex": 0, - "proTxHash": "5eccc0b9a1a2b8a9c3511cae98a664c377e8493c35cdd120e0d71f0b6b0f62c5" + "proTxHash": "a6670caf2842a4ae5cb4bb78b3c10343456922b500693f6da043af541d58d9cb" }, { "memberIndex": 1, - "proTxHash": "1e17ddf8748ed5e6696255da61922bd3985fd15a33fcb2d051cf84242e89f121" + "proTxHash": "77c0615fb5eb946f7f731a44eb36dc37ee77bf959e7205937d88186cacfbdc7e" }, { "memberIndex": 2, - "proTxHash": "f1eb4ac02ab1acbace0a01328e204c4fd7dec5e53a72cccac7729c5802dbeaf4" + "proTxHash": "8070c631ce9ac8850d2e95d4ed7be70171ead22ccd7f4bc9c3aee0a227f323c9" }, { "memberIndex": 3, - "proTxHash": "a288f5de676eb63dee13a618d39bd6b07ad73e9ae40148202fc5b5f32e1b0bfb" + "proTxHash": "596be0851532a66037744afa694e4de6485f326f4638e704db93cc726866cda3" + }, + { + "memberIndex": 4, + "proTxHash": "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239" + }, + { + "memberIndex": 5, + "proTxHash": "9f4f9f83ecbcd5739d7f1479ee14b508f2414d044a717acba0960566c4e6091d" + }, + { + "memberIndex": 6, + "proTxHash": "21c0923badd20f953360c586edfcbb1a830be83206e30b3f65765f7794f2a640" + }, + { + "memberIndex": 7, + "proTxHash": "cc36055f36345b85a2b8176e79feff0ff822c490691c7f8e8d3348b4b1a1d8ac" + }, + { + "memberIndex": 8, + "proTxHash": "4636ed7acbacbc76aba60aa7a1011688fe9ad5fd701d0bf8fc42a502ea3e6543" + }, + { + "memberIndex": 9, + "proTxHash": "32e5ad5cf9a06eb13e0f65cb7ecde1a93ef24995d07355fac2ff05ebd5b9ddbf" + }, + { + "memberIndex": 10, + "proTxHash": "0022afbe93054ca11ce9b67892661af4558597bacff0ab82bff05a2b4a89ca2d" + }, + { + "memberIndex": 11, + "proTxHash": "2523dc6e034911b9004862e87b4d23a32ed6198aec177915df7893f51cd645bd" + }, + { + "memberIndex": 12, + "proTxHash": "abe5d16432915b201cf6f11299a1abd62e5f69a2c4e8717694d1e42d96dbd580" + }, + { + "memberIndex": 14, + "proTxHash": "6a5be5c068a0be432b7db0772b25094a59ce1f433dd2df0d410511ac641c3768" + }, + { + "memberIndex": 15, + "proTxHash": "84435c41688c8021a25a644e6b94c9f5159aff5658ee2e12f5cea5c714c21aa3" + }, + { + "memberIndex": 16, + "proTxHash": "2db238aa40837319ca13e27aae4333d1248475546be6cfad985a3785c0ac9bd6" + }, + { + "memberIndex": 17, + "proTxHash": "cefb7c69f75d9fbba21f648c6205bebf9b16325956404c70af03144c1135c7d7" + }, + { + "memberIndex": 18, + "proTxHash": "cc7041c869c7c1c0bae7c137f0cda708ad492bc89c4b8f7a40a353d90335febf" + }, + { + "memberIndex": 19, + "proTxHash": "24e642275f5d5f17f67db502d905153cfd83ffbd3d49c90196ec01200917fb31" + }, + { + "memberIndex": 20, + "proTxHash": "bc5c77926b0ccfcb742123a1edf2c27147888f694701df399982a862309921c8" + }, + { + "memberIndex": 21, + "proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63" + }, + { + "memberIndex": 24, + "proTxHash": "d567ac9cc7437848210365a0225271ec26a6a6c7d852544a6e9cbd40756075b3" + }, + { + "memberIndex": 25, + "proTxHash": "16ef804605595f67a0e078f7ffbdd93ac55bcd22d9094cb8b61ef527c48f4c44" + }, + { + "memberIndex": 26, + "proTxHash": "f51b426420ac4c518ad07c2bb03e434389337b4e2977d39233114d5e8ef21f69" + }, + { + "memberIndex": 27, + "proTxHash": "2460848868c210d23c68460050f83f47a7ad00db2c47ad6f223a9b1eb04c8d54" + }, + { + "memberIndex": 28, + "proTxHash": "49d94e4c584929320cfe159faf4f6e398f1b2d1fdaa413c01345ce23870d2ca9" + }, + { + "memberIndex": 29, + "proTxHash": "e8b039ce3f1016b7caf781d1b0efbc11191860ec3b131fc49591402a260ba638" + }, + { + "memberIndex": 30, + "proTxHash": "5ab82a5348b5d4c126b0c172665d364352be37c96ce442e710d4a844a6f80bf9" + }, + { + "memberIndex": 31, + "proTxHash": "05b83104eea971582c803ded305109ecb734b582da93b8e301c6f00d6be6c496" + }, + { + "memberIndex": 33, + "proTxHash": "f933d592d677f3409274646ddea2ffaaca77dfd4ceab7c54037a04e05fc7ee8b" + }, + { + "memberIndex": 34, + "proTxHash": "5d40e68f65e7263d91e114b644ff7f8c9c376db63550d5ef9bc4228870c4f053" + }, + { + "memberIndex": 36, + "proTxHash": "a36edfac56f7f1b0f58aa793115fbd53d792315857033fb32a862507a3f060ff" + }, + { + "memberIndex": 37, + "proTxHash": "c9d43a69bd9effdaed579edc901c5d848711481047c9cc76bad8232d8f329dcd" + }, + { + "memberIndex": 38, + "proTxHash": "d82152084615c73d79f3eb8b0ec6a61e6d0f94c4cdcf26f773f0e42b72176f6f" + }, + { + "memberIndex": 39, + "proTxHash": "869f7f2054a6ed4241967afb74c3b1a07701d2772b368eb0bbfd2e3365adf6f3" + }, + { + "memberIndex": 40, + "proTxHash": "5f1a70a350d21f673d93fae45a50c0362947366e46c96bade51b7933f0cada3e" + }, + { + "memberIndex": 41, + "proTxHash": "024608d03beb6a6065f14a29a837c68ae449ac1e17056819366ca0b72b6dd81f" + }, + { + "memberIndex": 43, + "proTxHash": "254bcd3b28d696ce9d468cd521e6be3f7eb01da32d8bf9fdf34868baaf09d9e7" + }, + { + "memberIndex": 44, + "proTxHash": "0ae626ed4ee06c1f042b2eaa9669302a2e60a0df8137843b39de53f2c3e265aa" + }, + { + "memberIndex": 45, + "proTxHash": "cfa6f7b58c78f827c15e8f1b6a5a2a3a92140101719006d8226a363e2c0c8e5c" + }, + { + "memberIndex": 46, + "proTxHash": "03811a53a20289799f56227f576915492d2cede48522cd1b3f67c6c89cdacf83" }, { "memberIndex": 47, - "proTxHash": "1c3618f7228fc4b5e5694dd1be72b633e179b1c17e57d7380992ecb1af6e5fc1" + "proTxHash": "f989866b2fadb674a1ca63746ff8bb97232d6843c95f9e805b8bc2a5ae8e768d" }, { "memberIndex": 48, - "proTxHash": "8390acf4e1db828c53804b7cb2db81db0732239c0da51a7a923e4e1e073c2cb2" + "proTxHash": "9de76b8291d00026ab0af86306023c7b90f8e9229dc04916fe1335bf5e11f15d" }, { "memberIndex": 49, - "proTxHash": "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239" + "proTxHash": "e441bbb2f056d471ae9fad83b4dd0fa691a0574eb4a373a0e59d6108614ee07e" } ], "allMembers": [ - "5eccc0b9a1a2b8a9c3511cae98a664c377e8493c35cdd120e0d71f0b6b0f62c5", - "1e17ddf8748ed5e6696255da61922bd3985fd15a33fcb2d051cf84242e89f121", - "f1eb4ac02ab1acbace0a01328e204c4fd7dec5e53a72cccac7729c5802dbeaf4", - "a288f5de676eb63dee13a618d39bd6b07ad73e9ae40148202fc5b5f32e1b0bfb", - "...", - "1c3618f7228fc4b5e5694dd1be72b633e179b1c17e57d7380992ecb1af6e5fc1", - "8390acf4e1db828c53804b7cb2db81db0732239c0da51a7a923e4e1e073c2cb2", - "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239" + "a6670caf2842a4ae5cb4bb78b3c10343456922b500693f6da043af541d58d9cb", + "77c0615fb5eb946f7f731a44eb36dc37ee77bf959e7205937d88186cacfbdc7e", + "8070c631ce9ac8850d2e95d4ed7be70171ead22ccd7f4bc9c3aee0a227f323c9", + "596be0851532a66037744afa694e4de6485f326f4638e704db93cc726866cda3", + "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239", + "9f4f9f83ecbcd5739d7f1479ee14b508f2414d044a717acba0960566c4e6091d", + "21c0923badd20f953360c586edfcbb1a830be83206e30b3f65765f7794f2a640", + "cc36055f36345b85a2b8176e79feff0ff822c490691c7f8e8d3348b4b1a1d8ac", + "4636ed7acbacbc76aba60aa7a1011688fe9ad5fd701d0bf8fc42a502ea3e6543", + "32e5ad5cf9a06eb13e0f65cb7ecde1a93ef24995d07355fac2ff05ebd5b9ddbf", + "0022afbe93054ca11ce9b67892661af4558597bacff0ab82bff05a2b4a89ca2d", + "2523dc6e034911b9004862e87b4d23a32ed6198aec177915df7893f51cd645bd", + "abe5d16432915b201cf6f11299a1abd62e5f69a2c4e8717694d1e42d96dbd580", + "f443dd87ec7981e8630ae957f295d9d226d4bd3895f59dbd80b30137a92b3735", + "6a5be5c068a0be432b7db0772b25094a59ce1f433dd2df0d410511ac641c3768", + "84435c41688c8021a25a644e6b94c9f5159aff5658ee2e12f5cea5c714c21aa3", + "2db238aa40837319ca13e27aae4333d1248475546be6cfad985a3785c0ac9bd6", + "cefb7c69f75d9fbba21f648c6205bebf9b16325956404c70af03144c1135c7d7", + "cc7041c869c7c1c0bae7c137f0cda708ad492bc89c4b8f7a40a353d90335febf", + "24e642275f5d5f17f67db502d905153cfd83ffbd3d49c90196ec01200917fb31", + "bc5c77926b0ccfcb742123a1edf2c27147888f694701df399982a862309921c8", + "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63", + "11eabc1e72394af02bbe86815975d054816fe69006fdc64c6d7a06b585e5c311", + "71cf5017c4c5f69db5c17a8cfb4c28ffc14ad1715dba2a83f0c30e534291f828", + "d567ac9cc7437848210365a0225271ec26a6a6c7d852544a6e9cbd40756075b3", + "16ef804605595f67a0e078f7ffbdd93ac55bcd22d9094cb8b61ef527c48f4c44", + "f51b426420ac4c518ad07c2bb03e434389337b4e2977d39233114d5e8ef21f69", + "2460848868c210d23c68460050f83f47a7ad00db2c47ad6f223a9b1eb04c8d54", + "49d94e4c584929320cfe159faf4f6e398f1b2d1fdaa413c01345ce23870d2ca9", + "e8b039ce3f1016b7caf781d1b0efbc11191860ec3b131fc49591402a260ba638", + "5ab82a5348b5d4c126b0c172665d364352be37c96ce442e710d4a844a6f80bf9", + "05b83104eea971582c803ded305109ecb734b582da93b8e301c6f00d6be6c496", + "c98c6303af03f7f3b2673ceece962134088e5dcc3c69a0977069c6201b26dc9b", + "f933d592d677f3409274646ddea2ffaaca77dfd4ceab7c54037a04e05fc7ee8b", + "5d40e68f65e7263d91e114b644ff7f8c9c376db63550d5ef9bc4228870c4f053", + "c24aea30305d539887223fd923df775644b1d86db0aac8c654026e823b549cd7", + "a36edfac56f7f1b0f58aa793115fbd53d792315857033fb32a862507a3f060ff", + "c9d43a69bd9effdaed579edc901c5d848711481047c9cc76bad8232d8f329dcd", + "d82152084615c73d79f3eb8b0ec6a61e6d0f94c4cdcf26f773f0e42b72176f6f", + "869f7f2054a6ed4241967afb74c3b1a07701d2772b368eb0bbfd2e3365adf6f3", + "5f1a70a350d21f673d93fae45a50c0362947366e46c96bade51b7933f0cada3e", + "024608d03beb6a6065f14a29a837c68ae449ac1e17056819366ca0b72b6dd81f", + "f0567069d4f2a2e536e46173a097b318daf03edef989f6875ca06f5c4d49abc9", + "254bcd3b28d696ce9d468cd521e6be3f7eb01da32d8bf9fdf34868baaf09d9e7", + "0ae626ed4ee06c1f042b2eaa9669302a2e60a0df8137843b39de53f2c3e265aa", + "cfa6f7b58c78f827c15e8f1b6a5a2a3a92140101719006d8226a363e2c0c8e5c", + "03811a53a20289799f56227f576915492d2cede48522cd1b3f67c6c89cdacf83", + "f989866b2fadb674a1ca63746ff8bb97232d6843c95f9e805b8bc2a5ae8e768d", + "9de76b8291d00026ab0af86306023c7b90f8e9229dc04916fe1335bf5e11f15d", + "e441bbb2f056d471ae9fad83b4dd0fa691a0574eb4a373a0e59d6108614ee07e" ] } }, "minableCommitments": { + "llmq_50_60": { + "version": 1, + "llmqType": 1, + "quorumHash": "000000000122768294b19a5f6750094f6e9caa135c0826372d0538d4ceb910bc", + "signersCount": 0, + "validMembersCount": 0, + "quorumPublicKey": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } } } {% endhighlight %} diff --git a/_includes/devdoc/ref_p2p_networking.md b/_includes/devdoc/ref_p2p_networking.md index d72f733f..ca524ae7 100644 --- a/_includes/devdoc/ref_p2p_networking.md +++ b/_includes/devdoc/ref_p2p_networking.md @@ -2963,21 +2963,75 @@ contributions to all other members. | 32 | proTxHash | uint256 | The ProRegTx hash of the complaining member | 1-9 | vvecSize | compactSize uint | The size of the verification vector | 48 * `vvecSize` | vvec | BLSPubKey[] | The verification vector +| 48 | ephemeralPubKey | BLSPubKey | Ephemeral BLS public key used to encrypt secret key contributions +| 32 | iv | uint256 | Initialization vector | 1-9 | skCount | compactSize uint | Number of encrypted secret key contributions -| 32 * `skCount` | skContributions | byte[] | Secret key contributions encrypted to recipient masternodes’ BLS public operator key +| (1 + 32) * (`skCount`) | skContributions | byte[] | Secret key contributions encrypted to recipient masternodes’ BLS public operator key.

Each contribution consists of:
- Size: 1 byte
- Secret Key: 32 bytes | 96 | sig | byte[] | BLS signature, signed with the operator key of the contributing masternode More information can be found in the [Contribution phase section of DIP6](https://github.com/dashpay/dips/blob/master/dip-0006.md#2-contribution-phase). + The following annotated hexdump shows a `qcontrib` message. (The message header has been omitted.) {% highlight text %} +01 ........................................ LLMQ Type: 1 (LLMQ_50_60) +cb9a1552340175a8232437eb8ceceaea +4b90a0f75caff20ee12d230b00000000 ........... Quorum Hash + +cd1c97c52ccf163ee5dc264d411efc90 +b07729cd34d9d2e7c7b3ca4b2a4e77cf ........... ProRegTx Hash + +1e ......................................... Verification Vector Size: 30 + +Verification Vector (Truncated) +| 8da71ba5030e28c6c4de5e0eb1660d0f +| a9fd21ef4fef700a556f10286c9c34fb +| beb36fffb5b2a552a40d6c8e27aac338 +| [...] +| 99d8649d226261162bcb5a11617d1732 +| 553b8358d85b1d9e12a88eb3e979fb7c +| e49b5a21a82a74e9d06233199cb73db4 ......... Verification Vector (1440 bytes) + +8d664929b596cdc8eb835d652944d61b +7fd21fd60ba0288af4f9e3a10658c8a8 +56467082c728e2037791166705ada03a ........... Ephemeral BLS Public Key + +93037a05b65adad6f5d44edc43500bff +71605f0e5f90ab92e3e0b46461c1c64d ........... IV Seed + +32 ......................................... Contribution count: 50 +Contributions +| Secret Key Contribution #1 +| | 20 ..................................... Contribution Size: 32 bytes +| | | 31f3e8e5b2cc2063ee7fd1dd469dca12 +| | | 4bdf506ee46fe825d5537aa3ce838225 ..... Encrypted Secret Key contribution +| +| Secret Key Contribution #2 +| | 20 ..................................... Contribution Size: 32 bytes +| | | a6b3ff696ffc5e0c0a9b444c515edc48 +| | | 5a9ccea0268c2a445fac5e24feda51a9 ..... Encrypted Secret Key contribution +| +| [...] .................................... 47 contributions omitted +| +| Secret Key Contribution #50 +| | 20 ..................................... Contribution Size: 32 bytes +| | | 25f54cff411a577db9a416a60067f512 +| | | 0750c77720207eb1484c90767b72faf8 ..... Encrypted Secret Key contribution + +81f1003546f6735849c5691af93d324d +3a719fc4bb6d719907de3bce9833228e +648d03cd80666d70600fa8c936d30046 +07bd444af3e494fb2a21273fcfa51986 +3c4e139c67d2ffe0df07ac27ae63a0c8 +e000da1aeda5f98ec9e64b801681bfc1 ........... BLS signature (Operator Key) {% endhighlight %} ---> {% endautocrossref %} @@ -2992,7 +3046,7 @@ message header has been omitted.) intra-quorum communication and is only sent to the masternodes in the LLMQ and nodes that are monitoring in Watch Mode for auditing/debugging purposes. -The `qcomplaint` message is used to notify other members of the DKG process of +The `qcomplaint` message is used to notify other members in the DKG process of any members that provided an invalid secret key contribution. | Bytes | Name | Data type | Description | @@ -3009,14 +3063,35 @@ any members that provided an invalid secret key contribution. More information can be found in the [Complaining phase section of DIP6](https://github.com/dashpay/dips/blob/master/dip-0006.md#3-complaining-phase). + The following annotated hexdump shows a `qcomplaint` message. (The message header has been omitted.) {% highlight text %} +01 ......................................... LLMQ Type: 1 (LLMQ_50_60) +bc10b9ced438052d3726085c13aa9c6e +4f0950675f9ab1948276220100000000 ........... Quorum Hash + +cbd9581d54af43a06d3f6900b5226945 +4303c1b378bbb45caea44228af0c67a6 ........... ProRegTx hash + +32 ......................................... Bad member bitvector size: 50 +00000000000400 ............................. Bad members + +32 ......................................... Complaints bitvector size: 50 +00000000000000 ............................. Complaints + +98e148f112fc46d233eeee230472b305 +0b80b2a675cf7699f97412cce3606a3c +863c89aa68ed1608ed9a6503dfd1d8aa +01c7a15e70cdc45afe653beaaf399aeb +9b4f44cdf5eaafe223807f30c35a97fd +e9015178f6d642b7b25c4fd7c4ef3030 ........... BLS signature (Operator Key) {% endhighlight %} ---> {% endautocrossref %} @@ -3051,15 +3126,39 @@ An `SKContribution` consists of: More information can be found in the [Justification phase section of DIP6](https://github.com/dashpay/dips/blob/master/dip-0006.md#4-justification-phase). - {% endautocrossref %} @@ -3085,18 +3184,51 @@ verification and selection of the final commitment. | 1-9 | validMembersSize | compactSize uint | Bit size of the `validMembers` bitvector | (`valid`
`MembersSize` + 7) / 8 | validMembers | byte[] | Bitset of valid members in this commitment | 48 | quorumPublicKey | uint256 | The quorum public key -| (`complaints`
`BitSize` + 7) / 8 | quorumVvecHash | byte[] | The complaints bitvector +| 32 | quorumVvecHash | byte[] | The hash of the quorum verification vector | 96 | quorumSig | BLSSig | Threshold signature, signed with the threshold signature share of the committing member | 96 | sig | byte[] | BLS signature, signed with the operator key of the contributing masternode More information can be found in the [Commitment phase section of DIP6](https://github.com/dashpay/dips/blob/master/dip-0006.md#5-commitment-phase). + The following annotated hexdump shows a `qpcommit` message. (The message header has been omitted.) {% highlight text %} +01 ......................................... LLMQ Type: 1 (LLMQ_50_60) +cb9a1552340175a8232437eb8ceceaea +4b90a0f75caff20ee12d230b00000000 ........... Quorum Hash + +59c38b8d6a0664411f92a6326e8ef070 +7ecf185405252854ddb477d89127a32d ........... ProRegTx hash + +32 ......................................... Valid member bitvector size: 50 +ffffffffffff03 ............................. Valid members + +102809b8649209a15fceb3984014eb39 +70ca9bd2464b2f84353a3353f4d612eb +7ca6daaf723170cdbdad40c5cf44f87b ........... Quorum BLS Public Key + +17431ce7dfecb9bba4ccba5921514d24 +fe267c61078bdfe29d90774a3b766ad5 ........... Quorum Verification Vector Hash + +94f7417e0ed56ada7116cf4f1e400748 +deb2e2040babd540f21925b2eec8d4df +75d3e0fc3323d083db76f66ce6128a13 +0f1b2c4725076dae2283bbecbf2e1230 +72cc9cec244337008bf82a670ab9e2ee +6220dd736a1a70c9ca87867ca55f8665 ........... BLS Threshold signature + +85723fe503bba8ac814eab0f28f1fd07 +49927528c01b635d11d3f2843ce3f7e1 +6223c7e9a9e1f70916159c965acae8bf +09d16dc85267ec4081907adc966eae69 +b6a5077267fdc61cdb192faffa27bed9 +2883559bab2ab81cef6253452622b30c ........... BLS signature (Operator Key) {% endhighlight %} --> @@ -3139,14 +3271,47 @@ valid final commitment. More information can be found in the [Finalization phase section of DIP6](https://github.com/dashpay/dips/blob/master/dip-0006.md#6-finalization-phase). + The following annotated hexdump shows a `qfcommit` message. (The message header has been omitted.) {% highlight text %} +0100 ....................................... Message Version: 1 +01 ......................................... LLMQ Type: 1 (LLMQ_50_60) +cb9a1552340175a8232437eb8ceceaea +4b90a0f75caff20ee12d230b00000000 ........... Quorum Hash + +32 ......................................... Signer bitvector size: 50 +ffffffffffff03 ............................. Signers + +32 ......................................... Valid member bitvector size: 50 +ffffffffffff03 ............................. Valid members + +102809b8649209a15fceb3984014eb39 +70ca9bd2464b2f84353a3353f4d612eb +7ca6daaf723170cdbdad40c5cf44f87b ........... Quorum BLS Public Key + +17431ce7dfecb9bba4ccba5921514d24 +fe267c61078bdfe29d90774a3b766ad5 ........... Quorum Verification Vector Hash + +083388b91a2f8f7f4ea35469f25ee16a +21b3e03b02936675897f74424d6de748 +66b34dcc5861fd3f5f661ea1ed124a08 +0b165f21b1f2db18c4c37c82f8a8d350 +9a6f52a14c643dab71a4dced78ae9a42 +dc982e89a92606df537b8918881e9c95 ........... Quorum BLS Recovered Threshold Sig + +0d131c7062253671f9c8ebb39a9b0057 +d78dc67e236b55086cbb0624c7f4abcc +0a26557bfad3092bd38ded4e3cca6c43 +0dda2e73a99ca3d359631cb99a121c5e +92cea06ef4c03bb18ad9e90559104550 +c8a042dc51aa58a26c134405fc3234ff ........... Quorum Aggregate BLS Sig {% endhighlight %} ---> {% endautocrossref %}