Created at 3pm, Mar 16
furkanOther
1
Securely Scaling Blockchain Base Layers
YAft1GVsZLiMz9aLcJVJ026jX2TIP8eCs8zoF7ojrWc
File Type
PDF
Entry Count
435
Embed. Model
jina_embeddings_v2_small_en
Index Type
hnsw

This thesis presents the design, implementation and evaluation of techniques toscale the base layers of decentralised blockchain networks—where transactions aredirectly posted on the chain. The key challenge is to scale the base layer withoutsacrificing properties such as decentralisation, security and public verifiability.It proposes Chainspace, a blockchain sharding system where nodes processand reach consensus on transactions in parallel, thereby scaling block productionand increasing on-chain throughput. In order to make the actions of consensus-participating nodes efficiently verifiable despite the increase of on-chain data, asystem of fraud and data availability proofs is proposed so that invalid blocks canbe efficiently challenged and rejected without the need for all users to download alltransactions, thereby scaling block verification.It then explores blockchain and application design paradigms that enable on-chain scalability on the outset. This is in contrast to sharding, which scalesblockchains designed under the traditional state machine replication paradigmwhere consensus and transaction execution are coupled. LazyLedger, a blockchaindesign where the consensus layer separated from the execution layer is proposed,where the consensus is only responsible for checking the availability of the datain blocks via data availability proofs. Transactions are instead executed off-chain,eliminating the need for nodes to execute on-chain transactions in order to verifyblocks. Finally, as an example of a blockchain use case that does not require anexecution layer, Contour, a scalable design for software binary transparency is pro-posed on top of the existing Bitcoin blockchain, where all software binary recordsdo not need to be posted on-chain.

1.blockHashicorrespondstoablockheaderhithattheclienthasdownloadedandstored.2.Ifaxis=0(rowroot),VerifyMerkleProof(axisRootji,{axisRootjidataRooti},dataRooti,2matrixWidthi,j)returnstrue.3.Ifaxis=1(col.root),VerifyMerkleProof(axisRootji,{axisRootjidataRooti},dataRooti,2matrixWidthi,1
id: f624a27cdaee19f4be53ccac19b1dbcf - page: 110
4.5.DataAvailabilityProofs1114.Foreach(shx,posx,axx),VerifyShareMerkleProof(shx,{shxdataRooti},dataRooti,dataLengthi,index)returnstrue,whereindexistheexpectedin - dexoftheshxinthedatatreebasedonposxassumingitisinthesameroworcolumnasaxisRootji.SeeAppendixA.1forhowindexcanbecomputed.NotethatfullnodescanspecifyMerkleproofsofsharesinrowsorcolumnsfromeithertheroworcolumnrootse.g.,ifarowisinvalidbutthefullnodesonlyhasMerkleproofsfortherowssharefromcolumnroots.Thisalsoallowsforfullnodestogeneratefraudproofsifthereareinconsistenciesinthedatabetweenrowsandcolumnse.g.,ifthesamecellinthematrixhasadifferentshareinitsrowandcolumntrees.5.root(recover(((sh1,pos1),(sh2,pos2),...,(shk,posk)),k))=axisRootjiisfalse.4.5.8SamplingSecurityAnalysisWepresenthowthedataavailabilityschemepresentedinSection4.5canprovidelightsclientswithahighlevelofassurancethatblockdataisavailabletothenet - work.MinimumUnavailableSharesforUnrecoverabilityTheorem7statesthatdataisunrecoverableifamaliciousblockproposerwithholdsk+1shares
id: 453dd6c65d8a84f9a2ca2f495d4f8671 - page: 111
Theorem7.Givena2k2kextendedmatrixEasshowinFigure4.4,dataisunrecoverableifatleastk+1columnsorrowshaveeachatleastk+1unavailableshares.Inthatcase,theminimumnumberofsharesthatmustbeunavailableis(k+1)2.Proof.SupposeamaliciousblockproducerwantstomakeunrecoverableashareEi,jofthe2k2kmatrixE.RecallthatReed - Solomonencodingallowsrecoveryofall2ksharesfromanykshares;theblockproducerwillhaveto(i)makeunavailableatleastk+1sharesfromtherowEi,,and(ii)makeunavailableatleastk+1sharesfromthecolumnE,j.
id: 1286410947127299df39e34f08735f99 - page: 111
4.5.DataAvailabilityProofs112 c1ck+1c2krk+1r1r2kunavailable k - 1
id: 89e3532a34262e0c746f13ee64c1ac59 - page: 112
How to Retrieve?
# Search

curl -X POST "https://search.dria.co/hnsw/search" \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"rerank": true, "top_n": 10, "contract_id": "YAft1GVsZLiMz9aLcJVJ026jX2TIP8eCs8zoF7ojrWc", "query": "What is alexanDRIA library?"}'
        
# Query

curl -X POST "https://search.dria.co/hnsw/query" \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"vector": [0.123, 0.5236], "top_n": 10, "contract_id": "YAft1GVsZLiMz9aLcJVJ026jX2TIP8eCs8zoF7ojrWc", "level": 2}'