ChainSafe / simpleserialize.com

https://simpleserialize.com
MIT License
7 stars 6 forks source link

Potentially incorrect deserialisation #49

Closed ajsutton closed 2 years ago

ajsutton commented 2 years ago

Teku received the block below and failed to decode it. simpleserialize.com did decode it as an Altair SignedBeaconBlock but the content looks very suspicious:

0xee54f4750164000000a383eadd53dfba6e0110ee05deebde64164d44b12f8712fcb1f15738f6d80ebcc0993a0d1d7b27cbe11a4a8ff6039de817eaf547e1d89407197e21287958d5c009bad2f96f73a96400450a018adc6bf00e6be5f991519c155eef47a5cbc18385ad1a1e0000000000e6900100000000008ac77c42801cb1660b9e2639deb39a2f34432b8030ad9a4dac1d15b9b0b958b3ddd73060f80bd05a99b9bd537ce1de57d64a81346d86cd9ca8adb1ac8e7ba74b5400000093429ac7c8a9f28d397c14e1c322e3f483ec822e2d66fb28997148c859c7190a17ad96357e1dc3ad4dc6773ca673cd481305c94e21d77fa3e4a9ba2561cbd696e1bb1568e2c8fd49691cbc3b89f68e934f04e38bef20981579de8ad9819b344fa6000815801fdf3741cda8f9344bd19365ef6f7d0885aab521b11b77279fdbd210f80100000000008e1c7687971f73d3e33af1f7d14bbeaec058a5ce7e2126db104cb75f6479553c30783030303030303030303030303030303030303030190c0cdc000000110408b629000504f0c9a80000009d01000092020000870300007c04000071050000660600005b07000050080000450900003a0a00002f0b0000240c0000190d00000e0e0000030f0000f80f0000ed100000e2110000d7120000cc130000c1140000b6150000ab160000a0170000951800008a1900007f1a0000741b0000691c00005e1d0000531e0000481f00003d20000032210000272200001c2300001124000006250000fb250000f0260000e5270000e4000000ac1a1e000000000011000000000000008ac77c42801cb1660b9e2639deb346dc0104d4f0052788008012da8bed54e9013ab317074958e59a28f670c24db1064f7442f69ca240a690d5f00928f09f394ee3c23649afa45b226f6e5a6e38bfe59942188eb5176f5e0dbc5d6bd409c9b1f92d277d9bd9b3c08ba8e2a5fe57e911096a9790da14e65712929af5fc632e1a369b95528f89d8e4e332144358f1090ed714278c4196cf4d09286d2191d74f970491c0f3e5cf237b42c0c6c2dea2f40f4c34049c7963a65246fb80d20ca4a7fbffdffefbefefdff7bdefaee3fe7f2f05e4000000ac1a1e000000000008000005a6008afef500baf500f075a8f7ba15a3e42ac0f113530d0802578fc2a969a9cff3aa933000f882162d948d82b41cbcf3aeabb321c000ac77fd1df209b82af2c3dd3d05b753d7038b1faf1cc670cb4f91c651f6e3dcdf5edef9b2bde242ae475d79169ff4c662d6cbf3a2edff7ffffffbff7cfffbdbdffbb7fefefe07e4000000ac0df5001205f386c603feea013eea01f071934dd579ca37db5765a81245c7c8177896ad468128a776f731838de5ff0bb1ac31d98b2ca90c36046163822428951ada06dbe157cd8db981321ecf706cadec9d9d070d5fcbc8aaf02f28b9676e411b452bb19d5e1f68e5015fad645a7a9cd0e07ff7ddf5e7f97ff9ffff9ffdfbdfbfff07e4fef500eef5000df5f071959a91575bdb39ed89fe5c8a5050a36317d5ac4af461e77eb2ebea25baf481c7532ad7719df29d994f2f87a7e9df78e917112ab9a31911bf856ceb8538c190143650cd2b23b35aa6f525bef93c3a0e4758cfed73b1e1143e085c2d23e437c8cf1520900040000000202590400004000004e41df50007feea01daea01f071b477544542c9af9daa2dab5e146711d3b51a5729631b04a577b7a865f04a1eeeb0772d0f938bb0d3f848f9420f165c14062689a3d7779038905b58fb9fed3b042a1c5410a1296531d105bb68a56e73999b57a885aeac48144b774ed97e986730ffdfbff3ffdfff9dfffff9fbfffffffd03e41df50018fef500daf500f071830e0def446266d9c5a511720ba2c9b9ca5f592c1729d192f311f45f18a26a7c2c9162376be253d5006c24869a6b62ab05573382a2de96f5365b6570b7c678563f666890c5ddf2e306976eb0623f2cd9021345ec9b7f7b37252bdaed2d9e1277defdf9ffffefffd7ff7efef7fff7fdf907e4fef500eef5000df5f06dada8a434bba2f2f584b3b60254e5675e9602c563f08a062d88f7f7797c02b2f05d1fb4c4196be7bf456aecbd5859fa810b45a2c28cad6c83aa2f5bb31e0787cebb28a6ec659b5ba9c5aede3a022d35387b5a36d2acfdcabcfab70c28c72476e504010100208042008004080322803adf020016feea01daea01f071acec0e4e9c2c959773ef6c1ac33a31c8b19c92129e526f66e14de815c2b18bf1249de1860c0891d492ef9a6cbe368e320c80a50a65685ec93a1db0ff3fe8514e279bf2af8869287baeb990517173817a198ce2a40e4078dc62ade4ff8d5d84bfff7fffedef3fd7fde7ffdbfff4edffdb07e43deafef500def500f07187f5fadaf1fcd33ec74443e5e0f315dc0f0855bb976269c65a245f85ad6fb0b1e4764ec0f766a7c3474cd245a7c8b70904ae69130b9d8a6be3b75ea6058f383d3d17375d1abc12014ccaa5b7903f4ad07b1eb016fb6dd194b2fa51e73ce45f6140200c008001000080010a800020880304e41df5000dfeea01daea01f071a3e14e0152c0013e2af794b4fdb29c354884423b3893527da9f06f198f4bc3eadf4fee6ac2a32a09de9cf600a52918e8118aaa778e7c95138cd508faeffbc99bf0e3f8c9aa2334cddf517ae8fbb4ec58da04033531aff8e07ad686de7923d3d8fffff3ffffdfebdfbffee7fffbebbffb03e41df5166c0bfea807caa807f07551c6640f865a46a23b1c73a550b59906c71b9066f3a46758ff36898abfc24cd8ecd057dd192af4b832e60c400260ff1541173fd5d48e2731db3d2b2b144e5ff5553f6bbdf02a46caca78f3c563b72973c45273d780c4b7f4daeebff78d3894fd71dff7fabdffbefef3dff7bfeffdff03e4000000ac1a16630cfef500def500f071b03348d294c69ff18c8388aa7767cc640c27ede20efc3151f47d443a18790a42d46a45bc0dc971a89a4494a0cff8cd5619aea54c15d1470669c2abfe57a8cde7327b710d0ab836e84cd8ecf97baa01c7e81945870e3e17b88af410672a62fb5c240105c00804c000201300000001888403e43dea0013fedf02dadf02f071941b637b610c1f06bd223d7450b95003f1626c0271d169c7a062426cbe528b82102b82c66da8228638e9887889a9260a06c5de5b395d6256336688313c68e258aa13cb59cd8c61fb94bbfee7c3f817fa325679d0953bd03141e8ce56f32dea15fdafcf7ff7f7fbfffdebf7ffefefffbf03e41df5000ffef500daf500f071b88619871b5a22cc5c080f98c94df474b086b58cb33fea389baecd0d2c0bfbb17f466ba65b1e94f8f6d59619b2c4699804ec48b2e28bf0d8cf0469c2685fef41dc3b23c1b2cbe54ee3504781d9f5c6bef1d7c6aceadf8419a738d8fd838a701cfd7feeffefffddfe9fffffadffeefff705e4fef500eef5000df5f071ace959c2d76d2de272efb0a7b04e9ad72f6acd8db6ee97dbe1ad91b66c8a390cd7962dded3ac84ca884cf4c6234938000d2c1cb03538f71065bd78cc959b90db51469447e1e4afa0e7b6b7d82b9a30b00c41ad958fd3a5eba23306cb5d5ae3c62020804a40008000000000214000400004e41df50004feea01daea01f071a259a8796383f303f8ad60cf7da686c43f610d1c2b320fefcebdf785793b25b287980558583498fa819a4420e7cc055c187d50ff01c85301ea5197700062b01ff62e5d29059bbda978412b4bddde1c5783150bd2f5e0e8f115f9a073f29fd890ffff7ffddf7fbf5efffffdfebef77f5706e41df50010fef500daf500f0718f0400f4d214ba3ed4289b51419ff579c8cee4adff61deba9f6946069abb268852e8215e2d5e2f9d01bce0d9176432040fd66cd6116a56273f48d3cd96255c54b0bd752fa266b703bc484efc5da9faf6f765e0aef7111e7d4132e8ff7a673f1d6db2f577f7ffffffabffff7eff7ffdff05e41df5000cfef500def500f071c9f0a3a8e852aa946c6eff25297799b63c80e5356aa8a82f0d360ca06174c2fb40c01f435d690c961c2c87617480020d01991a61d0bf2781ff2a63354662e68d85c2fed47f5b34256b4b933cc9b7d04c51ccbabfd294af0e7ec4113677ad0dfdddff7ffbffd5fdf3fbdedfff7f9f6f07e400d9b30009fef500daf500f0718a8ae6365812a797dc5435b4d90eeefeced07070f5bc196539510d0121bff911dda887c79312c93e3c878b57df21c97214ed1c7763e2a73bdbad1426ccff21e72daa10c29f3f7702d0d90ef57e11d954f378469753d6b933e1864e0488be3f9b7fff3f7b7f9f7dfffffff9db9fffcd6d07e43dea001afef500daf500f071a8201e9a1a2630bb73fbc985d739aea9ebafc1dd783a4cbf907335942beba20a592024aa3b4432d36d9710023580292b0d903c30c5b8ebb0eadfe6f196ef0f8959af3cc3c36cc5d57cadc2e108bc18c8b30bf9f2eab72dff74232017ca6d9514b5fdffbfebffffff6edf7ff7fffbffbf07e41df5001cfef500daf500f071975450c2bd8a20120139776851782c7ab2a9551e3939b47d003aa67029f2776d44b678292a690cbd3592981f3ebcca95140ff0fc11c5bd8031ed56e32d6ffd752735de5e308c7d68babcb901f3c750c7ced42511d19d9aedc9cf0a3be48dc706c7ffced3fbefdff7feefaff7fffffffb07e4fef500eef5000df5f07191ce51eef27423355dcc0408e61309238e8a7e3ca59f0ccf1ef0274c21b41a3ab86ea010b93afd11ed8d825210034d6205c05d7fda3f3bdf2382d375a6a9661509e54ce5683370aaa74c96037512bb82f5fd0bc3f875c0dcdf0ee7ac47e3362f00060000e128400400008100100c240204e41df50014feea01daea01f0718aa77579f220de7856a23af56d7fe24b6c3c86709ad23462fbdee1404ee060f1556ec657bad4525ec02405b505fce52502d9672c2656306774ac54fdee193b3b5ddf9e54181336ad1ff5b458cfcbea49a1b0358503b42907dcd1022ddf75097aeffbdfffffff7ffffffffdffffbeffdd07e4fef500eef5000df5f06598a0c18ac1d8f660c3229cf0d41862ffff515db6c3f56be3526cf880c784602d63f2e4595ca146414760f3b1be88123a0155cecaf92c167a0a768ac80c82764a15a00d8f86bbeb79857877dfa08718aa2e7e9376d50ef989e47e8474c794f9f80002100100400eee1518040808001840042e03160003feea01daea01f071b04dbdd76666d1ff901caf7a69e601799a610b5163e8fb1862fe4cb4892d2b679a1e16dc01022b0a5c2a0a7affb1d748137a9b5763f967f865441fc082f67bdd7fc4c8b631d7cec876f7495b9da3838bdc0280b13232585b9fa41fa9343f1e84f2ddffffef7ffdffffde5fbbffdf7eff07e43deafef500def500f07184e8095114490d30374f9de974fbb58520bc54f3156aa45bbc67cc26db86ccfecbf8c39391aa2fa3dd752b83a4a8b8c719712bcea69b39a717b758444b1a2dedb64858a52d6947e1a6d0d825e19945409a345a609561d1e543e63a5309cd8b3722044084082808310200010000880a0005e41df50015feea01daea01f071b2302bad319cdee8ae1cc2209aaa36f470d4cf11dd091b5949ea8a596adbc555d8b2bcb94699c9870f04f6c359b561360351f04b4abf6029757a3c0cfd179b494a9dbfc4ff559ef259cc323ef41235cb0cfb829a90507074e60049ffea9f1c53aef7fffffffffffffffaffff6bbdff1f06e41df5000afef500daf500f0659479ed2ac3e7a57a3f7e4676c545beac6d40e0a078ae7709ce071124ea098998101ecc0ae0e1bb5c76d7ec48fc982744167cb1d45de079e66837dd7b1e6cb083f8106a2684a7c5174da6825be5c0a9d1a63ef6b523f17ad80d92b2d78881a0289effdf7eebe781c918fffffbeffbff072ed403001bfef500daf500f071a5b396df9f97bd4eb0e3d9c80ef8e07a46cb007abb0b759a54f3a2ded0bb3ebb06a698370e58f115787851b110beab7419d097429e31993a13dc87156546011f8a497856d6541e75c15027b1faba973ea8d94dd42fd43ce085a37c9b405299dafffeffd9ffdfff7fdffffffdfef7bfb906e43deafef500def500f071a1b1805d9d0fe154e185e62b8ddba0f5d940b8dd0dcb5c1e12ec487e1a689c8b017cb7d53ca23b6f45a8c141e094c13f180f7198166f5273a577cc27b7ea8c41bd38f006cd0a4f3abb4f51f3fc58ce3bd903f5b457c1a8a875125b34b08807fc0c10180008010040900000144400210104e41df50005feea01daea01f0718c9ff783a63be28e9b732905051b7ebc0c5ecb2829206773bd8cadeacc88d4c3a2694ffe7fb8392ac3a2894598512328017869ad5d1bd0bcc002c91193d0ad176d09a0de9f0e658bd2bf0b6fccf39b5eb1864b84cff8fbf1b9d7cf7b375bd1daffff7e77f77ffffff5fffbfffeee7ffd07e41df5000bfef500daf500f071a87077aeca1092b2a5aabd37ff523a972c8761249e8e16b66a48713d61f5fa3f9dc4aaa30a90ba2760012c2e799fb61f0746a39dfae23894ca9d3a69e103ac9dbf27ebffe87af2495b73c688536fd318848daefcfeaccfe8475c827b22f9b80abfdffffdded7cfffb7fff7bbffff9fdb07e41df51101feab1dbeab1df071906b9d12e4ef066f5c4c6bfe511e697c23213a2ae5fbcaee99eec78165b879c3d0a152e84b0d68d463ab199b71c5ffc1138a55cb38422f55e22fdd912361373849f291f803db8d5100eecb1641115b531fd9bbd393712b41a4b412b5084ce7a0dbddefdfed0ffeeffbcdffcfbfff647f07e4fef500eef5000df5f071856f1be7c1f4d3ab5f93d0ed50bedf1a9d27fcde499b9335a40fbbe7c73222deb6f60b5ebb1d92fba7e402bbbf4e4def01c4700ca4e409a6d323f8620762ca5d50fe07c6236ae96fb6d39439af8ca8ebebe2476cb808f7c8bbdfc9b90e00a5d64000000a00086400800802021462400005e41df500062debfeea01beea01f071929fdf4de16a5ef95d258648d9721d7a0b09d3d4a75d0f27431e3917a6fe75848a5cf1b0f39d138d72f57d7056235a86090c8437c6fb9cabdc9868ddd6346e9d311235a97c510c9d90e9ed745478cbbe50e7386bba176fcb4d3800514b77de00fdf57fff7ffdbffffdfbdfff7fbfe7dd06e41df50002fef500daf500f0718130efb4c1cb6dd1e9a1ac9eba2786a0064f42d50f46bc301a3fa0cbd78e31ace48d1d48a787c07661861383cc8fb063139fa56a60843a72c781ae5365458915f92a5df39cdc7d696eb44c7c989297c80aa3102e771d48f5542dd581be758042ffeddffff7ffffbf7bf5ffeffff9fdff07e41df5000efef500daf500f06d98b72afd70e9d13928a24669af32483a8ab7cd916fea8f5651b2b3ae0b77ea88cb5ea3c63f1cc430b84807beb788643d139da77b93d74aee22cc2dff7b85a3fd30bbeb91806670b2976cfad0356a0cab289d034a526dbd7a0e1b9e9614d48ac0fffbfffddfdffff7ffdfff7fffbf3a660dfef500def500f071b516235160d0db23cc32275d116dfb52aaf0dfe767363c52ee0560b1079120fbca34874c381f2d07c6f16cd5a3351be411009941c40c124bc770e7707d00c14a7f56257e55067f4db50ec11908ac0a4289af3fe23752f883b99f483f2d6378934401016000080021000040400222a00004e43dea0019feea01daea01f071ae342d7deabaa25c36582c8f6189b7008fa98306487a65087240049f05c8c4f8a20e01a39193c72b78e8434da3c10b66155f22dc00983c52078f39e52e046c23a418255fc2df62ecc874721982aa976c50a6e04794613439ec8a939d721810db7f7dffffffcf7fffbfffdffdf9ffbfef03e4fef500eef5000df5f0718c9616044475aa45db331e7271984448a1cfbf36fb413880ee89d578d6eb029dc4c2b76b9b16d27923f24998d9ffe36919c45978c68b4baa88fde9bd49677e572f691a1a53a822d75bd8987f762f45df453a3720bc47b58cef3371e3c8967af808000580490002001064480c0000002002e41df50017feea01daea01f071a0a093f29e588b55d7ca6619dac5b606d64002c3f98407b1a882c8533b4e87e5d98b7720401e2e785d16865008ac59de19553d1a6c84d2fbdb239ac55baec5aa634430e2f813e059759269f92ec1e50d4f0e1ec9328cf2a5d917a2154cc89e08fffffefbefeffd7ffdf7b9fbecf5ffff07e4fef500eef5000df5f070b7d442e512592c2749f384c1fc219d169114db25907efababfa38cff37db22b1b531f17265eb72f2ed490f4fbccbc44816f00c14b79b451e8c2b83d85d7f57c9ddd242e263c00982c5b345a6bd2b665fa8310e4d5ad13366c118c15a54f94b308103080040000420008010b04400021804

It was received on Pyrmont gossip topic /eth2/7465eb0b/beacon_block/ssz_snappy at 2021-08-19T12:21:55,258 UTC.

Teku rejected it because "Invalid SSZ: unread bytes remain: 10298".

ajsutton commented 2 years ago

I think I've actually fallen into the trap of selecting a different type to deserialise and not repasting my content. Trying to decode the message again today fails.

Will close this an open a separate issue to not overwrite my content all the time. :)