{"scheme":"ERC-5564 secp256k1, schemeId 1","seed":"robyn-stealth-review-v1","count":20,"algorithm":["shared = ephPriv * viewPub  (ECDH, compressed point)","sHash  = keccak256(compressed(shared))","tweak  = sHash mod n","stealthPub = spendPub + tweak*G","address = last20(keccak256(uncompressed(stealthPub) without 0x04))","viewTag = first byte of sHash","recipient: stealthPriv = (spendPriv + tweak) mod n, tweak from viewPriv * ephPub"],"howToReview":["1. Implement the algorithm above from EIP-5564 yourself, in any language.","2. Regenerate the inputs: spendPriv = sha256(seed|spend|i), viewPriv = sha256(seed|view|i), ephPriv = sha256(seed|eph|i).","3. Compare every stealthAddress, viewTag and recovered privateKey against the vectors below.","4. Confirm recovered.controls == out.stealthAddress for every vector — if it does not, the scheme is broken.","5. Confirm viewTag is NOT predictable from ephemeralPubKey alone. That specific defect shipped here."],"whatWeWantChecked":"whether our reading of EIP-5564 is correct. Our own tests cannot answer that, because the same author wrote the implementation, the tests and the harness.","vectors":[{"i":0,"in":{"spendPriv":"0x9b8283c716471aef4f9eea14ea7d91248d77aad382f613915e120a89b633b4b2","viewPriv":"0x90048ec99ab335f5d20f422bc0f788a6f3143f80fe1273c5cdb5149368604b0d","ephPriv":"0x5ca41c4f453f49d11be22de87610c5e0100da2ee4e31b85181fdbd148834332c","spendPub":"0x03da488dc8874ad77e47765621e3919387e7d868a3fc645b23e1cc30eb61bde9da","viewPub":"0x030471725118daa2fad1894d4e6e25b4293cdbb39c78e311d14672fabb7631bfdd"},"out":{"stealthAddress":"0xc80407c55cc66A2B2A094C323bD8229E07D57840","ephemeralPubKey":"0x034f7c0cf93f4af7237640901b33af55262d942865279d0c1caea9c5d79ab250d0","viewTag":"0xba"},"recovered":{"privateKey":"0x56327e58d20530597b6a3b7a68a5bd042ea4bdfe5f607850c6cd75230752ea67","controls":"0xc80407c55cc66A2B2A094C323bD8229E07D57840"}},{"i":1,"in":{"spendPriv":"0xc325f5d1f76e6fc24fb6ff580d2d503b80bcc923358be65184891a00804ce597","viewPriv":"0xc55a7a53b6c14518481965de36969cda8d57965dd11605ea7f2da513a030202b","ephPriv":"0x98224e0c5e4c1de72b65f7e3f6216845818c0b2c6195a1301de092de030aa8da","spendPub":"0x0319a46c754a4023ab30bc5d289339d6a68769acfefee969f73601c02e0d9a300c","viewPub":"0x03be35b0f8a67b088021896f96fd088ab70417db716857d5e4be4b0780956e00ca"},"out":{"stealthAddress":"0x1719012709c9C8AD0ccbfCBAa070FF1251C8a8c4","ephemeralPubKey":"0x027ffbdea9afd7ee974dc5c86495be4a10cd27ebb798a6df228df92226a613e960","viewTag":"0x55"},"recovered":{"privateKey":"0x185bc7883c581d19dd7e5d741a97d812e8abf044545b55c0437e309d4e990c68","controls":"0x1719012709c9C8AD0ccbfCBAa070FF1251C8a8c4"}},{"i":2,"in":{"spendPriv":"0x350ae6226c1a18693e38ba618005ee07ae54cee3b6d978f61e4c066b499e03fd","viewPriv":"0x53975b3402cc720b8a108865c5a01a830de323ccba476c0da57b7b1d6525e347","ephPriv":"0xd89ffe9443ed78d3200f4dabe3f3f7f34e83259c997ed359c7d6d2fd1b0150ed","spendPub":"0x03ccad245a34edb65513c16b0bd26550a6006aa58cc3a64bcf0d2b65f75ba417fb","viewPub":"0x0292cfc7b6c6231c7c1d00caaecf3d4af7794ed4a2225229ce09fa46e14791845e"},"out":{"stealthAddress":"0x6affCA46949704e8B2dFbf3A8297a407634Cd802","ephemeralPubKey":"0x02d344ddc2831b711abfd4c885c37f34e299886ebaff783d75db7aa8fe5c677e20","viewTag":"0x1c"},"recovered":{"privateKey":"0x513f00ec0472b9fd8fe35c2d13ba4b745f2b8d22891f3f965189915d0442bc4d","controls":"0x6affCA46949704e8B2dFbf3A8297a407634Cd802"}},{"i":3,"in":{"spendPriv":"0xe5778eee0f417bd02746074114b4088f1a65bd9a4a8011d209c358da88a6779b","viewPriv":"0x2943626b57d048f08a33740b3feb49380112129f8c2d4984f09aa51a983aacce","ephPriv":"0x807ae3b54fa89d8b89e3e603ff2c9b8b930e2b7ac445759556daa4bc92fef1db","spendPub":"0x03c7f4c445367ad1d6108112537c238e6a0b3473b6a439ef62fc1933b385868e24","viewPub":"0x032632cb7341346b0ba55e1fc547fd667288c11bfc1182803d021c1d8895f32982"},"out":{"stealthAddress":"0x87E88D102853cEd609297F3C4C74992F2b948595","ephemeralPubKey":"0x02738210234790a93afa23e9872144d6e835c9ae5bec090d6ba38e329dc9c3c561","viewTag":"0x8f"},"recovered":{"privateKey":"0x7551b93758772398ba2ba6e633cba2cfeeff1fa355428f8ff238fb614f2fc499","controls":"0x87E88D102853cEd609297F3C4C74992F2b948595"}},{"i":4,"in":{"spendPriv":"0x52e4f71072d8109be9d8eff52a9fe52f2c2648d05c69baebac3323895a2ee207","viewPriv":"0x9286d21cddae075cd4e748784a0ee5e5db21f8149d455cf629f87eac5117ec68","ephPriv":"0x32a66ab21b9c7523bd0ba1d22120195f5fb29e6c763b2cb2aa43bb64a5ec542b","spendPub":"0x032c43fe521d18a929380500cc1114d76272607badd46463bf2deadb9c16eabeef","viewPub":"0x035d96c35de0c614acf86a0e684ad60be62eeea14048a56aaf6862ec4b248ceee1"},"out":{"stealthAddress":"0x652fbf1f5179752E294F56F8c9D2A690ACA059dc","ephemeralPubKey":"0x0277ded2c0ef01e074c9b6c7c50a1c10f5856cb05990eecc6719c14238dc4c93f0","viewTag":"0xf3"},"recovered":{"privateKey":"0x45ffe0ac3f40ecee6a171ef16bdb5b55647b61547b1ecf81cc0e3ddf14d44793","controls":"0x652fbf1f5179752E294F56F8c9D2A690ACA059dc"}},{"i":5,"in":{"spendPriv":"0xb7189af2545614e7d693453f4ebc222def4a1d3f0c2dc61b0764611923e78f97","viewPriv":"0xd70077493bb09033d38ea3731c26ffca480f40709e2b930de3191e673a2cd335","ephPriv":"0x836fc251764deac88bf5e4b1a71d7530580fcec7d9026957633616da986100d5","spendPub":"0x0290801107567d1b364113bbee408cc5c411d30e6c08f828cc265f68dd1a28f8b6","viewPub":"0x036ef8355eb99a5a3468e616168153cd0b019f7843ebaf8ee75af9cc37d4e7a766"},"out":{"stealthAddress":"0x6E52aBAc7050F83f3D2b26D3CB8C8679de5C49eB","ephemeralPubKey":"0x024cbfa324fdec9d173a6ce3bbd05b877d74eb10b5a9647464a100141fbb460a20","viewTag":"0x84"},"recovered":{"privateKey":"0x3bc79fb029fcf04e4a2c084f0a4497dc229fa2594405b5febfbfd1930000c8e8","controls":"0x6E52aBAc7050F83f3D2b26D3CB8C8679de5C49eB"}},{"i":6,"in":{"spendPriv":"0xc4e1d2f10e195d9ec889ed7761d88c5d482cb305fb089f3189e59085ce765633","viewPriv":"0x3591a1a679846f393bd7718509ead6b6a9a3ffd54b66aa97129585b0c1a8cf74","ephPriv":"0x5252f77bd657472946e0a75dc320f68566757dddcdab615e3b521759317aa763","spendPub":"0x03e160e18a151ef3b4b07fc49fa728f45aac2e927e31c812de5bdb78b0080c416a","viewPub":"0x0266a08339ba39ed6d7bb2245739157fa03e9315d6f500961725486033e65c8e43"},"out":{"stealthAddress":"0x6BA3Bfa43fE7B90eF3699c62187e068c7e89c16f","ephemeralPubKey":"0x0204f800a787ff806f05d526de3ba94fcd1b64622af4be6dc43dcd97e8aa9fab57","viewTag":"0x8e"},"recovered":{"privateKey":"0x53c3b230facd7fd0692e96bf3c56df786d16815aca295dc1cc456c1dfc7c1b92","controls":"0x6BA3Bfa43fE7B90eF3699c62187e068c7e89c16f"}},{"i":7,"in":{"spendPriv":"0x0cb28be409d2bd7c283c150061f39202bc5cbcd3e90e89701f97634a07992abd","viewPriv":"0x6b42c1b7cb77c8de9c2f14a759dd942ad034635096c9e3fd85e01ada33d76085","ephPriv":"0x31ed2952cfb7dc3fe9d244e85dcc45429d0c41ef9a1364af2288ca06162ce814","spendPub":"0x0256d140092ffabd2a3b93f5a0986b328aa093682e1ec173cd2a9c120c160c4b81","viewPub":"0x02ce9346d57ccb6b561a259f502394d8f3a5d4ef8b799cf1eac214197483d5ef8c"},"out":{"stealthAddress":"0x004B557077594059bbb2aAC244D5938Dc2E6825a","ephemeralPubKey":"0x02598560b8e1f1d0d83c170f89e665746eadf64fea4c2a936de9e265745236f48d","viewTag":"0x46"},"recovered":{"privateKey":"0x539da2e0f5e64298ed823a8eadca4be5a9e13cfe16bf64187034aa87019b6ae3","controls":"0x004B557077594059bbb2aAC244D5938Dc2E6825a"}},{"i":8,"in":{"spendPriv":"0xb51d4e117e2f67c9a86f06259a428fb2dfeed94c986a58200f83cad847fac1eb","viewPriv":"0xfed4c964446082fd6e63296d58b8f215ad425cd85727e969c90e872d77c4ed67","ephPriv":"0x755469ebdd78273558d8e9598c2f0f6a88d2c476080534ea34b2eddfd5692bdf","spendPub":"0x0246f0e58308b57c7a38f97870647ce9b53400d178268226603bdb3382b3d4a243","viewPub":"0x02056b16ffe44ca073518575036c105981d023f912e9d3b4b3e5acafb84a90d264"},"out":{"stealthAddress":"0x0ff5a181A10696862828Cf3D3b4F7508650E6C46","ephemeralPubKey":"0x03e95279ed54c4cd7c49319c3804072b4c1d06383908233c5c33e41c71736e7ffc","viewTag":"0xa1"},"recovered":{"privateKey":"0x56b4bf66823f0daf10025f0b37858159ba68f60e3f625f916b6c5dbbe10e6b04","controls":"0x0ff5a181A10696862828Cf3D3b4F7508650E6C46"}},{"i":9,"in":{"spendPriv":"0xf5ad704d5b5e5389399ac65f8eed4371944dc68914dbc00fdae85968548e7154","viewPriv":"0x423bfe63bff10dadb08a9050b03c8dcd8f748405d1872d4ede7d143c04657a79","ephPriv":"0xeb3342d42021198347b85924a40d8497d727296afb80944770bdc9b12142308f","spendPub":"0x02070ca25cbe507e0c6bc7a18e280333d6b0680f1e9eb4e4d8104fe614345751d8","viewPub":"0x023583cba1790e40441aa1c32727fe5fe5bb2778085cd44fdde154b0507de38703"},"out":{"stealthAddress":"0x26c1922310d64E238Af40bBb1e1d6D731D712Eff","ephemeralPubKey":"0x033ca0caabc131ee4f130c4af33e417271718debe0585285f9161bfe97ea7d0e49","viewTag":"0xb9"},"recovered":{"privateKey":"0xaee046784e80ba7bdd981abe230bf84ca0ab91ab6d31746f7e93946dac00168a","controls":"0x26c1922310d64E238Af40bBb1e1d6D731D712Eff"}},{"i":10,"in":{"spendPriv":"0xc651e216d423eeba3e74ca1b6f2f30867b1bb21ca429609e5541a42d72e97f87","viewPriv":"0x1bb67245b4789c7fc15e3fd9a6e6573679eb33397648d6d8fd230c7b2dafeec8","ephPriv":"0x0a2fdb7868d16bf4cecfc6654ef3a41b4489c560c48e0b9ce76ad7baa0d30cfb","spendPub":"0x02716f18cc7d66aa795e8c4c265b28761da87727c2124aea63919bd308650d2eb3","viewPub":"0x0287154e960c1964f0b72e1c97bae9f1da6d28f8b380358427e4ce7ca7e7839154"},"out":{"stealthAddress":"0x6C0a8E9FD78597fbe20252eeBe1ee948F975aF7e","ephemeralPubKey":"0x036cd15232a347078a4cc13a0867f2d28a72a48d04f8b4a095719d531b30bcb83d","viewTag":"0xcc"},"recovered":{"privateKey":"0x9277702ca3a2053081ec0d8e2d3d68e3becb86df44ada2df4d25ee367f41192f","controls":"0x6C0a8E9FD78597fbe20252eeBe1ee948F975aF7e"}},{"i":11,"in":{"spendPriv":"0x980acbf92d1bd8b2beac8024c2f0b73a51852dfe0cc9814607b25c6ad0295478","viewPriv":"0xa8ec34710b93739c64ffca2535b2d1bed49c5313fda807202dd54a36af33691c","ephPriv":"0x1ea50d8433d76c5aa7ecf5af3d26f1afe7fcbc368ff8f00c4139a134f168bd11","spendPub":"0x0280b44b8970e3b5e1f1c07e3f1c665739eb3feb711e543600a6ae20f14c602a81","viewPub":"0x03cca11e0ee18985037cd6abdd684f8205061909df2ceb6f5f081641e7e16cfc29"},"out":{"stealthAddress":"0x357a4eC8E42acB5DB654DB44778DDb6B30648525","ephemeralPubKey":"0x02217b12e3750e6c13b77811093a7b4413cd3146339bda6315ec7f7c1bbe1313dc","viewTag":"0xba"},"recovered":{"privateKey":"0x52490b29c41f611803aa4650c4267560138b968c44657aa9da21ec3dbefbdbba","controls":"0x357a4eC8E42acB5DB654DB44778DDb6B30648525"}},{"i":12,"in":{"spendPriv":"0xafda964bde4e93706ae9326041b15e0efe937123402d9df54d8a9386d941f3e0","viewPriv":"0xe0c796b22903b0bf9a7d15360093446116a70fa88449e1971f96e7b02e841699","ephPriv":"0xd794479ca13d0fdca3aa0e93a18f7174931eabb011e1152003b9a28017f4750e","spendPub":"0x02c302cbabf4fd92e5b8b2ec00c8b27ba846eccb3bb7a19a129dc327437a951197","viewPub":"0x028d5ac1aca354a227ca48bda89fcb4f99c6e064f90084c4efe2c3d4c0bd923764"},"out":{"stealthAddress":"0x0eCE0795C2a8F55a638609e267e5e2Daa6D89224","ephemeralPubKey":"0x03fe91e7255b85cd9774b0bf8396cf3f28b5fd3180febcc21262cad547ec799d84","viewTag":"0x1a"},"recovered":{"privateKey":"0xca02e32690ee5f0249d117e7640943d17ec8a11c6e340f4f374a882192a22578","controls":"0x0eCE0795C2a8F55a638609e267e5e2Daa6D89224"}},{"i":13,"in":{"spendPriv":"0xe4c5bc24b34aecad83e1a8bc0e826e5e5b6d87fe31f0ce371236544b5b923ecb","viewPriv":"0xcf30f03165aed76f78be58e262d7fd6e995e5816b782e111549792565ba689bf","ephPriv":"0x0b08939ac3b0fba6e6654ad0997fe72f9418236b881cc9a071e8d888538b3e82","spendPub":"0x0321782584b606ee13c0a59b32636c492f072fa524da34c7b531df91a61e90a176","viewPub":"0x021be4ee3d79df6aa24cc99a08c6d39c92a11f0e05f384ddbad22ea040b75eb0e5"},"out":{"stealthAddress":"0x516fA9DE9ed4BfEdA05ddac781E11eB9b023d3e9","ephemeralPubKey":"0x034631d4028fe9efd3bfdd5a3c8d4d1cd55b9932159607995052f2bb712cae5c79","viewTag":"0x21"},"recovered":{"privateKey":"0x064c9973fda765335650841c5c0be5f4f2f60bb186fc6ddbb3f95e1354ba93ef","controls":"0x516fA9DE9ed4BfEdA05ddac781E11eB9b023d3e9"}},{"i":14,"in":{"spendPriv":"0x9218306bc36e79864b7848ad51285b7a4d7c9e9fa7936281e5a73e55883545a9","viewPriv":"0x5cbf1fa69c6d279a8eeef183e571f91456cc36ef545ce1566ea145335db98029","ephPriv":"0x8238e687b7c6701318b9b249e5ec2d4b41efc2f1a90f4bbc452aeb8fd9306351","spendPub":"0x02f7eab6e83483595cc627b67650288e137ccb0564ea0dc7e3c10c33ecb5d8d84e","viewPub":"0x02d05838fa0a0a2adf0bbe02936b828cb06a4d58d71e3d253f858962a4195bc487"},"out":{"stealthAddress":"0x2f998E826E7D8e86949333BC25d45bD3eAEfe4C2","ephemeralPubKey":"0x03ac13b668ba85a8080d9901c7efa7883d66d12e1c4f489083d395a817cdbdc315","viewTag":"0x9f"},"recovered":{"privateKey":"0x31a1d159f1afcd69a4341428bece9d96b87d6f553d335fd1d67f559069f953b4","controls":"0x2f998E826E7D8e86949333BC25d45bD3eAEfe4C2"}},{"i":15,"in":{"spendPriv":"0x6a062316788d07f2150d1f3ce28416f88b220aef236dab55760f93ea0a1f4528","viewPriv":"0xf16e449e3b4ebe192195dbc1ce5c0b549236a1804b1a960ad3e108f9980f29a5","ephPriv":"0xd3d4cd5946b1557f024a247503db7e50650432893e3a2a4ec014b69782e666f7","spendPub":"0x0310fa28ddb9bc587ad8f96b8e239fced03fd6e283917b58bae5de817066232b93","viewPub":"0x031e9db5ac5c00ade52a328c02300639da9c0661b597b13728562a7a49314b9a17"},"out":{"stealthAddress":"0x9Fb8D7c31c33fD7abf63bD4aac5A0B73E746B3D7","ephemeralPubKey":"0x02ca44b4f38134264b5592b6f084c95ea5f0982a22f97d257de8d70eded48337a4","viewTag":"0xf8"},"recovered":{"privateKey":"0x62477c3385db4198b691fbd305bfb87ad72ee16fbd19456e47d282b0c0c9ea98","controls":"0x9Fb8D7c31c33fD7abf63bD4aac5A0B73E746B3D7"}},{"i":16,"in":{"spendPriv":"0x175069e41763f09563eae4fc01a1c1850e4e0a919e0690c6c62c2f4ad6ef4982","viewPriv":"0x1f8d9cf635ad6d4590a1695ad09792edc26256438153469fb69e0d2faee824a2","ephPriv":"0x338a9a71397c6bf48bb563d732a32da3e78db8bcdcd922f6851a3294317df6d8","spendPub":"0x02f1066ec078e5bcaa0addb63c998617babfb735bcc7001af91c42d3b7a2703cc4","viewPub":"0x023cf151d9b3b8060aecff3db9081d795d062b9ba9b907a0f220113aa9b98eff26"},"out":{"stealthAddress":"0xeB298cE30426DD278185d328bd9FFe8F2B31a9E1","ephemeralPubKey":"0x02120e60a30b65505ac0ac0e4b4ba41f197c5aab0100ffa8efe83895857d43cefa","viewTag":"0x98"},"recovered":{"privateKey":"0xafb9e3af444d527a66f14a71a004fdf3d726a70320be026434e94f0ace5f2798","controls":"0xeB298cE30426DD278185d328bd9FFe8F2B31a9E1"}},{"i":17,"in":{"spendPriv":"0xb61bad72349e3bc60c61fbaadfbc4c7f8a315dd554462d341fe919ea353828c8","viewPriv":"0x7c9ca472d2fd4f387eed5ba56a707ae744f4d1d08b490218bf235342da9248b7","ephPriv":"0x84505efbc0f1affbd2b3cb86b1b00e51d08ccf4af46f8028387210a350618757","spendPub":"0x0350f74f29bde6501a02158a2353ba0cd2445f08e2188a2249fa1ab4e4430a9097","viewPub":"0x02226821086ba0cf283acc6686f6e2c5de6a1c5c4eaab00b9b15134c72ec2da8b2"},"out":{"stealthAddress":"0x7ee8031A00fe520CA7E1986178058E1bC211413A","ephemeralPubKey":"0x037032ae9e08cd29ff8389ae3ffe5032a9538d55e0acd49dac5d81c54517755283","viewTag":"0x0c"},"recovered":{"privateKey":"0xc2cc6ed5d8a5e2dbf53f60ea8ee57def3543d823e3bce35d3626f89d61519e4b","controls":"0x7ee8031A00fe520CA7E1986178058E1bC211413A"}},{"i":18,"in":{"spendPriv":"0xde56d38cd0df171b954c2165d88a4e9e4f23b0a6dbfe30bb3c780167a8add8e7","viewPriv":"0x1adc766853797b97fa706fe08b68544a64751fbc66703fca763b2e3edaa1394d","ephPriv":"0x89e186775792b91b06e17530264a793c4ea80279458e445443a802647f62c6f3","spendPub":"0x0382939186acf412679734e3581308572e7e8909ff9d5e9d0a7503962d2a959aca","viewPub":"0x03a81e084681c5e979a5d556d9510511a8fff9c5dc75c5b70c73add7015a283d61"},"out":{"stealthAddress":"0xF5F9D2D34f9277a70D4A28bDc1357b8128f07085","ephemeralPubKey":"0x03346984f09fd6866deffd98f3168a85869fff081bfd0273883ca88aba10bf5173","viewTag":"0xcc"},"recovered":{"privateKey":"0xab1ede299b545dcceb4366c95f8ccd46fff13c63e5d861e714aec0cf25bc88c2","controls":"0xF5F9D2D34f9277a70D4A28bDc1357b8128f07085"}},{"i":19,"in":{"spendPriv":"0xaece3805fe36e7ddf033448c4ab7e83c640b947f20af8f2e817001a68ecaa134","viewPriv":"0x964a0bfdd8c1269cf338904c80fa578f15924414e700a0e5a0a38fc547bb212c","ephPriv":"0xd72da44c7fa328e71f879dfaa73d88ec303eae45c940a6b7c34567fa1a3c22d2","spendPub":"0x030f7a5b5c3d1077f081f0a70e66d0c45865b9ec19bcf88ab96161e33c966ff8fa","viewPub":"0x0321ce041bdbfd3f3896624fb2b303eb5a5f8721b55ecd648e2c396326361aba80"},"out":{"stealthAddress":"0x7A836C143aB96543Aa452F085219431Cf65A303c","ephemeralPubKey":"0x0372604942102dd7505f196ea0a834341dc846e7acfcb303ef74a7166e9164db22","viewTag":"0x5e"},"recovered":{"privateKey":"0x0d3c3355b7733caa9ad027cb26a35227d8845cc3a88bbf2ed6b397005c1f4439","controls":"0x7A836C143aB96543Aa452F085219431Cf65A303c"}}]}