mirror of
https://github.com/bitcoin/bips.git
synced 2026-04-20 16:28:39 +00:00
BIP-352: add test vector for edge case - input key intermediate sum zero
Exercises [A, -A, A] input key pattern where the intermediate sum hits zero after the first two keys, but the final sum is non-zero. Implementations that validate after each pairwise addition (rather than summing all keys first) will incorrectly reject this case.
This commit is contained in:
@@ -3186,6 +3186,140 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"comment": "Input keys intermediate sum is zero but final sum is non-zero",
|
||||
"sending": [
|
||||
{
|
||||
"given": {
|
||||
"vin": [
|
||||
{
|
||||
"txid": "3a286147b25e16ae80aff406f2673c6e565418c40f45c071245cdebc8a94174e",
|
||||
"vout": 0,
|
||||
"scriptSig": "",
|
||||
"txinwitness": "0247304402203e5537fa8c876b3475e7efe4f1474b0f48b7a6e4169179db5de9bb5b55ad1bd10220200e06f8f4d29dbc48bbcdf90df3278e798ce6cbf3c9fbf90427599fde147867012102557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975",
|
||||
"prevout": {
|
||||
"scriptPubKey": {
|
||||
"hex": "00149d9e24f9fab4e35bf1a6df4b46cb533296ac0792"
|
||||
}
|
||||
},
|
||||
"private_key": "a6df6a0bb448992a301df4258e06a89fe7cf7146f59ac3bd5ff26083acb22ceb"
|
||||
},
|
||||
{
|
||||
"txid": "3a286147b25e16ae80aff406f2673c6e565418c40f45c071245cdebc8a94174e",
|
||||
"vout": 1,
|
||||
"scriptSig": "",
|
||||
"txinwitness": "0247304402207fdad0faf46edc54f5a5c67d33b2fa8d3f1fdc869381fd96e659f9e0c470ab1e022044f0d973339618b18667cef9a6251817f7f431f7f2b252a8cb760ccb40e7d823012103557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975",
|
||||
"prevout": {
|
||||
"scriptPubKey": {
|
||||
"hex": "00149860538b5575962776ed0814ae222c7d60c72d7b"
|
||||
}
|
||||
},
|
||||
"private_key": "592095f44bb766d5cfe20bda71f9575ed2df6b9fb9addc7e5fdffe0923841456"
|
||||
},
|
||||
{
|
||||
"txid": "3a286147b25e16ae80aff406f2673c6e565418c40f45c071245cdebc8a94174e",
|
||||
"vout": 2,
|
||||
"scriptSig": "",
|
||||
"txinwitness": "0247304402203e5537fa8c876b3475e7efe4f1474b0f48b7a6e4169179db5de9bb5b55ad1bd10220200e06f8f4d29dbc48bbcdf90df3278e798ce6cbf3c9fbf90427599fde147867012102557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975",
|
||||
"prevout": {
|
||||
"scriptPubKey": {
|
||||
"hex": "00149d9e24f9fab4e35bf1a6df4b46cb533296ac0792"
|
||||
}
|
||||
},
|
||||
"private_key": "a6df6a0bb448992a301df4258e06a89fe7cf7146f59ac3bd5ff26083acb22ceb"
|
||||
}
|
||||
],
|
||||
"recipients": [
|
||||
{
|
||||
"address": "sp1qqgste7k9hx0qftg6qmwlkqtwuy6cycyavzmzj85c6qdfhjdpdjtdgqjuexzk6murw56suy3e0rd2cgqvycxttddwsvgxe2usfpxumr70xc9pkqwv",
|
||||
"scan_pub_key": "0220bcfac5b99e04ad1a06ddfb016ee13582609d60b6291e98d01a9bc9a16c96d4",
|
||||
"spend_pub_key": "025cc9856d6f8375350e123978daac200c260cb5b5ae83106cab90484dcd8fcf36"
|
||||
}
|
||||
]
|
||||
},
|
||||
"expected": {
|
||||
"outputs": [
|
||||
[
|
||||
"7e88a7536c90770be4d2693a84ed03abe3fdcc5a29f96ec3433effec3b0c2194"
|
||||
]
|
||||
],
|
||||
"shared_secrets": [
|
||||
"037dc4e5904ab4770dbdbb628860b54265fdbb7810b8afdf9f582fedaabfdebef0"
|
||||
],
|
||||
"input_private_key_sum": "a6df6a0bb448992a301df4258e06a89fe7cf7146f59ac3bd5ff26083acb22ceb",
|
||||
"input_pub_keys": [
|
||||
"02557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975",
|
||||
"03557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975",
|
||||
"02557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"receiving": [
|
||||
{
|
||||
"given": {
|
||||
"vin": [
|
||||
{
|
||||
"txid": "3a286147b25e16ae80aff406f2673c6e565418c40f45c071245cdebc8a94174e",
|
||||
"vout": 0,
|
||||
"scriptSig": "",
|
||||
"txinwitness": "0247304402203e5537fa8c876b3475e7efe4f1474b0f48b7a6e4169179db5de9bb5b55ad1bd10220200e06f8f4d29dbc48bbcdf90df3278e798ce6cbf3c9fbf90427599fde147867012102557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975",
|
||||
"prevout": {
|
||||
"scriptPubKey": {
|
||||
"hex": "00149d9e24f9fab4e35bf1a6df4b46cb533296ac0792"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"txid": "3a286147b25e16ae80aff406f2673c6e565418c40f45c071245cdebc8a94174e",
|
||||
"vout": 1,
|
||||
"scriptSig": "",
|
||||
"txinwitness": "0247304402207fdad0faf46edc54f5a5c67d33b2fa8d3f1fdc869381fd96e659f9e0c470ab1e022044f0d973339618b18667cef9a6251817f7f431f7f2b252a8cb760ccb40e7d823012103557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975",
|
||||
"prevout": {
|
||||
"scriptPubKey": {
|
||||
"hex": "00149860538b5575962776ed0814ae222c7d60c72d7b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"txid": "3a286147b25e16ae80aff406f2673c6e565418c40f45c071245cdebc8a94174e",
|
||||
"vout": 2,
|
||||
"scriptSig": "",
|
||||
"txinwitness": "0247304402203e5537fa8c876b3475e7efe4f1474b0f48b7a6e4169179db5de9bb5b55ad1bd10220200e06f8f4d29dbc48bbcdf90df3278e798ce6cbf3c9fbf90427599fde147867012102557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975",
|
||||
"prevout": {
|
||||
"scriptPubKey": {
|
||||
"hex": "00149d9e24f9fab4e35bf1a6df4b46cb533296ac0792"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
"7e88a7536c90770be4d2693a84ed03abe3fdcc5a29f96ec3433effec3b0c2194"
|
||||
],
|
||||
"key_material": {
|
||||
"spend_priv_key": "9d6ad855ce3417ef84e836892e5a56392bfba05fa5d97ccea30e266f540e08b3",
|
||||
"scan_priv_key": "0f694e068028a717f8af6b9411f9a133dd3565258714cc226594b34db90c1f2c"
|
||||
},
|
||||
"labels": []
|
||||
},
|
||||
"expected": {
|
||||
"addresses": [
|
||||
"sp1qqgste7k9hx0qftg6qmwlkqtwuy6cycyavzmzj85c6qdfhjdpdjtdgqjuexzk6murw56suy3e0rd2cgqvycxttddwsvgxe2usfpxumr70xc9pkqwv"
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"priv_key_tweak": "3d5b7a284108f93b9fe78f2c300d2ca9ef3b4e0cd0de673fc72990f2a4f417b9",
|
||||
"pub_key": "7e88a7536c90770be4d2693a84ed03abe3fdcc5a29f96ec3433effec3b0c2194",
|
||||
"signature": "f8d5222f1a682215c40ab677f2104606f2a0e6c5cb1a2d248d970fb61d4eadb31702353e6b41ea5a9b24817efa0eaf535552eeee8a794b662c3cf303b6c86672"
|
||||
}
|
||||
],
|
||||
"tweak": "039c68bacb7efbf2175d781822f460afc4839a5798fabb055b50d939231bf57bb6",
|
||||
"shared_secret": "037dc4e5904ab4770dbdbb628860b54265fdbb7810b8afdf9f582fedaabfdebef0",
|
||||
"input_pub_key_sum": "02557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"comment": "Maximum per-group recipient limit K_max is exceeded (2324 matches): sending fails, receiver doesn't scan beyond limit",
|
||||
"sending": [
|
||||
|
||||
Reference in New Issue
Block a user