Stellars Jed McCaleb: Vad är nytt på det uppgraderade stellära nätverket

IBM's Jesse Lund and Stellar's Jed McCaleb answer audience questions at Blockchain West (Maj 2019).

Anonim

Redaktörens anmärkning: Detta är ett gästpost av Jed McCaleb, medgrundare och CTO of Stellar. org.

Stellar är ett helt decentraliserat betalningsnätverk som gör det möjligt för alla att skicka och byta valuta. Det kan fungera som en decentraliserad utbyte för bitcoin.

Varför Stellar? Efter många års arbete i fintechutrymmet insåg jag att världens finansiella infrastruktur är fundamentalt bruten och lämnar miljarder utan resurser. Som ett resultat grundades Joyce Kim och jag med Stellar. org för att skapa en öppen standard för finansiell teknik. Eftersom alla kan delta i nätverket kan det vara särskilt användbart för de 2 miljarder unbanked människor världen över.

Sedan lanseringen av Stellar har vi meddelat flera partnerskap, talade i FN och avslöjat en ny konsensusalgoritm och kodbas. Tillsammans med andra bidragsgivare till Stellar Core - Professor David Mazieres, Graydon Hoare och Nicolas Barry - hade jag uppgiften att designa denna nya kodbas. Jag är glada att dela med sig av motivationen bakom designbesluten och att prata om projekt som Stellars framtid kan hålla.

Uppgradera till ett enkelt modulärt nätverk

En av de viktigaste principerna som underlättar organisk tillväxt av Internet var dess låga enkelhet. Med detta i åtanke utformade vi det uppgraderade nätverket med komplexitet flyttat till kanterna. Med enkla primitiva som kan komponeras på olika sätt är systemet robust och underhållbart, men ändå uttrycksfullt och kraftfullt.

Det uppgraderade Stellar-nätverket är säkrare, skalbart och modulärt. Vi skilde nätverkets ansvar i flera komponenter för att göra dem lätta att förstå, behålla och utöka. Stellar Core är nu mindre än hälften av den tidigare kodbasens storlek. Den lagrar data i en vanlig SQL-databas, vilket gör det enklare för människor att få information ut ur det stella nätverket och interagera med det med hjälp av standardverktyg och bibliotek. Graydons presentation ger granulära detaljer om rörelsen och platserna för data i Stellar-systemet.

Säkerhet först

En av huvudorsakerna till att vi refactored koden var att implementera det nya Stellar Consensus Protocol (SCP), som har en unik, bevisligen korrekt federerad konsensusalgoritm. Distribuerade system är komplexa, och att uppnå konsensus i ett decentraliserat nätverk är ännu mer komplext. Det kräver en helt förstådd och beprövad konsensusalgoritm som SCP, vilket säkerställer att nätverket inte kommer att gaffla.

För maximal säkerhet simulerade vi många fel genom enhet och integrationsprov. Vi använde också ett gränssnitt och en modell som kopplar Stellar Core till Kyle Kingsbury's Jepsen-verktyg för att testa distribuerade system mot nätverkspartitioner. I alla dessa fall stannar nätverket tills kvorum kan återupprättas, vilket innebär att det tar upp och fortsätter. Nätverket måste stanna under dessa förhållanden.Det andra alternativet är att gaffla, vilket innebär att två sidor av nätverket är oense om världens tillstånd. Inte forking är ett kritiskt inslag i någon distribuerad, decentraliserad konsensusalgoritm och den som vi har tillbringat mest tid på att försöka få rätt.

Smarta kontrakt

Efter vår övergripande designfilosofi fokuserade vi på att skapa enkla komponenter som användare kan kombinera på komplexa sätt för att få det beteende som de behöver. Vårt tillvägagångssätt för smarta avtal har varit att hålla det mesta av logiken utanför kärnsystemet, så att Stellar Core kan skala globalt.

De två huvudkomponenterna för smarta kontrakt på Stellar-nätverket är stöd för flera signaturer och möjligheten att satsa operationer. Konton kan nu ha flera signatörer med olika vikter, så du kan helt enkelt konfigurera m-of-n-konton eller andra, mer komplexa åtkomstscheman.

Transaktioner är nu en serie operationer som påverkar världens tillstånd. Till exempel kan en enskild transaktion trivialt säga A skickar till B om B skickar till C. Dessa abstraktioner, i kombination med nätets distribuerade utbyte, ger en överraskande rik ordförråd för kontrakt. Obligationer, escrow, collateralized debt och Lightning Network är alla möjliga på nätverket.

Community-run nätverk

Levande nätverk drivs helt av deltagare utanför Stellar. org. Vi vill se till att nätverket inte slutar fungera eller administreras huvudsakligen av oss. Stjärn. org bidrar till kärnprotokollet med öppen källkod, men allt bortom det - allt som faktiskt gör nätverket användbart och värdefullt - är upp till samhället!

Titta mot framtiden

Vi utvecklar för närvarande verktyg och protokoll som lever ovanför basstellprotokollet och stöder framtida funktioner som meddelanden och privata transaktioner.

Jag har en lång lista med intressanta idéer för saker som kan byggas på Stellar. Jag skrev ner några av mina favorit här här: // github. com / stjärn / docs / blob / master / andra / saker-att-build. md

Ärligt talat är jag mest upphetsad att se vad folk gör sig på egen hand - jag vet att det kommer att finnas fantastiska idéer som vi inte ens har tänkt på ännu.

Jed McCaleb är medgrundare och CTO of Stellar. org. År 2000 utvecklade han e-Donkey, en av de största fildelningsnäten i sin tid. Han skapade senare Mt. Gox, den första bitcoin-utbytet, som senare såldes och kodades av sina nuvarande ägare. Hitta Jed online på GitHub, LinkedIn och Twitter.