pexels johannes plenio 1632790

Merkle Trees och det enkla problemet med bevis på reserver

✌️ Välkommen till senaste numret av Informatören, nyhetsbrevet som gör dig smartare på bara några minuter varje vecka.

🙌 Informationisten tar en aktuell händelse eller ett komplicerat koncept och förenklar det för dig i punktform och lättförståelig text.

🧠 Låter det smart? Mata din hjärna med veckonummer som skickas direkt till din inkorg här.

Dagens kulor:

  • Vad är en Hash?
  • Vad är ett Merkle Tree?
  • Merkle Tree Proof of Reserves
  • Vad saknas?

Inspirerande tweet:

Med allt det ondskefulla och rent kriminella beteendet vi har sett i kryptovärlden nyligen, kommer vi snart att börja höra mycket mer om Merkle Trees och deras förmåga att verifiera reserver på en börs eller annan decentraliserad plattform.

Men vad exakt är ett Merkle-träd, och är de faktiskt idiotiska (eller skurkar, i dessa fall) bevis som en metod för att bevisa dina balanser?

Jag är ingen kodare, och jag förväntar mig inte att du är det heller. Så, låt oss gå igenom det här trevliga och lätta idag, göra dig lite smartare på säkerhetssidan av den decentraliserade världen, eller hur?

#️⃣ Vad är en Hash?

Till att börja med, och i de mest grundläggande termerna av kryptografivärlden, en säker hashalgoritm eller SHA, är en matematisk formel som omvandlar och komprimerar en sträng av data från valfri storlek till en fast storlek som är helt annorlunda än originaldata.

Den vanligaste platsen vi ser användningen av hash är i kryptering av lösenord. På så sätt behöver servern som kontrollerar lösenordet bara hålla reda på en användares hashvärde, snarare än själva lösenordet. Så om ett företags databas hackas kommer den bara att avslöja hasharna och inte de faktiska lösenorden.

Hashes kan vara extremt effektiva på grund av vad som kallas lavineffekten, där förändringen av bara några tecken som krypteras kan ge en enorm förändring i utdatavärdet.

Lägg märke till i exemplet nedan hur alla utdatavärden är lika stora, men helt olika.

f9f65fe7 4f12 438a 8bcf fca169febcdb 499x274
Lavineffekt wikipedia

Som en notering använder Bitcoin SHA-256, en hashfunktion inom familjen SHA-2 (Secure Hash Algorithm 2). SHA-256 utvecklades av NSA 2001 för att lösa problem med SHA-1.

SHA-256 har aldrig äventyrats och är en extremt säker kryptografisk hashfunktion. Som ett resultat är det en av de mest populära kryptografiska hashfunktionerna i kryptovalutavärlden.

Skapat för att vara en enkelriktad gata av information, hashfunktioner och i synnerhet SHA-256, gör det omöjligt att återskapa en hashs input från utdata.

SHA-256 och Bitcoin-nätverket anses allmänt vara den säkraste hashalgoritmen i världen.

Vilket för oss till haschträdet, eller Merkleträdet.

🌳 Vad är ett Merkle-träd?

För det första är ett Merkle-träd helt enkelt ett hashträd, ett koncept patenterat av Ralph Merkle i 1979.

Se, i decentraliserade peer-to-peer-transaktioner är dataverifiering absolut nödvändig. Eftersom data registreras på flera ställen samtidigt, om data ändras på en plats måste de ändras överallt.

Och dessa förändringar måste verifieras för att vara konsekventa överallt. Men det kan bli överväldigande ganska snabbt att kontrollera hela varje enskild fil över ett helt system när du kontrollerar konsistens.

Men vi kan använda hash för att minimera mängden data som behöver kontrolleras, eller hur?

Förvandla data till hash och lista dem istället (precis som lösenord).

Exakt. Och det är här Merkle- eller haschträdet kommer in i bilden.

I grund och botten tillåter hashträd oss ​​att verifiera data som lagras eller överförs i och mellan datorer i ett peer-to-per-nätverk genom att säkerställa att block som skickas mellan peers tas emot oförändrade och oskadade.

Ett hashträd är ett hashträd (se nedan) där löven (eller löv eller lövnoder) är hash av datablock i en fil. Noder mot toppen av trädet är hash för sina respektive barn.

Till exempel är hash 1 resultatet av att hasha sammanlänkningen (tjusiga datorprogrammeringsord för kombination) av de två hasharna under den i trädet.

Dvs Hash 1 = Hash (hash 1-0 + Hash 1-1)

Se Röd cirkel nedan

44ee0398 0277 485d 8c7f 9e4d0d436cae 1920x1222

Sitter högst upp i trädet är det som kallas topphash (aka rot). Denna topphash gör att alla delar av hashträdet kan tas emot från alla icke-pålitliga källor, som ett peer-to-peer-nätverk.

Sedan kan alla mottagna grenar etc. kontrolleras mot den betrodda topphashen för verifiering, för att se om hashen är skadad eller till och med falsk.

Med andra ord, istället för att skicka en hel fil över nätverket, kan vi bara skicka en hash av filen, och att kontrollera den mot roten talar om för oss om den har äventyrats.

✅ Merkle Tree Proof of Reserves

I traditionell finansiell redovisning använder vi böcker och register och balansräkningar. En balansräkning visar vad ett företag äger och vad det är skyldigt, som en sammanfattning. Bokföringen och register visar alla transaktioner som summerar till balansräkningen.

Alla dessa böcker och register och balansräkningar etc. granskas och verifieras av en tredje part.

Revisorn.

Och om en revisor hittar något som inte stämmer, kommer de att flagga det och vägra gå i god för böckernas giltighet tills avvikelsen är löst.

Så om du sätter in pengar på en traditionell bank, säg JP Morgan, finns det ett ganska tydligt register över att du skickar pengar från din bank till JP Morgan och därmed en skuld på deras böcker till dig.

JP Morgans kontoansvariga, revisorer, kontrollanter, CFO och revisorer är alla överens om att din insättning finns där och JP Morgan är skyldig dig det.

Men hur är det med decentraliserade utbyten utan samma mänskliga övervakade spårbarhetskedja och kontotillsyn?

Om du till exempel skickade en Bitcoin till Binance, hur kan du säga att din insättning några timmar, dagar eller månader senare fortfarande finns där? Att de inte lånades ut eller flyttades av en dålig skådespelare?

Det verkar absurt för Binance att publicera en lista över varje enskilt saldo på varje konto så att individer kan kontrollera sitt saldo mot det, eller hur?

Litet integritetsproblem där.

Så, vad är lösningen?

Du har det. Merkleträdet.

Och så tillkännagav Binance just att de kommer att använda ett Merkle-träd för att verifiera att tillgångar är 1:1 och "tillåta människor att verifiera sina tillgångar inom plattformen."

Här är ett foto av Merkle-trädet som Binance nu har på Proof of Reserves-sidan på deras hemsida:

eef1e976 9050 4ec4 a878 2dff0539d7c1 1562x816

Och instruktionerna: Logga in på Binance-webbplatsen, klicka på Wallet, Klicka på Audit och hitta ditt Merkle Leaf och Record ID på sidan.

Grymt bra. Så du kan kontrollera att dina saldon verkligen finns kvar och att de inte har flyttats eller förskingrats.

Allt väl. Problemet med verifiering av reserver är löst, slut på historien, eller hur?

Höger?

🔍 Vad saknas?

Låt oss gå tillbaka till dagens Tweet of Inspiration och Jesse Powell, VD för Kraken Exchange för en kontrarisk syn på saken.

Han påpekar att för att Merkle Tree-beviset på reserver ska vara ett giltigt sätt att kontrollera dina saldon, måste företaget också inkludera eventuella skulder för att visa solvens.

Och det måste verifieras av en pålitlig tredjepartsrevisor.

Med andra ord, bevis på reserver (genom Merkle Tree eller någon annan pålitlig metod) är helt enkelt ett bevis på tillgångar.

Och bevis på tillgångar + reviderade skulder = bevis på solvens.

Eftersom solvens (och verifiering av förhållandet tillgång till skulder över 1:1), som många tycks lära sig den hårda vägen nu för tiden, är allt som verkligen betyder något när man verifierar att dina tillgångar är säkra på en börs eller annan decentraliserad plattform.

Men då är vi tillbaka till att lita på de mänskliga informationskällorna. Jag menar, titta på hur många människor som var delaktiga i FTX-bedrägeriet den här månaden.

De sa alla att FTX var lösningsmedel och säkert. Folk litade på dem. Folk blev skadade.

Vissa människor förlorade sina livsbesparingar.

Naturligtvis finns det en mycket mer pålitlig metod för att säkerställa att dina saldon är säkra och säkra. Många av er som läser detta predikar redan kontinuerligt. Men för dem som inte gör det och inte har gjort det än är det en enkel lösning.

Ta dina mynt från börserna och lägg dem i en plånbok som du har säkrat. Ta dina egna tillgångar i besittning. Det är trots allt poängen med Bitcoins peer-to-peer-förtroendelösa protokoll.

Självsuveränitet.

Det, mina vänner, är det enda sättet du verkligen kan vara säker på att dina saldon är säkra.

Om du söker extra avkastning genom att pantsätta dina Bitcoin (eller andra) innehav på en börs, vänligen erkänn den risk du tar. Se till att du förstår detta nu, innan det är för sent.

Du litar på att någon annan håller och säkrar dina pengar. Period. Det finns inget annat sätt att uttrycka det.

Och så, om du bara är för rädd för att ta dig själv, försök att göra det i steg (enkelt som 1, 2, 3):

  1. Köp en Ledger eller Trezor eller ett ColdCard, alltid direkt från tillverkaren och aldrig från Amazon eller eBay eller annan återförsäljare,
  2. Se YouTube-videor på stegen för att flytta dina mynt från växel till plånbok
    • Min gode vän Ben från BTC Sessions på YouTube har några fenomenala och lätta att följa videor om hur man gör detta (det är precis så jag lärde mig),
  3. Sedan är det bara att röra sig en liten bit första gången för att se hur det fungerar och för att bli bekväm med processen, innan du så småningom flyttar allt.

Du kommer snart att känna dig säker på att lita på dig själv. Och detta är verkligen det enda sättet att vara säker på att dina saldon är säkra från dåliga skådespelare, bedrägerier eller total stöld.

Det är allt. Jag hoppas att du känner dig lite smartare av att veta om Merkle Trees, hur de fungerar och deras begränsningar. Och jag hoppas att du inspirerar att ta dina egna tillgångar i besittning.

Innan du lämnar, svara gärna på detta nyhetsbrev med frågor eller framtida ämnen av intresse. Och om du vill ha dagliga ekonomiska insikter och kommentarer kan du alltid hitta mig på Twitter!

✌️ Vi hörs snart,

James

Lämna en kommentar

E-postadressen publiceras inte. Obligatoriska fält är markerade *

påkostat porträtt
Medgrundare, innehållsförfattare