diff --git a/README.md b/README.md index d546543..2b28376 100644 --- a/README.md +++ b/README.md @@ -99,11 +99,11 @@ Output: ▾ Visualization of Merkle Tree Proof -Merkle Tree Proof +Merkle Tree Proof ▾ Visualization of Invalid Merkle Tree Proofs -Merkle Tree Proof +Merkle Tree Proof ▾ Visualization of Bitcoin Merkle Tree diff --git a/diagrams/merkle-tree-proof-fail.png b/diagrams/merkle-tree-proof-fail.png index 5ee7e3d..b4f00ff 100644 Binary files a/diagrams/merkle-tree-proof-fail.png and b/diagrams/merkle-tree-proof-fail.png differ diff --git a/diagrams/merkle-tree-proof-fail.xml b/diagrams/merkle-tree-proof-fail.xml index b57ecd9..fc7f254 100644 --- a/diagrams/merkle-tree-proof-fail.xml +++ b/diagrams/merkle-tree-proof-fail.xml @@ -1 +1 @@ -7Vtdc5s4FP01zGwfdgdJfPmxTuN6Z9qdTNOZ3X1UQMZsMPIIOR/99SuBhEEitutAwyTxi60rIdC5R/dKB9lBF5uHzwxv119pQnIHusmDgz45EAIXIvElLY+1JQB+bUhZlqhGe8N19oPoK5V1lyWk7DTklOY823aNMS0KEvOODTNG77vNVjTv3nWLU2IZrmOc29a/s4Sva2vku3v7kmTpWt8ZuKrmBse3KaO7Qt3PgWhVferqDdZ9qfblGif0vmVClw66YJTy+tfm4YLkElsNW33d4ona5rkZKfgpF8D6gjuc74h+4uq5+KPGohoNke1dB83v1xkn11scy9p74X1hW/NNLkpA/Cw5o7fkguaUVVcjt/o0NRpN2XaV5XmrpcIJzXGepYWwxWIMRFTO7UGpcd4RxslDy6QG+ZnQDeHsUTTRtaFXX6IIGc3q4n3Lu8ol65ZjkbJhxae06XiPqfihYO2HGFkQLwPxvfxtKR55voQfLMTFmPipsJ4MosQqEwz/qCo2WZLIG/Z6dADEA9ABHCBoIz6zEYcDIO7ZiIc14kgi7p2FeBBH5GZlI365WHiLiykgDt3wOOTROJD7NuT+kCgnmESreAooIxQZKAMLZb8nlAyBcvCGUDa4HEQ2ynAclMOenBjkEtNyiwvxO5W/v9URJZIRxf+gW4i+243Occ5N5Ht+X2iPYhJPwjlivdNxDnTtKdCXTYdwTmRPAfA6E6heeyiQZ56FcQjGwXhmY2wvC18FxgAcBdkfaZGi79xGGZ2DchLObvpRJsE04gWIjqIceCOhDGyUPQctXmfWhMFxoNFIQNs7yfPWJtMPGuh4ZA78kVC2IwRJUnKtipTxNU1pgfPLvXXe3cC3sCcPGf9Hmv/wVelfXVOIB2tVyaKuayQL2VuCy3XVNVCFK8yFV4rKAl2v8jBm/KMUZYSxoAXRtkUmx1l1Q4rEaCEsrfr/COePSibCO06FaT/WL5Ruj7LJlh80j3Ky4oeIIQE+SAtGcsyzu6501OdldekVzcQtWtHRWOoCr9tFSXcsJuqqtpbzsx0J0FPCrY4q0jXjOY2H9hbbJqbl0/a0b5PoGV7rp7Br0i7OcVlmscE8cMjtNepOW1A4yoQjW0BteyZhjGwKQ/c8vjTRRPPFjFAD8sXWB16ILwcC2y/lUo1td5EyEX41/TQKx9kE63aE3PEIZksjb5Vgfg/B4KQI1vBA8+JcgiGDqU1oHIFgfarQ2yQYiGyGoUkRDARBN4KF8DyCNSlRE8wbj2C2stUnOy4jp9IdA6k7hkPqjtN/wdG80DggCo/1TgnYotj7/N/P/2mtkGdGfgFn5hfgGdM/GG36a46+80u/5WrTy58UvZBBC2RmhZPXLwZRG+KOwC9bCH2r/AptfgWT4hcw45eZwE7egJnxy5QKBuQX/Cl+7V34y0ShQ7qm21Ecn5UJw2lRydCqrS34yVQyt1rj7eV7Tkz9WYiCqIfuV8JuBZ+g+50R+XXFKF2VFtXs9S4jZfYD31QNpLu38kmrZ/fnjv9JsmjHaVlrzD2kMhe7XIrOcmkeZ0X6vVKgf/cGWucah9W0D1uUAUEPZ4ZY5/YcnnqreQLZk3s2rcmtn0fvhzyji1Mnd2hslzUJRpjb70LwAXpFk6IXOhLxT2WX8b4C+ONlDlsF/l7DC92/aEJOSBNdSin+tRURZXp5MSTovu3TxbYWEo6UI2wtdFm/BxZjkvlYfBdUHuCHbkKrgvTABvN43U7h3+Qx9+Fd8kTCHtshXtcf0PcthzQL+cE90iceGsA+7xx/cyrx+Dn+J88pDgCyGZOCnqVRD8amAHQWxrYCODaTX/CEp9/FWWer9unDkbisRd7O8j+mjMk/+kD3C8GrVwW1PsY8ehwXxf0fi+rsuv/3Frr8Hw== \ No newline at end of file +7Vtdb6M4FP01SDsPu8I2X3mcdJrJSjOralppdx8dcAhbgiNw+jG/fm2wCdg0ZFJoUdu8gK+Nwece+9rHjoUutg9fc7zbfKcRSS1oRw8W+mJBCDxg84uwPEqL7XmVJc6TSNoOhuvkJ1EFpXWfRKRoFWSUpizZtY0hzTISspYN5zm9bxdb07T91h2OiWG4DnFqWv9OIraprIFrH+xLksQb9WZgy5wVDm/jnO4z+T4LonX5q7K3WNUlyxcbHNH7hgldWugip5RVd9uHC5IKcBVs1XOLJ3Lr785Jxk55AFYP3OF0T9QXl9/FHhUWZWuIKG9baH6/SRi53uFQ5N5z93Pbhm1TngL8tmA5vSUXNKV5+TSyy1+do9AUZddJmjZKSpzQHKdJnHFbyNtAeObcbJRs5x3JGXlomGQjvxK6JSx/5EVUru9Uj0hGBrMqed/wrnTJpuFYJG1Y8imuKz5gym8krN0QIwPipcevy9+W/JPnS/jJQJy3ifXA6oUBWa1NECNMgnXYBaLAKuEM/ywztkkUiRd2enQAxD3QAhwgaCI+MxGHAyDumIj7FeJIIO4MivjlYuEsLqaAOLT9fsiDcSB3Tcjdt8lrhAINZWCg7HYMJUOg7L0jlDUue4GJMhwHZb8jJnqpwLTY4Yzfx+L+RzWiBGJEcT+pErzuZqFznLMKXMe1O+JjEJJwEs7h852Wc6BtdoGuaDqEcwKzC4BzUK7nJSfPQl68C9gtkGeOgbEPxsF4ZmJsTgvfBMYA9ILsjjRJUW9uoozOQTnyZ6tulIk3jfECBL0oe85IKAMTZcdCi7cZNaHXDzQaCWhzJXne3GT6gwbqH5k9dySUzRGCRDG5lkmasw2NaYbTy4N13l7AN7AnDwn7R5j/cGXqX5WT8Q9rZImkyqslC1FbhItNWTWQiSvMuFey0gJtp/QwztlnIcpwY0YzomyLRLSzrIZkkVaCWxr5/xHGHqVMhPeMctOhrd8o3fWyyZQfFI9SsmbHiCEAPkqLnKSYJXdt6ajLy/LRK5rwVzRGR22qC5x2FQXd5yGRTzW1nF+tiIMeE2ZUVJKubs9pPDSX2CYxDZ82u32TRM/wWjeFbZ12YYqLIgk15oFjbq9Qt5qCQi8TepaAyvZMwmjRFPr2eXypRxPFF32EGpAvpj7wSnw5MrC9KJcqbNuTlInwq66nVjjOJli7ImSPRzBTGnmvBHM7CAYnRbCaB4oX5xIMaUyth8YRCNalCr1PgoHAZBiaFMGA2m5UI5gPzyNYHRIVwZzxCGYqW12y4zKwSt3RE7qjP6TuOP0NjnpD44goPNaeEjBFsY/+f+j/05ohz7T4As6ML8DRur83WvdXHP3gl9rlatLLnRS9kEYLpEeFk+cvGlFr4o7AL1MIfa/88k1+eZPiF9DHLz2AnbwA08cvXSoYkF/wl/h1cOGLiULHdE27pTg+KxL606KSplUbS/CTqaQvtcZby3ecmPoz4wmeD+3vJL/lfIL2TU7E5SqndF0YVDPnuzkpkp94VRYQ7t6JLy2/3Z1b7hfBoj2jRaUxd5BKn+wyITqLqXmYZPFNqUD/7gw0z9UOqykfNigDvA7ODDHP7Tg89V7jBDI792xanVt9j1oPOVoVp3ZuX1suKxKM0Lc/hOAj9AomRS/UM+Kfyi5tvwK440UOUwW+qeCF9l80IieEiTalJP+aiog0vb4Y4rV3+1SyqYX4I8UIUwtdVvvAvE0iHvNrRsUBfmhHtEwID2wxCzfNEP5DHHMf3iVPBOyxHeK0/QFd13BIPZEf3CNd4qEG7PPO8denEvvP8T95TnEAkPUxyeuYGnVgrAtAZ2FsKoBjM/kVT3i2t4braNU8fTjSGRcl8ram/yHNc/FHH2h/I3j9pqBWx5hHH8d58vDHoiq6Hv6+hS7/Bw== \ No newline at end of file diff --git a/diagrams/merkle-tree-proof.png b/diagrams/merkle-tree-proof.png index ac86c66..222a883 100644 Binary files a/diagrams/merkle-tree-proof.png and b/diagrams/merkle-tree-proof.png differ diff --git a/diagrams/merkle-tree-proof.xml b/diagrams/merkle-tree-proof.xml index ea75163..9367972 100644 --- a/diagrams/merkle-tree-proof.xml +++ b/diagrams/merkle-tree-proof.xml @@ -1 +1,2 @@ -7Vtdc6M2FP01zHQf2kESX35cZ7Prh24ns8lM20cZZEyDkQty7OyvrwQSBonY1IGESeIHG66EQOce6V4dYQtdbQ7fcrxdf6cRSS1oRwcLfbEgBDZE/EdYHiuLB9zKEOdJJCsdDbfJT6KulNZdEpGiVZFRmrJk2zaGNMtIyFo2nOd03662omn7rlscE8NwG+LUtP6ZRGxdWQPXPtoXJInX6s7AliVLHN7HOd1l8n4WRKvyUxVvsGpL1i/WOKL7hgldW+gqp5RVR5vDFUkFtgq26rqvT5TWz52TjPW5wJF+ecDpjqhHLh+MPSowyu4QcYFtofl+nTByu8WhKN1z93Pbmm1Sfgb4YcFyek+uaErz8mpkl5+6RMEp6q6SNG3UlEChOU6TOOO2kHeC8MK52SvZ0QeSM3JomGQvvxG6ISx/5FVUqe9Ul0hGBrPqdN9wr/TJuuFZJG1YEiquGz6Cyg8krt0YQwPihcd/F78s+CPPF/CTgTjvE+sLa28QBVYJp/hnWbBJokjcsNOjAyDugRbgAEET8ZmJOBwA8cBE3K8QRwJx5yLEvTAgy5WJeIRJsAqngDi0/fOQB+NAPjMhd98myggFGsrAQNntmEqGQBmAdwSzRmYvMGGGI8FsTtkW9FIBarHFGT+OxfGPak4JxJziflI1eOPNSpd4J4BL5Hkd3nFJEDlT8E7NxEeFujkIuuLpEN5RbTQHAXibMVSlHxLlmWOA7IORQO6YaczU8E2ADMBZlN2REpWu3BBdgnLkz5bdKBMvnMR8DoKzKHvOSCgjE2XnbUZN6J1HGY2EsjNQbjL9GQOdn5c9dySUTUhJFJNbeUpztqYxzXB6fbTO2yv4BvbkkLC/hPk3V579rUoy/mCNInGqymrRQrQW4WJdNg3kyQ1m3CtZaYG2U3oY5+yzkGW4MaMZUbaviehn2QzJIq0GtzTK/yGMPUqhCO8Y5aZjX3+ndHuWTab+oHiUkhU7RQwB8Ela5CTFLHloi0ddXpaX3tCE36IxNWqpLnDaTRR0l4dEXtVUc/5vQxz0mDCjoZJ0dX968RCZc6pJTMOnzWHfJNEzvNZNYVunXZjiokhCjXnglNsr1K2monCWCWfWgMr2TMJooRT69mV84WvXNl/0GWpAvpjR4ZX4cmJie1EuVdi2M5SJ8Ktup5Y4LiZYuyFkj0ewHkr2OyHYrINgzqQIVvNA8eJSgiGNqfXUOALBvA+CyW4qaa7FsEkRDHheewbz4WUEq0OiIpgzHsH8DoKZquMisErZ0ROyoz+k7Dj95W29o3FCFB5rUwmZu0of4/84/qeVIc+0+AIujC/A0Ya/N97wN7fQ3iu/1OZCk1+zSfELabxAeljoncBoTK2ZOzzB1CN+EKze4GsSDPRVe14og9GnMD2G9V6D6VOYrhYMyDBz0+gUw45OfDFd6JS0abdEx2cFQ8WvqXBJ06uNZXhvLunLrfHW8w40uPSd5PecRtC+y4n4uckpXRkEMxPdnBTJT7wsKwgnb8XjlQ/szi33i+DOjtGiEpc7qKRnuUyozSInD5Msviul51+dgRJclb3WnrL0/Lberhw6wXUmI+m+enzoCA+9NwNeaEjDNlGAozXRd0j72kJZKUUjjOgPCfgUv+xJ8Qudmej70kvbqgDueAHD1OfuKnyh/QeNSI9A0eaUJGBTDJGm19dBvPZGnzptyiD+SFHCVKlkHLbXYiu4KLn37y7JSSQoTvlXmmT3Imy33VGV1UH9h3jpfXgfPRHDx/aQ03YQdF3DQ3VGP7iLeihVz3upv1YKz77U/7R2OADI+iTldWRLHRjrYtAlGLvmYnpsJr/iy55uG2e1Xdl8D3EYLvPT459fqiBw/IcRuv4P \ No newline at end of file + +7Vtdc6M2FP01zHQf2kESX35cZ7Prh24ns8lM20cMMqbByAU5H/vrK4GEkUQMdSBhkuQhgSsh4Nyje6+OiIUudg/finC//U5inFnQjh8s9MWC0HFc9psbHmsDsF1QW5IijYXtaLhOf2LZUVgPaYxLpSMlJKPpXjVGJM9xRBVbWBTkXu22IZl6132YYMNwHYWZaf0zjem2tgaufbSvcJps5Z2BLVrWYXSbFOSQi/tZEG2qn7p5F8qxRP9yG8bkvmVClxa6KAih9dHu4QJnHFsJW33d1ydam+cucE6HXCA9dRdmBywfuXow+ijBqF4H8wtsCy3vtynF1/sw4q33zP3MtqW7jJ0BdljSgtziC5KRoroa2dVP0yLh5H03aZa1egqg0DLM0iRntoi9BGaNS/OtxIve4YLih5ZJvOU3THaYFo+si2z1nfoSQclgUZ/et9wrfLJteRYJWygIlTQDH0FlBwLXboyhAfHKY39Xv6zYIy9X8JOBOHsn2gOrFwV4vTFBjEMcbKIuEDlWKaP4Z9GwS+OY37DToyMg7gEFcICgifjCRByOgHhgIu7XiCOOuPNGEYe23w95MA3kCxNy922ijFCgoQwMlN2OUDIGygC8I5g1MnuBCTOcCGYzZFvQyzio5T7M2XHCj3/UMSXgMcX9JHuwwdudzvFOANfI8zq84+IgdubgnYaJjxJ1cxJ05dMxvCPHaE8CcA7MTWkyuBB58UlgKygvHANkH0wEckekMUvDNwEyAL0ouxMVKl21IToH5dhfrLtRxl40i3gOgl6UPWcilJGJsvM2syb0+lFGE6HsjFSbzD9ioP647LkToWxCiuMEX4tTUtAtSUgeZpdH61Jdwbewxw8p/Yubf3PF2d+yJWcP1mrip7KtES34aHFYbquhgTi5CinzSl5ZoO1UHg4L+pnLMsyYkxxL29eUv2c1DM5jrQeztNr/wZQ+CqEoPFDCTMd3/Z2QfS+bTP1B8ijDG3qKGBzgk7QocBbS9E4Vj7q8LC69Iim7RSs0aqUucNQhSnIoIiyuaqs5/3cgBnqCqTFQRbrmfQbxEJkx1SSm4dP2tG+T6Ble66awrdMuysKyTCONeeCU22vUrbai0MuEnjWgtD2TMFoqhb59Hl/Y2lXlix6hRuSLmR1eiS8nAtuLcqnGVq1QZsKvZpxG4jibYOpAyJ6OYAOU7HdCsEUHwZxZEazhgeTFuQRDGlOb0DgBwbwPgonXlNKcwrBZEQx4nhrBfHgewZqUKAnmTEcwv4Ngpuq4CqxKdvS47OiPKTvOf3nb7GicEIWn2lRC5q7Sx/w/zv95VcgLLb+AM/MLcLTp7003/c0ttPfKL7m50ObXYlb8QhovkJ4WBhcwGlMb5o5PMPmIHwRrNvjaBAND1Z4XqmD0EKbnsMFrMD2E6WrBiAwzN41OMezoxBfThU5Jm7YiOj4rGUp+zYVLml5tLMMHc0lfbk23nnegwaXvuLhlNIL2TYH5n6uCkI1BMLPQLXCZ/gzXVQfu5D1/vOqB3aXlfuHcOVBS1uJyB5X0KpdytZnX5FGaJzeV9PyrM1KBK6vXxlOWXt8225VjF7jObCTdV88PHelh8GbAC01pqBIFONoQQ6e0ry2UpVI0wYz+kIBP8cueFb9QT6AfSi9tqwK40yUMU5+7qfGF9h8kxgMShcopQcC2GCJMr6+DeOpGnzxtyyD+RFnCVKlEHra3fCu4rLj37yEtcMwpTtivLM1vedpW3VG3NUn9B//ofXwfPZHDp/aQozoIuq7hIeRM9CWGM0Cpet5H/Y1S2PtR/9Pa4Qgg60HK66iWOkKkLgadg7FrLqanZvIrflfuqjjL7cp2uBnnexd2evznlzoJHP/DCF3+Bw== \ No newline at end of file