Topology-Aware Cooperative Data Protection in Blockchain-Based Decentralized Storage Networks
TTopology-Aware Cooperative Data Protection inBlockchain-Based Decentralized Storage Networks
Siyi Yang , Ahmed Hareedy , Robert Calderbank , and Lara Dolecek Electrical and Computer Engineering Department, University of California, Los Angeles, Los Angeles, CA 90095 USA Electrical and Computer Engineering Department, Duke University, Durham, NC 27708 [email protected], [email protected], [email protected], and [email protected]
Abstract —From currency to cloud storage systems, the con-tinuous rise of the blockchain technology is moving variousinformation systems towards decentralization. Blockchain-baseddecentralized storage networks (DSNs) offer significantly higherprivacy and lower costs to customers compared with centralizedcloud storage associated with specific vendors. Coding is requiredin order to retrieve data stored on failing components. Whilecoding solutions for centralized storage have been intenselystudied, topology-aware coding for heterogeneous DSNs have notyet been discussed. In this paper, we propose a joint coding schemewhere each node receives extra protection through the cooperationwith nodes in its neighborhood in a heterogeneous DSN withany given topology. As an extension of, which also subsumes, ourprior work on coding for centralized cloud storage, our proposedconstruction preserves desirable properties such as scalability andflexibility in networks with varying topologies.
Index Terms —Joint hierarchical coding, cooperative data pro-tection, blockchain technology, decentralized storage networks.
I. I
NTRODUCTION
The blockchain technology, first introduced by SatoshiNakamoto as a technology supporting the digital currencycalled bitcoin, has been intensively discussed and regarded asa substantial innovation in cryptosystems [1]–[3]. Blockchainenables recording transactions through a decentralized de-ployment, which effectively addresses the potential issues ofcompromised data privacy and key abuse, arising from theexistence of a central node that monopolizes all the actionsand resource allocations in traditional centralized systems.Decentralization has the potential to universally revolutionizea variety of applications, one of which is cloud storage.In contrast to traditional centralized storage based on theclient-server model, where big companies monopolize rentingthe storage space to users, blockchain-based decentralizedstorage networks (DSNs) enable non-enterprise users to notonly get access to the network storage space but also tocontribute to increasing it via renting their remaining storagespace on personal devices. Blockchain-based DSNs allocatethe storage space and distribute the encrypted user data withthe validation and integrity certification of a third-party, andthus have potential to offer higher privacy, higher reliability,and lower cost than currently available solutions. It has beenfound that the benefits in data integrity of decentralization aretypically at the cost of higher latency and difficult maintenance.While blockchain technology empowers DSNs to ensurethe network-layer security, appropriate error-correction codes(ECC) are needed to further improve the physical-layer reli-ability. In a coded DSN, data are encoded via an ECC andstored in nodes, where each node is allowed to communicateand exchange information with its neighboring nodes. If data in each node are encoded independently, the system will bevulnerable to information leakage, data loss, and data tamperingby malicious users. Therefore, enabling joint encoding of thedata stored in all nodes such that nodes in the neighborhoodcooperatively protect and validate their stored data collectivelyin the DSN is an essential requirement.In existing literature on coding for distributed storage [4]–[6],there has been no explicit consideration of random distributionsand clustering nature of network nodes. Clustered distributedstorage has received attention in recent years in the contextof multi-rack storage, where either the sizes of clusters andthe capacities of the communication links are considered tobe homogeneous [7]–[10], or the network topology has asimple structure [11], [12]. However, DSNs typically havemore sophisticated topologies characterized by heterogeneityamong capacities of communication links and erasure statisticsof nodes due to the random and dynamic nature of practicalnetworks [12]–[16]. Instead of solutions for simplified models,schemes that fit into any topology (referred to as “topology-awareness” later on) are desired to exploit the existing re-sources, achieving lower latency and higher reliability.To further reduce latency and decoding complexity, wepropose to provide each node with multiple ECC capabilitiesenabled by cooperating with neighboring nodes in a series ofnested sets with increasing sizes: we refer to this as
ECChierarchy later on in the paper. As the size of the set increases,the associated ECC capability increases. In our method, weconsider the case where each node stores encoded messageswith local data protection, where the data length and codewordlength can be customized by the user at each node.In this paper, we introduce a topology-aware coding schemethat enables hierarchical cooperative data protection amongnodes in a DSN, which is built upon our prior work in[17] in the context of centralized cloud storage and preservesdesirable properties like scalability and flexibility. The rest ofthe paper is organized as follows. In Section II, we introducethe DSN model and necessary preliminaries. In Section III,we define ECC hierarchies as well as their depth, and presenta coding scheme with depth . In Section IV, we definethe notion of compatible cooperation graphs, and propose anexplicit construction of hierarchical codes for nodes with theircooperation graph being compatible. Finally, we summarize ourresults and discuss future directions in Section V.II. S YSTEM M ODEL AND P RELIMINARIES
In this section, we discuss the model and mathematicalrepresentation of a DSN, as well as necessary preliminar- a r X i v : . [ c s . I T ] M a y j v j v j ( m j , c j )( m j , c j ) ( m j , c j ) ( m i , c i ) e i,j e i,j e i,j Fig. 1: Decentralized storage network (DSN). For the cluster withthe master node v i , message m i is encoded to c i and symbols of c i are stored distributively among non-master nodes that are locallyconnected to v i . In the figures after Fig. 1, we omit the local non-master nodes for clarity of figures. ies. Throughout the remainder of this paper, [ N ] refers to { , , . . . , N } . For vectors u and v of the same length p , u (cid:31) v and u ≺ v implies u i > v i and u i < v i , for all i ∈ [ p ] ,respectively; u (cid:23) v means “ u (cid:31) v or u = v ”, and u (cid:22) v means “ u ≺ v or u = v ”. A. Decentralized Network Storage
As shown in Fig. 1, a DSN is modeled as a graph G ( V, E ) ,where V and E denote the set of nodes (master only) andedges, respectively. Codewords are stored among the nodes ina cluster. A failed node in a cluster is regarded as an erasedsymbol in the codeword stored in this cluster. A cluster isrepresented in G by its master node v i ∈ V solely. Eachedge e i,j ∈ E represents a communication link connectingnode v i and node v j , through which v i and v j are allowedto exchange information. Denote the set of all neighbors ofnode v i by N i , e.g., N i = { j , j , j } in Fig. 1, and refer toit as the neighborhood of node v i . Messages { m i } v i ∈ V arejointly encoded as { c i } v i ∈ V , and c i is stored in v i . For a DSNdenoted by G ( V, E ) , let p = | V | . Suppose G is associated witha tuple ( n , k , r ) ∈ ( N p ) , where k , r (cid:31) and n = k + r . Notethat k i represents the length of the message m i associated with v i ∈ V ; n i and r i denote the length of c i stored in v i and itssyndrome, respectively. B. Preliminaries
Based on the aforementioned notation, a systematic generatormatrix of a code for G ( V, E ) has the following structure: G = I k A , , . . . ,p , I k A , . . . ,p ... ... ... ... . . . ... ... p, p, . . . I k p A p,p , (1)where all elements are from a Galois field GF ( q ) , q = 2 θ and θ ≥ . The major components of our construction are the so-called Cauchy matrices specified in Definition 1. Definition 1. (Cauchy matrix)
Let s, t ∈ N and GF ( q ) be afinite field of size q . Suppose a , . . . , a s , b , . . . , b t are s × t distinct elements in GF ( q ) . The following matrix is known asa Cauchy matrix , i, ; i, B i d i, d i, i, ; i, B i d i, i, ; i, B i d i, Fig. 2: ECC hierarchy of node v i ∈ V . a − b a − b . . . a − b t a − b a − b . . . a − b t ... ... . . . ... a s − b a s − b . . . a s − b t . We denote this matrix by Y ( a , . . . , a s ; b , . . . , b t ) . III. C
OOPERATIVE D ATA P ROTECTION
In this section, we first mathematically describe the ECChierarchy of a DSN and its depth, which specifies the ECCcapabilities of nodes while cooperating with different sets ofother nodes. We then propose a cooperation scheme where eachnode only cooperates with its single-hop neighbors.
A. ECC Hierarchy
Denote the
ECC hierarchy of node v i ∈ V by a sequence d i = ( d i, , d i, , . . . , d i,L i ) , where L i is called the depth of d i ,and d i,l represents the maximum number of erased symbols v i can recover in its codeword c i from the l -th level cooperation,for all l ∈ [ L i ] . The -th level cooperation refers to local erasurecorrection, i.e., the local node v i recovers its data withoutcommunicating with neighboring nodes.For each v i ∈ V such that L i > , there exist two seriesof sets of nodes, denoted by ∅ ⊂ A i ⊂ A i ⊂ · · · ⊂ A L i i ⊆ V and {B li } L i l =1 , where A li ∩ B li = ∅ for all l ∈ [ L i ] , and asequence ( λ i,l ; W ) ∅ ⊆W⊆B li . In the l -th level cooperation, node v i ∈ V tolerates λ i,l ; W ( ∅ ⊆ W ⊆ B li ) erasures if all nodesin A li ∪ W are able to decode their own messages, where themaximum value is λ i,l ; B li = d i,l and is reached when W = B li ;the minimum value is λ i,l ; ∅ and is reached when W = ∅ . SeeFig. 2. We first take a look at the cooperation schemes withECC hierarchy of depth . B. Single-Level Cooperation
We next discuss the case where each node only has coop-eration of depth . Consider a DSN represented by G ( V, E ) that is associated with parameters ( n , k , r ) and a class ofsets {M i } v i ∈ V such that ∅ ⊂ M i ⊆ N i , for all v i ∈ V .In Construction 1, we present a joint coding scheme wherenode v i only cooperates with nodes in M i , for all v i ∈ V .Heterogeneity is obviously achieved since n i , k i , r i , are notrequired to be identical for all v i ∈ V . Construction 1.
Let G ( V, E ) represent a DSN associated withparameters ( n , k , r ) and a local ECC parameter δ , where r (cid:31) δ (cid:23) . Let p = | V | and GF ( q ) be a Galois field of size q ,where q > max v i ∈ V (cid:16) n i + δ i + (cid:80) j ∈M i δ j (cid:17) . , B , U , U A , B , U , U , U A , B , U , U A , B , U B , U , U , U A , B , U , U , U B , U A , B , U , U A , B , U B , U , U
00 0 0 0 B , U , U A , B , U , U B , U A , B , U , U A , B , U B , U , U , U A , B , U , U B , U A , (3) v v v v v v v v v v v v A B Fig. 3: DSN for Example 1.
For i ∈ [ p ] , let a i,x , b i,y , x ∈ [ k i + δ i ] , and y ∈ (cid:104) r i + (cid:80) j ∈M i δ j (cid:105) be distinct elements of GF ( q ) . ConsiderCauchy matrix T i ∈ GF ( q ) ( k i + δ i ) × ( r i + (cid:80) j ∈M i δ j ) such that T i = Y ( a i, , . . . , a i,k i + δ i ; b i, , . . . , b i,r i + (cid:80) j ∈M i δ j ) . Matrix G in (1) is assembled as follows. For i ∈ [ p ] , obtain { B i,j } j ∈M i , U i , A i,i , according to the following partition of T i , T i = (cid:20) A i,i B i,j . . . B i,j |M i | U i Z i (cid:21) , (2) where M i = { j , j , . . . , j |M i | } , A i,i ∈ GF ( q ) k i × r i , U i ∈ GF ( q ) δ i × r i , B i,j ∈ GF ( q ) k i × δ j for v i ∈ V and v j ∈ M i .Let A i,j = B i,j U j if v j ∈ M i , otherwise let it be a zeromatrix. Denote the code with generator matrix G by C . Theorem 1.
In a DSN with C , d i = ( r i − δ i , r i + (cid:80) j ∈M i δ j ) , A i = M i and B i = (cid:83) v j ∈M i ( M j \ ( { v i } ∪ M i )) ,for all v i ∈ V . The ECC hierarchy associatedwith d i, is ( λ i, W ) ∅ ⊆W⊆B i , where λ i, W = r i + (cid:80) v j ∈M i , ( M j \{ v i } ) ⊆ ( M i ∪W ) δ j .Proof. The local ECC capability d i, = r i − δ i at node v i hasbeen proved in [17, Construction 1]. Therefore, we only need toprove the statement associated with the -st level cooperation,and we discuss it in Example 1.We first notice that for any v i ∈ V , v j ∈ M i , if m j isrecoverable, then since A j,j and U j have linearly independentcolumns, the sum s j of cross parities m j (cid:48) B j (cid:48) ,j generatedbecause of { B j (cid:48) ,j U j } v j (cid:48) ∈M j can be calculated. If all themessages { m j (cid:48) } v j (cid:48) ∈M j \{ v i } are further recoverable, then thecross parities m i B i,j generated because of matrix B i,j U j canbe computed from m i B i,j = s j − (cid:80) v j (cid:48) ∈M j \{ v i } m j (cid:48) B j (cid:48) ,j .Previous discussion implies that for any ∅ ⊆ W ⊆ B i ,if ( M j \ { v i } ) ⊆ ( M i ∪ W ) , then the additional δ j crossparities m i B i,j for m i can be obtained. Therefore, λ i, W = r i + (cid:80) v j ∈M i , ( M j \{ v i } ) ⊆ ( M i ∪W ) δ j and d i, = λ i, B i = r i + (cid:80) j ∈M i δ j . (cid:4) Example 1.
Consider the DSN shown in Fig. 3, let M i = N i inConstruction 1, for all i ∈ [12] . The matrix in (3) is obtained byremoving all the block columns of identity surrounded by zeromatrices from the generator matrix (1) of C , and is referredto as the non-systematic component of the generator matrix.Take node v as an example. Observe that A = M = { v , v , v } , A = M = { v } , A = M = { v , v } , and A = M = { v , v , v , v } . Therefore, B = (cid:83) j ∈{ , , } M j \{ v , v , v , v } = { v , v , v } . Moreover, d = ( r − δ , r + (cid:80) j ∈{ , , } δ j ) , λ , ∅ = λ , { v } = λ , { v } = λ , { v ,v } = r + δ , λ , { v } = λ , { v ,v } = λ , { v ,v } = r + δ + δ ,and λ , { v ,v ,v } = r + δ + δ + δ .Consider the case where the -st level cooperation of v is initiated, i.e, the number of erasures lies within the inter-val [ r − δ + 1 , r + δ + δ + δ ] . Then, if m , m , m areall locally recoverable, the cross parities m B , , m B , , m B , computed from the non-diagonal parts in the generatormatrix can be subtracted from the parity part of c to get m A , . Moreover, the successful decoding of m makes m B , known to v . This process provides ( r + δ ) paritiesfor m , and thus allows v to tolerate ( r + δ ) erasures.In order to correct more than ( r + δ ) erasures, we needextra cross parities generated from B , U and B , U .However, local decoding only allows v , v to know m B , + m B , and m B , + m B , + m B , + m B , , respec-tively. Therefore, v needs m to be recoverable to obtainthe extra δ cross parities, and v needs m , m , m to berecoverable to obtain the extra δ cross parities. As shown in Example 1, instead of presenting a rigid ECCcapability, our proposed scheme enables nodes to have cor-rection of a growing number of erasures with bigger setsof neighboring nodes recovering their messages. Therefore,nodes automatically choose the shortest path to recover theirmessages, significantly increasing the average recovery speed,especially when the erasures are distributed non-uniformly andsparsely, which is important for blockchain-based DSNs [18],[19]. Moreover, nodes with higher reliabilities are utilized tohelp decode the data of less reliable nodes, enabling correctionof error patterns that are not recoverable in our previous workin [17]. We show these properties in Example 2 and Example 3.
Example 2. (Faster Recovery Speed)
Consider the DSN withthe cooperation scheme specified in Example 1. Suppose thetime to be consumed on transferring information through thecommunication link e i,j is t i,j ∈ R + , where t i,j = t j,i for all i, j ∈ [12] , i (cid:54) = j , and max { t , , t , } < ( t , + t , ) < t , +min { t , , t , , t , } .Consider the case where node c has ( r +1) erasures, which v v v v v v v v v v v Fig. 4: The erasure pattern in Example 3. implies that apart from the case of m , m , m being obtainedlocally, recovering m is sufficient for v to successfully obtainits message. The time consumed for decoding is ( t , + t , ) .Therefore, any system using network coding with the propertythat a node failure is recovered through accessing more than other nodes will need longer processing time for this case. Example 3. (Flexible Erasure Patterns)
Consider the DSNwith the cooperation scheme specified in Example 1. Suppose { m i } i/ ∈{ , , , } are all locally recoverable. Then, consider thecase where m i has ( r i +1) erasures for i ∈ { , , , } , whichexemplifies a correctable erasure pattern for our proposedcodes.The hierarchical coding scheme presented in [17] can re-cover from this erasure pattern only if the code used adopts apartition of all nodes into disjoint groups, each of which con-tains exactly a node from { v , v , v , v } , as shown in Fig. 4.Moreover, the partition of the code in [17] results in a reductionof the ECC capability of the -st level cooperation at every nodeexcept for v , v because the additional information originallyflow through edges marked in blue no longer exist. IV. M
ULTI -L EVEL C OOPERATION
In this section, we extend the construction presented inSection III-B to codes with ECC hierarchies of depth largerthan . We first define the so-called cooperation graphs thatdescribe how the nodes are coupled to cooperatively transmitinformation, and then prove the existence of hierarchical codesover a special class of cooperation graphs: the so-called com-patible graphs . A. Cooperation Graphs
Based on the aforementioned notation, for each v i ∈ V and l ∈ [ L i ] , let I li = A li \ A l − i and refer to it as the l -th helper of v i . We next define the so-called cooperation matrix . Definition 2.
For a joint coding scheme C for a DSN repre-sented by G ( V, E ) with | V | = p , the matrix D ∈ N p × p , inwhich D i,j equals to l for all i, j ∈ [ p ] such that j ∈ I li , andzero otherwise, is called the cooperation matrix . As an example, the cooperation matrix in Example 1 isexactly the adjacency matrix of the graph in Fig. 3. Note thatnot every matrix is a cooperation matrix of a set of joint codingschemes. In Section IV-B, we prove the existence of codes if thecooperation matrix represents a so-called compatible graph .Before going into details of the construction, we look at anexample to obtain some intuition.
Example 4.
Recall the DSN in Example 1. We present a codingscheme with the cooperation matrix specified in the left part * * * * * * * * * * *
1v v w w 1 1 ** * * * * * * * * * *
13 3 3 3 1 1 * ↵ ↵ Fig. 5: Matrices D (left) and X (right) in Example 4. of Fig. 5. The non-systematic part of the generator matrix isshown in (4), which is obtained through the following process:1) Partition all the non-zero-non-one elements into structuredgroups, each of which is marked by either a rectangle ora hexagon in D , as indicated in the left part of Fig. 5;2) Replace the endpoints of each horizontal line segment inStep 1 with s ∈ S ( S is a set of symbols), as indicated inthe right part of Fig. 5; denote the new matrix by X ;3) Assign a parameter γ s ∈ N to each s ∈ S , and a matrix B (cid:48) s ∈ GF k i × γ s to any ( i, j ) such that X i,j = s ;4) For each i ∈ [ p ] , l ∈ [ L ] , let η i ; l = max s : k ∈I li , X k,i = s γ s ,assign V i ; l ∈ GF ( q ) η i ; l × r i to v i ; let B s = (cid:2) B (cid:48) s , η i ; l − γ s (cid:3) ;assign A i,j = B s V j ; l for s = X i,j , l = D i,j .5) Assign A i,j for X i,j = 1 according to Construction 1.Let us again focus on node v . Let I = { v , v , v } , I = { v , v } , I = { v , v } . Then, B = { v , v , v } , B = { v , v } , B = ∅ , d , = r − δ − η i ;2 − η i ;3 , d , = d , + δ + δ + δ + δ , d , = d , + γ c , d , = d , + γ d .We first show that knowing { m j } v j ∈A is sufficient for re-moving s = (cid:80) j ∈I m j B j, U + (cid:80) l =2 (cid:80) j ∈I l m j B X j, V l from the parity part of c . Note that if A i,i , U i and { V i ; l } l ∈{ , } are linearly independent, then for all l , (cid:80) j ∈I li m j B X j,i is recoverable if m i is recoverable. In ourexample, this means that { m j U j, } j =1 , , , m B m + m B o , m B o + m B x are known: the sum of them is exactly s .Therefore, s is removed through the -st level cooperation.We next show that additional parities are obtained through l -th level cooperations with l = 2 , .In the -nd level cooperation, m , m are known. Therefore, m B c + m B e + m B α + m B β is also known. We remove m B e that is obtained via v . In order to obtain the γ c paritiesfrom m B c , one needs m , m to be recoverable. Therefore, B = { v , v } , d , = d , + γ c , λ , ∅ = d , . As shown in the first step in Example 4, the cooperationmatrix adopts a partition of non-zero-non-one elements intogroups where each of them forms a cycle. Suppose thereare T cycles. Represent each cycle with index t ∈ [ T ] by a tuple ( X t , Y t , { X t ; j } j ∈ Y t , { Y t ; i } i ∈ X t , l t ) , where X t , Y t denote the indices of the rows and the columns ofthe cycle, respectively; l t denotes the number assigned tothe vertices of the cycle; X t ; j = { i , i } for j ∈ Y t and ( i , j ) , ( i , j ) are the vertices of cycle t ; Y t ; i = { j , j } for i ∈ X t and ( i, j ) , ( i, j ) are the vertices of cycle t . Forexample, let t = 1 for the blue cycle at the bottom leftpart of the matrices in Fig. 5. Then, it is represented by ( { , , } , { , , } , { X j } j ∈{ , , } , { Y i } i ∈{ , , } , , , B , U , U A , B , U , U c V B c V B d V B d V
00 B , U A , B , U e V B e V B f V B f V
00 0 B , U A , B , U B , U α V B α V B g V B g V
00 B , U , U A , B , U , U h V h V , U B , U A , B , U B β V B β V B j V j V , U A , B , U B , U B l V B , U B l V m V B m V B y V B , U B y V B , U A , B , U B n V B n V
00 B o V B o V B z V z V B , U B , U A , B , U B p V B p V q V B q V B r V r V B s V B s V B , U A , B , U B , U x V B x V B t V B t V , U B u V B u V B , U A , B , U v V B v V B w V w V B , U B , U A , (4) v v v v v v v v v v v v Fig. 6: Cooperation graph of Example 4. where X = { , } , X = { , } , X = { , } , Y = { , } , Y = { , } , Y = { , } .Observe that cycle t ∈ [ T ] in Fig. 5 essentially representsa pair of disconnected edges or triangles with vertices from X t and Y t . We mark X t , Y t , draw a directed edge with label l from X t to Y t for each t ∈ [ T ] , and obtain the so-called cooperation graph . The cooperation graph for the codingscheme in Example 4 is shown in Fig. 6. B. Construction Over Compatible Graphs
We have defined the notion of cooperation graphs in Sec-tion IV-A. Observe that the cooperation graph shown in Fig. 6satisfies a set of conditions that define the so-called compatiblegraph . We show in Theorem 2 the existence of a hierarchicalcoding scheme with cooperation graph G if G is a compatiblegraph. The coding scheme is presented in Construction 2. Definition 3.
Let G be a cooperation graph on G ( V, E ) that isrepresented by { ( X t , Y t , { X t ; j } j ∈ Y t , { Y t ; i } i ∈ X t , l t ) } t ∈ [ T ] , andlet the -st level cooperation graph be G . Let M i denote theset of nodes that have an outgoing edge pointing at v i in G . Foreach v i ∈ V , l ∈ [ L i ] , let R i ; l = { t : i ∈ Y t , t ∈ [ T ] , l t = l } , R i = (cid:83) l ∈ [ L i ] R i ; l , T i ; l = { t : j ∈ R i ; l ∩ Y t ; i , t ∈ [ T ] } , and V i ; l = (cid:83) t ∈ R i ; l Y t . We call G a compatible graph on G if thefollowing conditions are satisfied:1) For each v i ∈ V , sets in { Y t } t ∈ R i are disjoint;2) For each v i ∈ V , l ∈ [ L i ] , and any node v j such that j ∈ V i ; l \ { v i } , V j ; l ⊆ M i . Note that in Definition 3, R i ; l consists of indices of all thecycles that define a level- l cooperation at node v i ; T i ; l consistsof indices of all the cycles that provide extra parities in the l -th level cooperation of node v i ; V i ; l consists of all the nodesthat are required to be recovered in order to obtain the crossparities at v i resulting from the l -th level cooperation. Construction 2.
Let G ( V, E ) represent a DSN with parameters ( n , k , r ) . Suppose G is a compatible graph of depth L on G , with parameters { ( X t , Y t , { X t ; j } j ∈ Y t , { Y t ; i } i ∈ X t , l t ) } t ∈ [ T ] ,and the -st level cooperation graph is denoted by G (othernecessary parameters are as they are in Definition 3). * B li I i I li t s j ; l j s i ; l + X V i ; l \ V j ; l = ? s j ; l = v i I i I li B li Fig. 7: Proof of Theorem 2.
Let δ be the -st level cooperation parameter. For each v i ∈ V , ≤ l ≤ L i , and any t ∈ T i ; l , assign cooperation parameter γ i ; t to C t ; let η j ; l = max t ∈ R j ; l ,i ∈ X t ; j γ i ; t .Let u i = k i + δ i + (cid:80) L i l =2 η i ; l , v i = r i + (cid:80) j ∈M i δ j + (cid:80) ≤ l ≤ L i ,t ∈ T i ; l γ i ; t , for i ∈ [ p ] . For each i ∈ [ p ] , let a i,s , b i,t , s ∈ [ u i ] and t ∈ [ v i ] be distinct elements of GF ( q ) , where q ≥ max i ∈ [ p ] { u i + v i } .Matrix G in (1) is assembled as follows. Considerthe Cauchy matrix T i on GF ( q ) u i × v i such that T i = Y ( a i, , . . . , a i,u i ; b i, , . . . , b i,v i ) , for i ∈ [ p ] . Then, we obtain A i,i , B i,j , E i ; l , U i , V i ; l , for i ∈ [ p ] , j ∈ [ p ] \ { i } , accordingto the following partition of T i , T i = A i,i B i E i ;2 . . . E i ; L i U i V i ;2 ... V i ; L i Z i , (5) where B i = (cid:2) B i,j . . . B i,j |M i | (cid:3) , (6) and E i ; l = (cid:104) E i ; l ; t . . . E i ; l ; t | Ti ; l | (cid:105) , (7) such that M i = { j , j , . . . , j |M i |} , T i ; l = { t , t , . . . , t | T i ; l | } , A i,i ∈ GF ( q ) k i × r i , U i ∈ GF ( q ) δ i × r i , V i ; l ∈ GF ( q ) η i ; l × r i , B i,j ∈ GF ( q ) k i × δ j for all v j ∈ M i , and E i ; l ; t ∈ GF ( q ) k i × γ i ; t .Let B i,j = (cid:2) E i ; l ; t , k i × ( η j ; l − γ i ; t ) (cid:3) , and A i,j = B i,j V j ; l , forall j ∈ Y t ; i , t ∈ T i ; l ; let A i,j = B i,j U j for v j ∈ M i ;otherwise A i,j = k i × r i . Substitute components of G in(1) correspondingly. Let C represent the code with generatormatrix G . Theorem 2.
The code C has ECC hierarchies d i =( d i, , d i, , . . . , d i,L i ) , for all v i ∈ V , where d i, = r i − δ i − (cid:80) L i l =2 η i ; l , d i, = r i + (cid:80) j ∈M i δ j , and d i,l = r i + (cid:80) j ∈M i δ j + (cid:80) ≤ l (cid:48) ≤ l,t ∈ T i ; l (cid:48) γ i ; t . Moreover, I i = M i , B i = v j ∈M i ( M j \ ( { v i } ∪ M i )) ; for ≤ l ≤ L i , I li = (cid:83) t ∈ R i ; l X t ; i , B li = (cid:83) v j ∈I li (cid:0) I lj \ ( { v i } ∪ A li ) (cid:1) (recall A li = (cid:83) l (cid:48) ≤ l I l (cid:48) i ), λ i,l ; W = r i + (cid:80) v j ∈M i , ( M j \{ v i } ) ⊆ ( M i ∪W ) δ j + (cid:80) ONCLUSION Hierarchical locally accessible codes in the context of cen-tralized networks have been discussed in various prior works,whereas those of DSNs (no prespecified topology) have notbeen explored. In this paper, we presented a topology-aware cooperative data protection scheme for DSNs, which is anextension of, and subsumes, our previous work on hierarchicalcoding for centralized distributed storage. Our scheme achievesfaster recovery speed compared with existing network codingmethods, and corrects more erasure patterns compared with ourprevious work. Our work exploits the power of the blockchaintechnology in DSNs, and it has potential to be applied in WSNs.A CKNOWLEDGMENT This work was supported in part by NSF under the grantsccf-bsf 1718389 and CCF 1717602, and in part by AFOSRunder the grant FA 9550-17-1-0291.R EFERENCES[1] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” Manubot,Tech. Rep., 2019.[2] M. Crosby, P. Pattanayak, S. Verma, V. Kalyanaraman et al. , “Blockchaintechnology: Beyond bitcoin,” Applied Innovation , vol. 2, no. 6-10, p. 71,2016.[3] V. Bagaria, S. Kannan, D. Tse, G. Fanti, and P. Viswanath,“Deconstructing the blockchain to approach physical limits,” 2018.[Online]. Available: https://arxiv.org/abs/1810.08092[4] A. G. Dimakis, P. B. Godfrey, Y. Wu, M. J. Wainwright, and K. Ram-chandran, “Network coding for distributed storage systems,” IEEE Trans.Inf. Theory , vol. 56, no. 9, pp. 4539–4551, Sept 2010.[5] Z. Kong, S. A. Aly, and E. Soljanin, “Decentralized coding algorithmsfor distributed storage in wireless sensor networks,” IEEE Journal onSelected Areas in Communications , vol. 28, no. 2, pp. 261–267, 2010.[6] M. Ye and A. Barg, “Cooperative repair: Constructions of optimal mdscodes for all admissible parameters,” IEEE Transactions on InformationTheory , vol. 65, no. 3, pp. 1639–1656, 2018.[7] A. Tebbi, T. H. Chan, and C. W. Sung, “Multi-rack distributed datastorage networks,” IEEE Transactions on Information Theory , vol. 65,no. 10, pp. 6072–6088, 2019.[8] H. Hou, P. P. Lee, K. W. Shum, and Y. Hu, “Rack-aware regeneratingcodes for data centers,” IEEE Transactions on Information Theory , 2019.[9] Z. Chen and A. Barg, “Explicit constructions of msr codes for clustereddistributed storage: The rack-aware storage model,” 2019. [Online].Available: https://arxiv.org/abs/1901.04419[10] N. Prakash, V. Abdrashitov, and M. M´edard, “The storage versus repair-bandwidth trade-off for clustered storage systems,” IEEE Transactions onInformation Theory , vol. 64, no. 8, pp. 5783–5805, 2018.[11] J. Li, S. Yang, X. Wang, and B. Li, “Tree-structured data regeneration indistributed storage systems with regenerating codes,” in . IEEE, 2010, pp. 1–9.[12] J. Pernas, C. Yuen, B. Gast´on, and J. Pujol, “Non-homogeneous two-rack model for distributed storage systems,” in . IEEE, 2013, pp. 1237–1241.[13] Y. Wang, D. Wei, X. Yin, and X. Wang, “Heterogeneity-aware dataregeneration in distributed storage systems,” in IEEE INFOCOM 2014-IEEE Conference on Computer Communications . IEEE, 2014, pp. 1878–1886.[14] A. M. Ibrahim, A. A. Zewail, and A. Yener, “Green distributed storageusing energy harvesting nodes,” IEEE Journal on Selected Areas inCommunications , vol. 34, no. 5, pp. 1590–1603, 2016.[15] M. Sipos, J. Gahm, N. Venkat, and D. Oran, “Network-aware feasible re-pairs for erasure-coded storage,” IEEE/ACM Transactions on Networking ,vol. 26, no. 3, pp. 1404–1417, 2018.[16] ——, “Erasure coded storage on a changing network: The untold story,” in . IEEE,2016, pp. 1–6.[17] S. Yang, A. Hareedy, R. Calderbank, and L. Dolecek, “Hierarchicalcoding to enable scalability and flexibility in heterogeneous cloudstorage,” in IEEE Global Communications Conference (GLOBECOM) ,2019. [Online]. Available: https://arxiv.org/abs/1905.02279[18] Y. Zhu, C. Lv, Z. Zeng, J. Wang, and B. Pei, “Blockchain-baseddecentralized storage scheme,” in