Created
September 17, 2017 19:01
-
-
Save paul-hammant/aea1da39d4b62d635fa5f460972ab096 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/_posts/2017-09-17-merkle-trees-in-pictures.md b/_posts/2017-09-17-merkle-trees-in-pictures.md | |
index e2bfd942..a7334f7f 100644 | |
--- a/_posts/2017-09-17-merkle-trees-in-pictures.md | |
+++ b/_posts/2017-09-17-merkle-trees-in-pictures.md | |
@@ -107,9 +107,7 @@ I'll try for that (SVG inline): | |
<line x1="784" y1="-111.77759" x2="784" y2="-139.32304" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<line x1="600.0604" y1="-184.41212" x2="600.0604" y2="-139.93516" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(222 20.87373)" fill="black"> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="74.384">A Merke tr</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="74.096" y="15" textLength="45.04">ee at r</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="118.848" y="15" textLength="21.632">est</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="140.384">A Merke tree at rest</tspan> | |
</text> | |
<rect x="217" y="284.7703" width="25" height="19.587879" fill="#c0ffff"/> | |
<rect x="217" y="284.7703" width="25" height="19.587879" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
@@ -179,8 +177,7 @@ I'll try for that (SVG inline): | |
<line x1="784" y1="194.5806" x2="784" y2="167.03514" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<line x1="600.0604" y1="121.94606" x2="600.0604" y2="166.42302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(222 327.2319)" fill="black"> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="161.232">A node changed, so it’</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="160.048" y="15" textLength="163.296">s SHA1 should change</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="332.232">A node changed, so it’s SHA1 should change</tspan> | |
</text> | |
<rect x="217" y="591.1285" width="25" height="19.587879" fill="#c0ffff"/> | |
<rect x="217" y="591.1285" width="25" height="19.587879" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
@@ -250,9 +247,7 @@ I'll try for that (SVG inline): | |
<line x1="784" y1="500.9388" x2="784" y2="473.39333" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<line x1="600.0604" y1="428.30425" x2="600.0604" y2="472.7812" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(222 633.5901)" fill="black"> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="114.976">After that its par</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="114.688" y="15" textLength="26.976">ent’</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="140.48" y="15" textLength="191.152">s SHA1 should change too</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="331.976">After that its parent’s SHA1 should change too</tspan> | |
</text> | |
<rect x="217" y="897.4867" width="25" height="19.587879" fill="#c0ffff"/> | |
<rect x="217" y="897.4867" width="25" height="19.587879" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
@@ -322,9 +317,7 @@ I'll try for that (SVG inline): | |
<line x1="784" y1="807.297" x2="784" y2="779.7515" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<line x1="600.0604" y1="734.6624" x2="600.0604" y2="779.1394" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(222 939.9483)" fill="black"> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="41.488">And fi</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="41.488" y="15" textLength="105.216">nally then the r</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="146.416" y="15" textLength="178.704">oot SHA1 should change</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="324.488">And finally then the root SHA1 should change</tspan> | |
</text> | |
<rect x="217" y="1203.8449" width="25" height="19.587879" fill="#c0ffff"/> | |
<rect x="217" y="1203.8449" width="25" height="19.587879" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
@@ -397,8 +390,7 @@ I'll try for that (SVG inline): | |
<line x1="600.0604" y1="1041.0206" x2="600.0604" y2="1085.4976" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(222 1245.5825)" fill="black"> | |
<tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="360.976">A node is deleted: its SHA1 should be deleted too </tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="33.448" textLength="335.184">And another added, meaning a new SHA1 is cr</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="334.896" y="33.448" textLength="77.04">eated for it</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="33.448" textLength="412.184">And another added, meaning a new SHA1 is created for it</tspan> | |
</text> | |
<rect x="660.6604" y="1203.8449" width="25" height="19.587879" fill="#40ff40"/> | |
<rect x="660.6604" y="1203.8449" width="25" height="19.587879" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
@@ -469,9 +461,7 @@ I'll try for that (SVG inline): | |
<line x1="784" y1="1437.0133" x2="784" y2="1409.4679" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<line x1="600.0604" y1="1364.3788" x2="600.0604" y2="1408.8558" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(222 1569.6647)" fill="black"> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="63.408">Their par</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="63.12" y="15" textLength="26.976">ent’</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="88.912" y="15" textLength="191.152">s SHA1 should change too</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="280.408">Their parent’s SHA1 should change too</tspan> | |
</text> | |
<rect x="660.6604" y="1527.203" width="25" height="19.587879" fill="#40ff40"/> | |
<rect x="660.6604" y="1527.203" width="25" height="19.587879" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
@@ -541,9 +531,7 @@ I'll try for that (SVG inline): | |
<line x1="784" y1="1743.3715" x2="784" y2="1715.826" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<line x1="600.0604" y1="1670.737" x2="600.0604" y2="1715.214" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(222 1876.0228)" fill="black"> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="41.488">And fi</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="41.488" y="15" textLength="105.216">nally then the r</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="146.416" y="15" textLength="178.704">oot SHA1 should change</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="324.488">And finally then the root SHA1 should change</tspan> | |
</text> | |
<rect x="660.6604" y="1833.5612" width="25" height="19.587879" fill="#40ff40"/> | |
<rect x="660.6604" y="1833.5612" width="25" height="19.587879" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
@@ -673,15 +661,13 @@ I'll recycle the picture from the other blog entry today: | |
<rect x="486" y="311" width="66.5" height="44" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(487 315.5939)" fill="black"> | |
<tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="17.34" y="14" textLength="29.82">abc/</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="2.437" y="31.406097" textLength="17.612">dir</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="19.797" y="31.406097" textLength="42.266">ectory</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="2.437" y="31.406097" textLength="59.612">directory</tspan> | |
</text> | |
<rect x="637" y="311" width="66.5" height="44" fill="#00fa00"/> | |
<rect x="637" y="311" width="66.5" height="44" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(638 315.5939)" fill="black"> | |
<tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="19.027" y="14" textLength="26.446">def/</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="2.437" y="31.406097" textLength="17.612">dir</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="19.797" y="31.406097" textLength="42.266">ectory</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="2.437" y="31.406097" textLength="59.612">directory</tspan> | |
</text> | |
<line x1="584.4205" y1="355" x2="578.5673" y2="475.0928" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/> | |
<rect x="557.5" y="311" width="52" height="44" fill="#ffff80"/> | |
@@ -707,24 +693,20 @@ I'll recycle the picture from the other blog entry today: | |
<text transform="translate(519.5 187.28791)" fill="black"> | |
<tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="7.897" y="14" textLength="48.706">interm-</tspan> | |
<tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="11.649" y="31.406097" textLength="45.094">ediate </tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="2.437" y="48.812195" textLength="17.612">dir</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="19.797" y="48.812195" textLength="42.266">ectory</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="2.437" y="48.812195" textLength="59.612">directory</tspan> | |
</text> | |
<line x1="570.5" y1="355" x2="243.07388" y2="476.0928" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/> | |
<rect x="592" y="78.4547" width="66.5" height="44" fill="yellow"/> | |
<rect x="592" y="78.4547" width="66.5" height="44" stroke="#ff7e79" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/> | |
<text transform="translate(593 84.0627)" fill="black"> | |
<tspan font-family="Helvetica Neue" font-size="14" font-weight="500" x="3.865" y="13" textLength="60.662">SHA1 for </tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="500" x="8.002" y="29.392" textLength="28.266">the r</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="500" x="36.016" y="29.392" textLength="20.482">oot</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="14" font-weight="500" x="8.002" y="29.392" textLength="48.266">the root</tspan> | |
</text> | |
<rect x="518.5" y="78.4547" width="66.5" height="44" fill="#ff7e79"/> | |
<rect x="518.5" y="78.4547" width="66.5" height="44" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(519.5 83.0486)" fill="black"> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="14.743" y="14" textLength="9.338">‘r</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="23.829" y="14" textLength="25.928">oot’</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="2.437" y="31.406097" textLength="17.612">dir</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="19.797" y="31.406097" textLength="42.266">ectory</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="14.743" y="14" textLength="34.338">‘root’</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="2.437" y="31.406097" textLength="59.612">directory</tspan> | |
</text> | |
<line x1="625.25" y1="123.77963" x2="625.25" y2="185.14706" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/> | |
</g> | |
@@ -828,9 +810,7 @@ I'll recycle the picture from the other blog entry today: | |
<line x1="707" y1="-59.77759" x2="707" y2="-87.32304" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<line x1="523.0604" y1="-132.41212" x2="523.0604" y2="-87.93516" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
<text transform="translate(145.80427 282.0956)" fill="black"> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="9.184">T</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="7.408" y="15" textLength="307.568">ypical operations on a centralized Merkle tr</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="314.688" y="15" textLength="17.184">ee</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="307.568">Typical operations on a centralized Merkle tree</tspan> | |
</text> | |
<rect x="343.5" y="123.61818" width="25" height="19.587879" fill="#40ff40"/> | |
<rect x="343.5" y="123.61818" width="25" height="19.587879" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> | |
@@ -898,7 +878,7 @@ I'll recycle the picture from the other blog entry today: | |
</text> | |
<text transform="translate(427.04545 203.328)" fill="black"> | |
<tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="71.44">added, in </tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="33.448" textLength="62.24">addition </tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="33.448" textLength="62.24"></tspan> | |
<tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="51.895996" textLength="85.072">to the move</tspan> | |
</text> | |
<text transform="translate(814.0309 108.07563)" fill="black"> | |
@@ -911,9 +891,7 @@ I'll recycle the picture from the other blog entry today: | |
<tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".232" y="15" textLength="155.536">(will look like a delete)</tspan> | |
</text> | |
<text transform="translate(577 -164.27003)" fill="black"> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".388" y="15" textLength="32.896">addr</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="32.996" y="15" textLength="34.368">ess r</tspan> | |
- <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="67.076" y="15" textLength="121.536">emains the same</tspan> | |
+ <tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".388" y="15" textLength="177.896">address remains the same</tspan> | |
<tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="5.588" y="33.448" textLength="177.824">even if the hash changes</tspan> | |
</text> | |
<line x1="572" y1="-142.72684" x2="556.8952" y2="-142.25697" marker-end="url(#FilledArrow_Marker_2)" stroke="#aaa" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment