From 9d8a8427289f5df65610b96d9de5a50a80655e6c Mon Sep 17 00:00:00 2001 From: aron Date: Thu, 31 Mar 2016 14:40:43 +0200 Subject: [PATCH 1/2] reworked the erasure coded merkle tree section, it is in a separate rst file --- swarm/docs/sw^3/bandwidth.rst | 2 +- swarm/docs/sw^3/index.rst | 1 + swarm/docs/sw^3/storage.rst | 71 +---------------------------------- 3 files changed, 3 insertions(+), 71 deletions(-) diff --git a/swarm/docs/sw^3/bandwidth.rst b/swarm/docs/sw^3/bandwidth.rst index 7531d5d52800..27d003c3e176 100644 --- a/swarm/docs/sw^3/bandwidth.rst +++ b/swarm/docs/sw^3/bandwidth.rst @@ -145,5 +145,5 @@ By default nodes will store all chunks forwarded as the response to a retrieve r These lookup results are worth storing because repeated requests for the same chunk can be served from the node's local storage without the need to "purchase" the chunk again from others. This strategy implicitly takes care of auto-scaling the network. Chunks originating from retrieval traffic will fill up the local storage adjusting redundancy to use maximum dedicated disk/memory capacity of all nodes. A preference to store frequently retrieved chunks results in higher redundancy aligning with more current usage. All else being equal, the more redundant a chunk, the fewer forwarding hops are expected for their retrieval, thereby reducing expected latency as well as network traffic for popular content. -Whereas retrieval compensation may prove sufficient for keeping the network in a relatively healthy state in terms of latency, from a resilience point of view, extra incentives are needed. We turn to this problem now. +Whereas retrieval compensation may prove sufficient for keeping the network in a relatively healthy state in terms of latency, from a resilience point of view, more work is needed. We may need additional redundancy to be resilient against partial network outages and we need extra incentives to ensure long-term availablilty of content even when it is accessed rarely. In the following two sections we discuss these problems in turn. diff --git a/swarm/docs/sw^3/index.rst b/swarm/docs/sw^3/index.rst index d9dc4fb8abc1..e73882baf8bd 100644 --- a/swarm/docs/sw^3/index.rst +++ b/swarm/docs/sw^3/index.rst @@ -16,6 +16,7 @@ Welcome to the swarm documentation! :maxdepth: 4 bandwidth + erasure storage swap parameters diff --git a/swarm/docs/sw^3/storage.rst b/swarm/docs/sw^3/storage.rst index 8272f6df6937..a2037a20c9e3 100644 --- a/swarm/docs/sw^3/storage.rst +++ b/swarm/docs/sw^3/storage.rst @@ -116,76 +116,7 @@ Assuming all chunks of the original file are different this yields a potential .. rubric:: Footnotes .. [#] We also explored the possibility that degree of redundancy is subsumed under local replication. Local replicas are instances of a chunk stored by nodes in a close neighbourhood. If that particular chunk is crucial in the reconstruction of the content, the swarm is much more vulnerable to chunk loss or latency due to attacks. This is because if the storers of the replicas are close, inflitrating in the storers' neighbourhood can be done with as many nodes as chunk type (as opposed to as many as chunk replicas). If there is cost to sybil attacks this brings down the cost by a factor of n where n is the number of replicas. We concluded that local replication is important for resilience in case of intermittend node dropouts, however, inferior to other solutions to express security level as expressed by the owner. -Luckily there are a lot more economical ways to encode a file redundantly. In what follows we spell out our proposal to introduce a scheme for loss tolerant swarm hash. - -Loss-tolerant Merkle Trees ----------------------------------------------------------- - -Recall that each node (except possibly the last one on each level) has 128 children each of which represent the root hash of a subtree or, at the last level, represent a 4096 byte span of the file. Let us now suppose that we divide our file into 100 equally sized pieces, and then add 28 more parity check pieces using a Reed-Solomon code so that now any 100 of the 128 pieces are sufficient to reconstruct the file. On the next level up the chunks are composed of the hashes of their first hundered data chunks and the 28 hashes of the parity chunks. Let's take the first 100 of these and add an additional 28 parity chunks to those such that any 100 of the resulting 128 chunks are sufficient to reconstruct the origial 100 chunks. And so on on every level. -In terms of availability, every subtree is equally important to every other subtree at this level. The resulting data structure is not a balanced tree since on every level :math:`i` the last 28 chunks are parity leaf chunks while the first 100 are branching nodes encoding a subtree of depth :math:`i-1` redundantly. - -In practice of course, data chunks are still prefered over the parity chunks in order to avoid CPU overhead in reconstruction. This data structure has preserved its merkle properties and can be used for partial integrity check. - - - -The Cauchy-Reed-Solomon (henceforth CRS) scheme is a systemic erasure code capable of implementing a scheme whereby any :math:`m` out of :math:`n` fix-sized pieces are able to reconstruct the original data blob of size :math:`m` pieces with storage overhead of -:math:`n-m` [#]_ . Once we got the :math:`m` pieces of the original blob, CRS scheme provides a method to inflate it to size :math:`n` by supplementing :math:`n-m` so called parity pieces. With that done, assuming `p` is the probability of losing one piece, if all :math:`n` pieces are independently stored, the probability of loosing the original content is :math:`p^{n-m+1}` exponential while extra storage is linear. These properties are preserved if we apply the coding to every level of a swarm chunk tree. - -.. rubric:: Footnotes -.. [#] There are open source libraries to do Reed Solomon or Cauchy-Reed-Solomon coding. See https://www.usenix.org/legacy/event/fast09/tech/full_papers/plank/plank_html/, https://www.backblaze.com/blog/reed-solomon/, http://rscode.sourceforge.net/. - -Assuming we fix :math:`n=128` the branching factor of the swarm hash (chunker). -The chunker algorithm would proceed the following way when splitting the document: - -0. Set input to the data blob. -1. Read the input 4096 byte chunks at a time. Count the chunks by incrementing :math:`i` - IF fewer than 4096 bytes are left in the file, fill up the last fraction to 4096 -2. Repeat 1 until there's no more data or :math:`i \mod m=0` -3. If there is no more data add padding of :math:`j` chunks such that :math:`i+j \mod m=0`. -3. use the CRS scheme on the last :math:`m` chunks to produce :math:`128-m` parity chunks resulting in a total of 128 chunks. -4. Record the hashes of the 128 chunks concatenated to result in the next 4096 byte chunk of the next level. -5. If there is more data repeat 1. otherwise -6. If the next level data blob is of size larger than 4096, set the input to this and repeat from 1. -7. Otherwise remember the blob as the root chunk - - -Benefits of CRS merkle tree -------------------------------------- - -This per-level m-of-n Cauchy-Reed-Solomon erasure code introduced into the swarm chunk tree does not only ensure file availability, but also offers further benefits of increased resilience and ways to speed up retrieval. - - -All chunks are created equal -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -A tree encoded as suggested above has the same redundancy at every node [#]_ . This means that chunks nearer to the root are no longer more important than chunks near the file. Every node has an m-of-128 redundancy level and no chunk after the root chunk is more important than any other chunk. - -.. rubric:: Footnotes -.. [#] If the filesize is not a specific multiple of 4096 bytes, then the last chunk at every level will actually have a higher redundancy even than the rest. - - -A problem that immediately presents itself is the following: if nodes are compensated only for serving chunks, then less popular chunks are less profitable and more likely to be deleted; therefore, if users only download the 100 data chunks and never request the parity chunks, then these are more likely to get deleted and ultimately not be available when they are finally needed. - -Another approach would be to use non-systemic coding. A systemic code is one in which the data remains intact and we add extra parity data whereas in a non-systemic code we replace all data with parity data such that (in our example) all 128 pieces are really created equal. While the symmetry of this approach is appealing, this leads to forced decoding and thus to a high CPU usage even in normal operation and it also prevents us from streaming files from the swarm. - -Luckily the problem is solved by the automated audit scheme which audits the integrity of all chunks and does not distinguish between data or parity chunks. - -Self healing -^^^^^^^^^^^^^^^^^^^^^^ - -Any client downloading a file from the swarm can detect if a chunk has been lost. The client can reconstruct the file from the parity data (or reconstruct the parity data from the file) and resync this data into the swarm. That way, even if a large fraction of the swarm is wiped out simultaneously, this process should allow an organic healing process to occur and it is encouraged that the default client behavior should be to repair any damage detected. - -Improving latecy of retrievals -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Alpha is the name the original Kademlia gives to the number of peers in a Kademlia bin that are queried simultaneously during a lookup. The original Kademlia paper sets alpha=3. This is impractical for Swarm because the peers do not report back with new addresses as they would do in pure Kademlia but instead forward all queries to their peers. Swarm is coded in this way to make use of semi-stable longer-term devp2p connections. Setting alpha to anything greater than 1 thus increases the amount of network traffic substantially – setting up an exponential cascade of forwarded lookups (but it would soon collapse back down onto the target of the lookup). -However, setting alpha=1 has its own downsides. For instance, lookups can stall if they are forwarded to a dead node and even if all nodes are live, there could be large delays before a query is complete. The practice of setting alpha=2 in swarm is designed to speed up file retrieval and clients are configured to accept chunks from the first/fastest forwarding connection to be established. -In an erasure coded setting we can in a sense have a best of both worlds. The default behavior should be to set alpha=1 i.e. to query one peer only for each chunk lookup, but crucially, to issue a lookup request not just for the data chunks but for the parity chunks as well. The client then could accept the first m of every 128 chunks queried to get some of the same benefits of faster retrieval that redundant lookups provide without a whole exponential cascade. - - -Improving resilience in case of non-saturated Kademlia table -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - +Luckily there are a lot more economical ways to encode a file redundantly. In particular the erasure coded, loss tolerant merkle tree, discussed in the previous section, allows the user to choose their own level of guaranteed data redundancy and security. From here on we assume that the user applied CRS encoding when splitting their content and therefore expressed their desired degree of redundancy in the CRS parameters, the price of which they pay in terms of the increased number of chunks they need to pay storage for without adding complexity to the storage distribution and pricing. From f9480160d5f60c38abe1f48cd8189c4a61feb301 Mon Sep 17 00:00:00 2001 From: aron Date: Thu, 31 Mar 2016 14:44:38 +0200 Subject: [PATCH 2/2] added files for erasure.rst The Erasure Coded Swarm Tree Doc --- swarm/docs/sw^3/erasure.rst | 140 ++++++++++++++++++++++ swarm/docs/sw^3/fig/chunk.pdf | Bin 0 -> 33845 bytes swarm/docs/sw^3/fig/chunk.tex | 20 ++++ swarm/docs/sw^3/fig/tree-with-erasure.pdf | Bin 0 -> 34462 bytes swarm/docs/sw^3/fig/tree-with-erasure.tex | 35 ++++++ swarm/docs/sw^3/fig/tree2.pdf | Bin 0 -> 36417 bytes swarm/docs/sw^3/fig/tree2.tex | 49 ++++++++ swarm/docs/sw^3/fig/treebasic.pdf | Bin 0 -> 34690 bytes swarm/docs/sw^3/fig/treebasic.tex | 23 ++++ 9 files changed, 267 insertions(+) create mode 100644 swarm/docs/sw^3/erasure.rst create mode 100644 swarm/docs/sw^3/fig/chunk.pdf create mode 100644 swarm/docs/sw^3/fig/chunk.tex create mode 100644 swarm/docs/sw^3/fig/tree-with-erasure.pdf create mode 100644 swarm/docs/sw^3/fig/tree-with-erasure.tex create mode 100644 swarm/docs/sw^3/fig/tree2.pdf create mode 100644 swarm/docs/sw^3/fig/tree2.tex create mode 100644 swarm/docs/sw^3/fig/treebasic.pdf create mode 100644 swarm/docs/sw^3/fig/treebasic.tex diff --git a/swarm/docs/sw^3/erasure.rst b/swarm/docs/sw^3/erasure.rst new file mode 100644 index 000000000000..3f2502133b07 --- /dev/null +++ b/swarm/docs/sw^3/erasure.rst @@ -0,0 +1,140 @@ + +Loss-tolerant Merkle Trees and Erasure Codes +------------------------------------------------- + +Recall that the basic data structure in swarm is that of a tree with 32 bytes at the nodes and 128 children per node. Each node represents the root hash of a subtree or, at the last level, the hash of a 4096 byte span (one chunk) of the file. Generically we may think of each chunk as consisting of 128 hashes: + +.. _fig:chunk: + +.. figure:: fig/chunk.pdf + :align: center + :alt: A chunk consisting of 128 hashes + :figclass: align-center + + A chunk consists of 4096 bytes of the file or a sequence of 128 subtree hashes. + +while in the tree structure, the 32 bytes stored at the node represent the hash of the 128 children. + +.. _fig:treebasic: + +.. figure:: fig/treebasic.pdf + :align: center + :alt: a generic node in the tree has 128 children. + :figclass: align-center + + A generic node in the tree has 128 childern. + +Recall also that during normal swarm lookups, a swarm client performs a lookup for a hash value and receives a chunk in return. This chunk in turn constitutes another 128 hashes to be looked up in return for another 128 hashes and so on until the chunks received belong to the actual file. Here is a schematic: (:numref:`Figure %s `): + +.. _fig:tree2: + +.. figure:: fig/tree2.pdf + :align: center + :alt: the swarm tree + :figclass: align-center + + The swarm tree broken into chunks. + + +Erasure coding the Swarm Tree +=================================== + +We propose using a Cauchy-Reed-Solomon (henceforth CRS) scheme to encode redundancy directly into the swarm tree. The CRS scheme is a systemic erasure code capable of implementing a scheme whereby any :math:`m` out of :math:`n` fix-sized pieces are sufficient to reconstruct the original data blob of size :math:`m` pieces with storage overhead of :math:`n-m` [#]_ . + +.. rubric:: Footnotes +.. [#] There are open source libraries to do Reed Solomon or Cauchy-Reed-Solomon coding. See https://www.usenix.org/legacy/event/fast09/tech/full_papers/plank/plank_html/, https://www.backblaze.com/blog/reed-solomon/, http://rscode.sourceforge.net/. + +Once we have the :math:`m` pieces of the original blob, CRS scheme provides a method to inflate it to size :math:`n` by supplementing :math:`n-m` so called parity pieces. With that done, assuming :math:`p` is the probability of losing one piece, if all :math:`n` pieces are independently stored, the probability of loosing the original content is :math:`p^{n-m+1}` exponential while extra storage is linear. These properties are preserved if we apply the coding to every level of a swarm chunk tree. + +Assuming we fix :math:`n=128` the branching factor of the swarm hash (chunker). +The chunker algorithm would proceed the following way when splitting the document: + + 1. Set input to the data blob. + 2. Read the input 4096 byte chunks at a time. Count the chunks by incrementing :math:`i`. + IF fewer than 4096 bytes are left in the file, fill up the last fraction to 4096 + 3. Repeat 1 until there's no more data or :math:`i \equiv 0` mod :math:`m` + 4. If there is no more data add padding of :math:`j` chunks such that :math:`i+j \equiv 0` mod :math:`m`. + 5. use the CRS scheme on the last :math:`m` chunks to produce :math:`128-m` parity chunks resulting in a total of 128 chunks. + 6. Record the hashes of the 128 chunks concatenated to result in the next 4096 byte chunk of the next level. + 7. If there is more data repeat 1. otherwise + 8. If the next level data blob is of size larger than 4096, set the input to this and repeat from 1. + 9. Otherwise remember the blob as the root chunk + + +Let us now suppose that we divide our file into 100 equally sized pieces, and then add 28 +more parity check pieces using a Reed-Solomon code so that now any 100 of the 128 pieces are +sufficient to reconstruct the file. On the next level up the chunks are composed of the hashes of +their first hundered data chunks and the 28 hashes of the parity chunks. Let’s take the first 100 +of these and add an additional 28 parity chunks to those such that any 100 of the resulting 128 +chunks are sufficient to reconstruct the origial 100 chunks. And so on on every level. In terms of +availability, every subtree is equally important to every other subtree at this level. The resulting +data structure is not a balanced tree since on every level i the last 28 chunks are parity leaf +chunks while the first 100 are branching nodes encoding a subtree of depth :math:`i-1` redundantly. +Then a typical piece of our tree would look like this: (:numref:`Figure %s `) + +.. _fig:tree-with-erasure: + +.. figure:: fig/tree-with-erasure.pdf + :align: center + :alt: the swarm tree with erasure coding + :figclass: align-center + + The swarm tree with extra parity chunks. Chunks :math:`p^{101}` through :math:`p^{128}` are parity data for chunks :math:`h^1_1 - h^1_{128}` through :math:`h^{100}_1 - h^{100}_{128}`. + + + + +Two things to note + + * This pattern repeats itself all the way down the tree. Thus hashes :math:`h^1_{101}` through :math:`h^1_{128}` point to parity data for chunks pointed to by :math:`h^1_1` through :math:`h^1_{100}`. + * Parity chunks :math:`p^i` do not have children and so the tree structure does not have uniform depth. + +The special case of the last chunks in each row +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If the size of the file is not a multiple of 4096 bytes, then it cannot be evenly divided into chunks. The current strategy is to simply fill up the last incomplete chunk to fill 4096 bytes. The next step in the encoding process is to add the parity chunks. We choose some erasure coding redundancy parameters (for example 100-of-128) and we process the file 100 chunks at a time, encoding to 128 each time. + +If the number of file chunks is not divisible by 100, then we cannot proceed with the last batch in the same way as the others. We propose that we encode the remaining chunks with an erasure code that guarantees at least the same level of security as the others. Note that it is not as simple as choosing the same redundancy. For example a 50-of-100 encoding is much more secure against file loss than a 1-of-2 encoding even though the redundancy is 100% in both cases. Overcompensating, we could say that there should always be the same number of parity chunks (eg. 28) even when there are fewer (than 100) data chunks so that we alwasy end up with m-of-m+28. We repeat this procedure in every row in the tree. + +However it is not possible to use our m-of-n scheme on a single chunk (m=1) because it would amount to n copies of the same chunk. The problem of course is that any number of copies of the same chunk all have the same hash and are therefore indistinguishable in the swarm. Thus when there is only a single chunk left over at some level of the tree, we'd have to apply some transformation to it to obtain a second (but different) copy before we could generate more parity chunks. + +In particular this is always the case for the root chunk. To illustrate why this is critically important, consider the following. The root hash points to the root chunk. If this root chunk is lost, then the file is not retrievable from the swarm even if all other data is present. Thus we must find an additional method of securing and accessing the information stored in the root chunk. + +Whenever a single chunk is left over (m=1) we propose the following procedure. + + 1. If the chunk is smaller than 4096 bytes, we use diferential padding to make n different 4096-byte chunks containing the data. + 2. If the chunk is full size we apply n different reversible permutations to get n different copies. For example we could use cyclic permutations [#]_ . + +.. rubric:: Footnotes +.. [#] Alternatively, we could formally differentiate the chunks using the filesize data. In swarm, each 4096 byte chunk is actually stored together with 8 bytes of meta information - currently only storing the size of the subtree encoded by the chunk. It is plausible for a future implementation of swarm to use 1 byte of meta-information in order to differentiate multiple copies of the same data. + + +Benefits of CRS merkle tree +============================= + +This per-level m-of-n Cauchy-Reed-Solomon erasure code introduced into the swarm chunk tree does not only ensure file availability, but also offers further benefits of increased resilience and ways to speed up retrieval. + +All chunks are created equal +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +A tree encoded as suggested above has the same redundancy at every node [#]_. + +.. rubric:: Footnotes +.. [#] If the filesize is not a specific multiple of 4096 bytes, then the last chunk at every level will actually have a higher redundancy even than the rest. + +This means that chunks nearer to the root are no longer more important than chunks near the file. Every node has an m-of-128 redundancy level and no chunk after the root chunk is more important than any other chunk. +A problem that immediately presents itself is the following: if nodes are compensated only for serving chunks, then less popular chunks are less profitable and more likely to be deleted; therefore, if users only download the 100 data chunks and never request the parity chunks, then these are more likely to get deleted and ultimately not be available when they are finally needed. +Another approach would be to use non-systemic coding. A systemic code is one in which the data remains intact and we add extra parity data whereas in a non-systemic code we replace all data with parity data such that (in our example) all 128 pieces are really created equal. While the symmetry of this approach is appealing, this leads to forced decoding and thus to a high CPU usage even in normal operation and it also prevents us from streaming files from the swarm. +Luckily the problem is solved by the automated audit scheme which audits the integrity of all chunks and does not distinguish between data or parity chunks. + +Self healing +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Any client downloading a file from the swarm can detect if a chunk has been lost. The client can reconstruct the file from the parity data (or reconstruct the parity data from the file) and resync this data into the swarm. That way, even if a large fraction of the swarm is wiped out simultaneously, this process should allow an organic healing process to occur and it is encouraged that the default client behavior should be to repair any damage detected. + +Improving latecy of retrievals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Alpha is the name the original Kademlia gives to the number of peers in a Kademlia bin that are queried simultaneously during a lookup. The original Kademlia paper sets alpha=3. This is impractical for Swarm because the peers do not report back with new addresses as they would do in pure Kademlia but instead forward all queries to their peers. Swarm is coded in this way to make use of semi-stable longer-term devp2p connections. Setting alpha to anything greater than 1 thus increases the amount of network traffic substantially – setting up an exponential cascade of forwarded lookups (but it would soon collapse back down onto the target of the lookup). +However, setting alpha=1 has its own downsides. For instance, lookups can stall if they are forwarded to a dead node and even if all nodes are live, there could be large delays before a query is complete. The practice of setting alpha=2 in swarm is designed to speed up file retrieval and clients are configured to accept chunks from the first/fastest forwarding connection to be established. +In an erasure coded setting we can in a sense have a best of both worlds. The default behavior should be to set alpha=1 i.e. to query one peer only for each chunk lookup, but crucially, to issue a lookup request not just for the data chunks but for the parity chunks as well. The client then could accept the first m of every 128 chunks queried to get some of the same benefits of faster retrieval that redundant lookups provide without a whole exponential cascade. + diff --git a/swarm/docs/sw^3/fig/chunk.pdf b/swarm/docs/sw^3/fig/chunk.pdf new file mode 100644 index 0000000000000000000000000000000000000000..52e6f722dbcbc471bc949cf0f1cff06ab505bdb7 GIT binary patch literal 33845 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

#|8>?2e zi*zG)cJAVs?Ynne(Bbh1(Zm7PJt*EZJ;Iq2iA;$C+1_+_3Kz?n!=id!UR#fn-HY?!-LFHNTbMO$ z_>D?FDZ151tGk7^ z|Gv&JAL^a01FITnP9=Sj@4*4f^)lC_M+S!HBk6S7oHBRr7`Qp|86dBpbd>V4-cn3-(GAxMW@2!&y!CRV%QWTTzfoB$UjlI}#a= zoy~SsuDE1a4@|$IBl1gC4On*Pz@|g%d(;r!z$ws=C&-TPR?q_BC?Y#7QW)?R!VwG;OKN5#d=CY4g;vd^I+Sup zt{YL;NHB}Qq_&c@Aa2A=2?G?NeJ!kbV}P5rNzW5Aorc{8@!{ZDwO(WE;vc~afo@c1 ztd1(kj%95Zl->w2_PmP>ePV*AEMGv!US|u()&1*wU}D2sC!krD!RFSiS0D-*fUN0pFU@N(yS>NuD%RB?O4LOGgr z*u#;y7;^T;MfM`pc80QsaFF5Rcj7ocCUZno^@@CX)OV!&zF#j=I#E#5t5#t&)y=#b zIE{!ihf#|T6Ip4!sZ&~s^W5BN=u=E4#Rv)agh_6hDE;{n#!WN}1uaS+*6?)UE>@s? znLm|<`ZZ6Am46?U_as6xy!9y@w9WS|B6Fj%VPa|Ri6Lkfeiwy>`3*$7g#I6eBZzlIq_Igc$aC2lhN1V6*0>Z1(se&fQ+(tJAoy2ox?)AbKK~+r!$DI)yz1G>QF;E;~#1L{N~| z6z&>GciMRJTQ_pL3T+M!3GCB3YJ7VmT$IR%DdE|-6C#>ZT+v9$_JlefiI3pS3G&SD zfpPq$ZV-Qvolw_3dnB0E)pRo)oM|1N-*3B>$EJ=y_KjQm?R7xWMzW$nr*4!<WlJqVceeS~T&0j$dy> zQEG<;t7656qjj%Ga)C|6C^kfayZDQk8nHXE9EE>2Qgyk@1@nB@J6S%bxvKLWmFzMXMNWQ0{tlGI8Kql27L1;q>E^{R4gXqF z-VY#t!!o(N9(Ivr?{Lo8&ZwtpTnQILR`Q4T+8M91X8&X28lhE12zndDG2-beDdf!! zk#xd)@wT$iOA}aA9?#i$u?+q#qiOo_9z`Z^zdIn13{9tOB%doL<>|uHwHM(N?y%xLdBhE0uzX0LP|oI!!tUYA zmO-bF@a0o9TSd75e<#hK^rYCFN+Dcp?@r!`qo+<2>Gi`IErF08+cSGz*Zcrb@)yH3 zkeB#2YU99QHYY{aNAQummM*5djVBYl4 zf3;H+OUztNxI+G_|I$W5iZbbVBhpjF7+&!TcP^Fl9zhDuGDqDKKLIE#kFBA&-AnS^ zCmIyKDrycSUEdzPds-j_(_^v-%TQBvQl;_D%*D%)pIr`JNK2JyZB3W6vU_+p5fzYx z;Vfy(MhYQMD0I3b$8^Y=zzTxTA79z@(;63nhKrDV;n*og(`w}ye2jJ+bb)Hsxb!@a z^?VK?ze-P{&omG0krZ^j(q$J+wbz@DBzZ0$g3~-W2V#6Zr*!~>;gccD-NrV1lOrFR zh0e;Q0YSvHAVxyoF9F5B_U|xEx$!A`O z5u)4lZTr~D%VM&#i;zdmVXlth+ z!|Anbdij)9#7>8c?qs5M=gH2#7)ONx*09w38x_1NP(}p5Y((YB_q=a~kXJ0t&>QpJ zM;_Y1!)w$lhsod~+%(fMuP~})nqfiU&R5e}$7tA5SCa~9zmplCJuGZJ;8l78!FcGF zCHBT-a;=5QFlF}d%eeII+o~L=sxwH!4$uenFCsqkxj|1YIBayapTN{zz6nO#) z5iTYMMm7d!W=2L91~z6kY6d291_tuqak921|9?YN91QL3Oig|x=?$$MO`+%&R75rC z#GI|Hj0|mT{-YL^KNgMzzt{h&iH1PU)WPw0Y650DMixd^P9`>1S|&QS|E%?YR!AUY z;bKbgTNEq3h^diZrY{$C}WD(-fs z1oZMomdZ}nQ1o&HjK4xoF$)Jrr(byS{|PwfU}X7U7$U)c^jbOnmP;>Y^}8k_rpC4= zrvLHs{~f08wqB*W;jqAf;QgY0NerWWL8r-#YbGHDRd_USM`?0zfE4dWVL$AW_sQGQ z+$XmV1L9UoSFz>zEI~a101mtD4^YM;VZ}=krxn;s7f&#I&Iti5Wo%w2EkI&`j4TN! zxi6TXx_c@v$kFHgE4H+(0)+3+OYAkE2Z1=;g{p&no)#GyLG=9cM)vFawHYxQ@X`%- zRt*?hq$6@c9RF5F%0w)~S27egq<({YD+lf*ge6s0WTGYu z>+%TLcWV)Zx$$Nc7~p$Vh4z&R%|>$_$3Wj5iQ2A-braRI+bB=7K{QFM$Vm0Ga_b3D z6hSQ6`o4vS;l|Ul+DP;1xKa?KiN)<0Jb&L2y~k%I!6}*Qz+06fyKQgda@{r-wcNpU zLHM7l`T>a~p}J`KlPxz2dWDF4R=tGWNe|~`YPIs1M1|={E9E0mW!jkq`c@`BZhl^D zevIrKepDRv>Uq*-n*+wui)RT*j)W#RUFnf}Z`?i$It5c$?dI;$oR#5UXA3eJYODj@<0t zVVZO<69ayN)SzB|h=PAmjK1^;h1o{_cA8N?r&X;zrO^0>RgxFH;1APFq;zN}J5^B; z9{DOBJy(=R)98b%RYmw+wRG0VL{QqwN6_dah*0z!N&jot#t6{!tvsj1M6`}e$@|9MY1h{N5U5f55{jzNucQENH$dc; z{%CMr%hyVN%*LJUcKjcc-gZ*;zN)$B{OBEhx8=_5jooB@rD%H8Z@H}-WjEW+socJ# zY{%ENw(nQJoAKTvx9Wp;)yMTO5BA-#h@N7wmOpLVTT7pfA3mjCY55}eU4CY>M;DfI z${cB?ACfsEf>P7C^gZ)ZQY#dq4HS$lV!8B#Gpm649yt9Ut`KdgV5DFO6bs7FFHtZu z1?mq1DNoB+Fai~NAdZVdw2g^@vx}vvlevkjv$3O-fw`-bv6-8JiIaDK2xt&1Nl0JF9mvty8WgH1`8~eI z@+6~x?4HRkK?{Lbmsn@2dYsSRZ0@19QzYop+i%)_o3}pu6=B^T#fTSTmY7|cS`^O literal 0 HcmV?d00001 diff --git a/swarm/docs/sw^3/fig/chunk.tex b/swarm/docs/sw^3/fig/chunk.tex new file mode 100644 index 000000000000..5026cf9ec615 --- /dev/null +++ b/swarm/docs/sw^3/fig/chunk.tex @@ -0,0 +1,20 @@ +\documentclass{standalone} +%\documentclass[a4paper,10pt]{scrartcl} + +\usepackage[utf8]{inputenc} +\usepackage{tikz} +\usetikzlibrary{fit} + +\begin{document} + +\begin{tikzpicture} +\node at (0,1) {Chunk:}; +\node[draw,dashed] (h1) at (2,1) {$h_1$}; +\node[draw,dashed] (h2) at (3,1) {$h_2$}; +\node[draw,dashed] (h3) at (4,1) {$h_3$}; +\node (dots) at (6,1) {$\cdots$}; +\node[draw,dashed] (h128) at (8,1) {$h_{128}$}; +\node[draw,fit=(h1) (h2) (h3) (dots) (h128)]{}; +\end{tikzpicture} + +\end{document} diff --git a/swarm/docs/sw^3/fig/tree-with-erasure.pdf b/swarm/docs/sw^3/fig/tree-with-erasure.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9f37f8ab2bc560a165b40b278a14ecc99fb626e4 GIT binary patch literal 34462 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%0A{_Bqwg(Esw+xw9L{!WuDtPegF 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 F1pqMmu8aTx literal 0 HcmV?d00001 diff --git a/swarm/docs/sw^3/fig/tree-with-erasure.tex b/swarm/docs/sw^3/fig/tree-with-erasure.tex new file mode 100644 index 000000000000..dafbd9593f2d --- /dev/null +++ b/swarm/docs/sw^3/fig/tree-with-erasure.tex @@ -0,0 +1,35 @@ +\documentclass{standalone} +%\documentclass[a4paper,10pt]{scrartcl} + +\usepackage[utf8]{inputenc} +\usepackage{tikz} +\usetikzlibrary{fit} + +\begin{document} + +\begin{tikzpicture} +\node[draw,dashed] (root) at (3.5,3) {hash($h_1$-$h_{128}$)}; +\node[draw,dashed] (h1) at (1,1) {$h_1$}; +\node (dots1) at (2,1) {$\cdots$}; +\node[draw,dashed] (h100) at (3,1) {$h_{100}$}; +\node[draw,fill=lightgray,dashed] (h101) at (4,1) {$h_{101}$}; +\node (dots2) at (5,1) {$\cdots$}; +\node[draw,fill=lightgray,dashed] (h128) at (6,1) {$h_{128}$}; +\node[draw,fit=(h1) (dots1) (h100) (h101) (dots2) (h128)]{}; +\draw (root) -- (h1); +\draw (root) -- (h100); +\draw (root) -- (h101); +\draw (root) -- (h128); +% +\node[draw] (g1) at (0.5,-1) {$h^1_1$ - $h^1_{128}$}; +\node[draw] (g100) at (2.5,-1) {$h^{100}_1$ - $h^{100}_{128}$}; +\node[draw,fill=gray] (p101) at (4,-1) {$p^{101}$}; +\node[draw,fill=gray] (p128) at (6,-1) {$p^{128}$}; +% +\draw (h1) -- (g1); +\draw (h100) -- (g100.30); +\draw (h101) -- (p101); +\draw (h128) -- (p128); + +\end{tikzpicture} +\end{document} diff --git a/swarm/docs/sw^3/fig/tree2.pdf b/swarm/docs/sw^3/fig/tree2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..10037b3f305b4c2c64abbceff2f10246063d8ea7 GIT binary patch literal 36417 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 D_3