Jag vet, jag vet. Det finns en mÀngd kryptoprojekt och massor av konsensusmodeller: baserat pÄ arbete och Àgande, guld, olja, bakade bakverk (ja, det finns sÄdana ocksÄ, ja, ja). Vad behöver vi Ànnu ett för? Det Àr det jag föreslÄr att vi diskuterar efter att ha lÀst översÀttningen av den "lÀttade" tekniska dokumentationen för projektet *Konstellation (). SjÀlvklart Àr detta ingen fullstÀndig beskrivning av algoritmen, men jag Àr intresserad av gemenskapens Äsikt pÄ Habr, om en sÄdan konsensus har en plats eller om den inte behövs alls.
Det finns inte mÄnga bokstÀver kvar, sÄ om du bara vill skriva "usch, hur mycket kan man prata om kryptovaluta", vÀnligen avstÄ. Om du Àr intresserad av nya utvecklingar inom distribuerade system och har nÄgot att dela i kommentarerna, sÄ ber jag dig att gÄ vidare.
P.S. Jag Àr inte teknikens skapare, sÄ jag kan inte garantera en fullstÀndig överföring av essensen, dÀrför skulle jag vara tacksam för kommentarer med rÀttelser, om sÄdana finns.
Evolutionen frÄn synkrona till asynkrona konsensusmodeller
Noder vÀljs med hjÀlp av en deterministisk process (den samma som anvÀnds i DHT, till exempel BitTorrent), som dynamiskt justerar noderna ansvar för att "underlÀtta" validering eller, mer förstÄeligt, för att uppnÄ konsensus. Vi vÀljer grupper om 3 noder och genomför konsensusrundor parallellt, sÄ att en nod kan vara facilitator för flera block. Detta gör att vi kan behandla transaktioner asynkront, vilket i huvudsak betyder att flera blockkedjor formas samtidigt. Processen liknar ett nÀtverk bildat av mÄnga trÄdar, till skillnad frÄn noder som bildar en kedja över tid. Asynkron eller parallell bearbetning Àr grunden för skalbar programmering, eftersom det gör att alla datorresurser kan utnyttjas, vilket snabbar upp de totala berÀkningarna. Detta nÀtverk kallas en riktad acyklick graf eller DAG i datavetenskap.

Bandbredden hos en linjÀr blockkedja jÀmfört med den multiplicativa effekten av DAG, dÀr vi har flera parallella blockkedjor.

Geometrisk implementering av den linjÀra blockkedjan jÀmfört med DAG. Svarta punkter Àr block, vita punkter Àr noder.
Vi anvÀnder 3 noder i varje konsensusomgÄng, eftersom det ger oss intressanta matematiska processer för att resonera om tillstÄndet, vilket formar "ytplanen" tvÀrs över datan i form av trianglar med kopplingar. Protokollet anvÀnder sedan trianglarna för att "sy ihop" den optimala ytan, som inte innehÄller överflödiga eller motsÀgelsefulla data och har sÄ fÄ trianglar som möjligt. Algoritmiskt Àr detta analogt med "minimala snittet" av grafen, och matematiskt en derivata eller optimeringsfunktion (frÄn vilken funktionen hittar den kortaste vÀg den kan korsa över ytan). Denna kortaste vÀg motsvarar optimal datalagring (transaktioner) i en grupp av tillgÀnglighetsdatabaser. MotsÀgande triangulÀra "plattor" gör att hÀndelseytan Àr jÀmn och utan konflikter.

Geometrisk implementering av konfliktupptÀckning / hantering. En konfliktblock skapar en extra ytplatta. Vi tar bort den extra ytplattan för att upprÀtthÄlla en platt (= konfliktfri) yta av hÀndelser.
Konsensus baserad pÄ rykte
I det optimala decentraliserade p2p-systemet för rykte mÄste varje nod ha möjlighet att sjÀlvstÀndigt bestÀmma sitt förtroende för andra noder. VÄrt system anvÀnder en speciell modell som inkluderar transitiva relationer eller relationer som en nod har med andra noder, nÀr den tilldelar en global bedömning. "Du Àr lika bra som ditt företag". Det slutliga resultatet Àr en "förvrÀngning" eller gradient baserad pÄ transitivt förtroende eller rykte över alla noder i $DAG eller den normala kanalen. Detta kan ses som en rivare eller en osthyvel som slipar över "ytplanen" och vÀljer vilka "triangulÀra plattor" som ska tas bort och vilka som ska sparas. SÄ hÀr tar konfliktlogiken faktiskt bort "triangulÀra plattor".

DAG med konflikterande platta som gÄr genom ett "förvrÀngt" rum, vilket Àr en gradient som liknar en osthyvel, och samlas för att ta bort eller "slipa" den konflikterande plattan.
Delvis/fullstÀndig skalning av nod
In teorin för nÀtverk Àr den optimala distributionen i allmÀnhet kÀnd som "utan skalning", vilket kan beskrivas som en hierarkisk placement med stora centrala noder som styr mÄnga mindre perifera noder. Denna distribution Àr synlig i naturen och framför allt pÄ Internet. Constellation anvÀnder denna arkitektur för att "skala", eller öka kapaciteten eller bredden pÄ vÄr Graf.

Effekten av hierarkisk uppdelning. Vi kan lÀgga till fler noder för att öka kapaciteten.
Hylochain â Stöd för kanalbaserade applikationer
VÄr metod för att stödja applikationer kan ses som en "decimaltiserad plattform för smarta kontrakt". IstÀllet för att en central nÀtverk hanterar all logik och bearbetar all data frÄn applikationen, koordinerar Constellation applikationsdata med "statliga kanaler" som kan liknas vid en tv-station som sÀnder all data frÄn det statliga systemet. Varje statlig kanal kan implementera sin egen valideringslogik, vilket löser oraklerproblemet genom att verifiera dataleverantörers Àkthet och transitive verifiering av sammansatta statliga system. NÀtverken av statliga kanaler möjliggör parallell stödtjÀnst för applikationer och accelererar beslutsfattande tid, vilket i ett nÀtverk med smarta kontrakt begrÀnsas av traditionell synkron konsensus.

TvÄ statliga kanaler som Àr "kompatibla" via nÀtverket $DAG. De kan interagera eller tolkas, eftersom bÄda Àr "integrerade" med $DAG genom distribuerade hybridnoder $DAG + Kanal.
Anledningen till att den kallas Hylochain Àr att vi i vÄrt tillvÀgagÄngssÀtt för att stödja applikationer anvÀnde den funktionella programmeringsmodellen Recursion Schemes för att skapa ett MapReduce-grÀnssnitt. SÀrskilt kan Hylomorphism- (Hylomorfisk) och Metamorphism- (Metamorfisk) rekursionsscheman integreras för att skapa verifierbara förfrÄgningar och strömmande anslutningar via dedikerade kanaler genom att verifiera algebraiska datatyper pÄ samma sÀtt som op-koder för smarta kontrakt kontrolleras. Det slutliga resultatet Àr ett funktionellt MapReduce-grÀnssnitt som Àr vÀlbekant för dataingenjörer och Àr kompatibelt med befintlig big data-teknologi.

Hylomorfiska och Metamorfa dedikerade kanaler för kontrast. I det metamorfa tillstÄndet skickas data frÄn tvÄ dedikerade kanaler till en block i metakanalen. I Hilo tar vi det föregÄende tillstÄndet av kanalen och anvÀnder det för att stÀlla (stÀlla en specifik frÄga) tvÄ andra kanaler och sparar sedan resultatet av förfrÄgan i blocket.
Tokenomics och dess koppling till Hylochain
NÀr en dedikerad kanal skapats kan den integreras i $DAG-kanalen, men med hjÀlp av ACI- eller Application Chain Interface. Detta grÀnssnitt Àr helt enkelt ett JSON-objekt med konfigurationsinformation och en offentlig nyckel kopplad till sjÀlva kanalen. Anledningen till att vi kopplar den offentliga nyckeln till den dedikerade kanalen Àr att skapa en mÀklarmekanism för data i den dedikerade kanalen. NÀr den dedikerade kanalen har implementerats stÀller utvecklarna sjÀlva in hur betalningar frÄn $DAG-nÀtverket distribueras mellan noder och operatörer.

Ström för att köpa Ätkomst till information eller modifiera information. BegÀran skickas till $DAG, medel skickas till kanalens konto, resultatet skickas till köparen och kontrollsumman för transaktionen skickas till $DAG-nÀtverket, som sedan lÄser upp medlen för den dedikerade kanalen.
KĂ€lla: habr.com
