Sådan reviseres vores finansielle infrastruktur fuldstændigt i et tilfælde: Mød Merkle Patricia-træet

Forestil dig, hvis vi kunne fange den aktuelle status for enhver finansiel transaktion, der blev foretaget fra hver enkelt bank og i hele vores finansielle infrastruktur. Og dette ville være for hele vores finansielle infrastruktur. Så på ethvert tidspunkt ville vi se det komplette billede over tid og se nøjagtigt, hvornår alle transaktioner blev foretaget, og hvem der var involveret. Hvis vi ville, kunne vi også anonymisere transaktionsdataene.

Det ville være en verden, hvor vi kunne revidere på ethvert tidspunkt og få en øjeblikkelig oversigt over den aktuelle tilstand og også få snapshots af hver tidligere tilstand. På denne måde ville en revisor være i stand til at se alt og bevæge sig frem og tilbage gennem tiden. Det, jeg har beskrevet, er Ethereum, og det bruger metoden Merkle-Patricia-Tree (trie) til at skabe en fuld verdensmodel af alle transaktioner.

Merkle Patricia Tree

Med Merkle-træet opretter vi et hasjetræ, og hvor rod hash giver den samlede konsistens af dataene inden i træet. Dets kernefordel er, at vi nemt kan kontrollere, at data er inden i træet ved at analysere et undertrin [her].

Et Merkle-Patricia-træ forbedrer dette ved at bruge en nøgle (normalt defineret som en streng) til at gemme tilknyttede arrays. Patricia er defineret som en praktisk algoritme til at hente oplysninger kodet i alfanumerisk papir.

En knude er derefter knyttet til en nøgle. Dette defineres som en trie - et digitalt træ. Dette adskiller sig fra et Merkle-træ, idet den faktiske nøgle for hver knude ikke gemmes, men dens placering i træet bruges til at definere nøglen. Knuderne, der er under en given knude, er defineret med den samme præfiks som strengen ved den knude, og roden af ​​træet er derefter en tom streng [her].

Så lad os tage et eksempel med fem ord til indeksering: blomst, strømme, langt, pitching og tonehøjder. Vi kan nu tegne et træ, der indekserer disse strenge:

Hvis en bruger indtaster 'f', går vi videre til det andet niveau og indtaster derefter 'lavt' og ind på det tredje niveau. Og til sidst går de ind i 's', og vi bevæger os til det forrige niveau. Vi kan se, at dataene nu er ordnet og tilknyttet, og hvor positionen i træet definerer den nøgle, som dataelementet er knyttet til.

I Ethereum blockchain bruger vi en modificeret Merkle Patricia Trie - som defineret i Yellow Paper [her] - for at oprette en trie, der indeholder alle transaktioner. På denne måde kan vi generere et komplet verdensbillede af alle de transaktioner, der nogensinde er blevet foretaget.

Da vi har at gøre med transaktions-id'er, har hver af tasterne X hexadecimale tegn. Hver knude i trien kan derefter have 16 mulige børn. Trieens maksimale dybde er X.

Ref: https://i.stack.imgur.com/YZGxe.png

Hver knude kan derefter være en forlængelse, en gren eller et blad. Et blad er et slutpunkt og vil indeholde transaktionsværdien. I diagrammet ser vi, at rod hash er hash for alle transaktioner. Vi har derefter en udvidelse til at definere noden på øverste niveau, og hvor vi kan se, at der er fire transaktioner, og som er defineret ved hjælp af nøglerne til "a711355", "a77d337", "a7f9365" og "a77397". Transaktionsbeløbene er henholdsvis 45,0 ETH, 1,00 WEI, 1,1 ETH og 0,12 ETH.

Vi kan derefter følge træet for at finde transaktionerne. Vi starter med nøgleværdien “a7…” (ROOT: udvidelsesnode). Så har vi et blad på “a7..1355” (og hvor “1355” er slutendelen af ​​nøglen). Transaktionsværdien her er 45,0 ETH. Vi har en anden bladknude med “a7..9365” (og hvor “9365” er slutdelen af ​​nøglen), og med en transaktionsværdi på 1,1 ETH.

Dernæst har vi en udvidelse til “a7d3”. Endelig kommer vi til de to sidste transaktioner med slutblader (“a7d33..7” og “a7d39..7”), og som har transaktionsbeløb på henholdsvis 1,00 WEI og 0,12 ETH.

konklusioner

Og der går du. En komplet verdensmodel af vores økonomiske system. Nogen tid snart er vi nødt til at anvende disse metoder, enten inden for hver af vores banker eller inden for vores komplette finansielle infrastruktur, og skabe et nyt system, der er fuldstændigt revideret på ethvert tidspunkt og hvor vi ser hver eneste transaktion. Dette vil være en mere troværdig finansiel verden. Vores udfordring lige nu er at gøre denne verden så åben og gennemsigtig for alle, men respektere privatlivets fred og samtykke.

Med nul-viden bevis og homomorfisk kryptering kommer vi dertil, og Ethereum er kun et eksempel på en ny verden, der skabes. Blockchain og DLT'er vil være den største maskine, som menneskeheden nogensinde har skabt, og vi er lige ved starten af ​​denne rejse.

Glem cryptocurrencies, og tænk bare på transaktioner, og du har vores nye digitale verden. Vores gamle hovedbøger er færdige ... møde den nye verden.