Pinagkasunduan sa reputasyon ng node. kailangan ba?

Alam ko alam ko. Mayroong maraming mga proyekto ng crypto, mayroong maraming mga pinagkasunduan: batay sa paggawa at pagmamay-ari, ginto, langis, mga lutong pie (mayroong isa, oo, oo). Ano pa ang kailangan natin sa isa? Ito ang iminumungkahi kong talakayin pagkatapos basahin ang pagsasalin ng "magaan" na teknikal na dokumentasyon ng *Constellation project (konstelasyon). Siyempre, hindi ito isang kumpletong paglalarawan ng algorithm, ngunit interesado ako sa opinyon ng komunidad ng Habr, mayroon bang lugar para sa ganoong consensus na "maging" o hindi ba ito kailangan?

Wala nang maraming liham, kaya kung gusto mo lang magsulat ng "wow, hangga't kaya mo tungkol sa crypto," mangyaring umiwas. Kung interesado ka sa mga bagong pag-unlad sa larangan ng mga distributed system at may maibabahagi sa mga komento, mangyaring sumangguni sa pusa.

PS Hindi ako ang may-akda ng teknolohiya, hindi ko matiyak ang kumpletong paglipat ng kakanyahan, kaya't ikalulugod kong makatanggap ng mga komento na may mga pagbabago, kung mayroon man.

Ebolusyon mula sa magkasabay hanggang sa hindi magkakasabay na mga pinagkasunduan

Pinipili ang mga node gamit ang isang deterministikong proseso (kaparehong ginamit sa mga DHT gaya ng bittorrent) na dynamic na nag-aayos ng mga responsibilidad ng mga node upang "pangasiwaan" ang pagpapatunay o, mas maliwanag, upang makamit ang pinagkasunduan. Pumili kami ng mga pangkat ng 3 node at nagpapatakbo ng consensus round nang magkatulad upang ang isang node ay maaaring maging facilitator sa maraming block. Nagbibigay-daan ito sa amin na iproseso ang mga transaksyon nang asynchronous, na mahalagang nangangahulugan na marami kaming blockchain na nabuo nang sabay-sabay. Ang proseso ay tulad ng sapot ng gagamba, na nabuo ng maraming mga thread, kumpara sa mga node na bumubuo ng isang solong chain sa paglipas ng panahon. Ang asynchronous o parallel processing ay ang batayan ng scalable programming dahil pinapayagan nito ang paggamit ng lahat ng mapagkukunan ng computer, na nagpapabilis sa pangkalahatang computing. Ang network na ito ay tinatawag na directed acyclic graph o DAG sa computer science.

Pinagkasunduan sa reputasyon ng node. kailangan ba?
Lapad ng channel ng isang linear blockchain kumpara sa multiplicative na epekto ng isang DAG kung saan mayroon tayong maramihang parallel na blockchain.

Pinagkasunduan sa reputasyon ng node. kailangan ba?
Geometric na pagpapatupad ng linear blockchain laban sa DAG. Ang mga itim na tuldok ay mga bloke, ang mga puting tuldok ay mga node

Gumagamit kami ng 3 node sa bawat consensus round dahil nagbibigay ito sa amin ng ilang kawili-wiling proseso ng matematika para sa pangangatwiran tungkol sa estado, na bumubuo ng isang "surface plane" sa buong data sa anyo ng mga konektadong triangles. Pagkatapos ay ginagamit ng protocol ang mga tatsulok upang pagsamahin ang isang pinakamainam na ibabaw na walang kalabisan o hindi pare-parehong data at may pinakamaliit na posibleng mga tatsulok. Algorithmically, ito ay kahalintulad sa isang "minimum cut" ng isang graph, at sa matematika, ito ay kahalintulad sa isang derivative o optimization function (kung saan hinahanap ng function ang pinakamaikling landas na maaari nitong tahakin sa ibabaw). Ang pinakamaikling landas na ito ay katumbas ng mahusay na pag-iimbak ng data (mga transaksyon) sa isang DAG. Magkasalungat na tatsulok na "mga tile" upang ang ibabaw ng kaganapan ay makinis at walang mga salungatan.

Pinagkasunduan sa reputasyon ng node. kailangan ba?
Geometric na pagpapatupad ng pagtuklas/paghawak ng salungatan. Ang isang magkasalungat na bloke ay lumilikha ng karagdagang tile sa ibabaw. Nag-aalis kami ng mga karagdagang tile sa ibabaw upang mapanatili ang isang patag (= walang salungatan) na ibabaw ng kaganapan.

Pinagkasunduan batay sa reputasyon

Sa isang pinakamainam na desentralisadong sistema ng reputasyon ng p2p, ang bawat node ay dapat na nakapag-iisa na matukoy ang tiwala nito sa iba pang mga node. Gumagamit ang aming system ng isang espesyal na modelo na kinabibilangan ng mga transitive na relasyon, o mga relasyon na mayroon ang isang node sa iba pang mga node, kapag nagtatalaga ng isang pandaigdigang marka. "Magaling ka lang sa kumpanya mo." Ang resulta ay isang "skew" o gradient batay sa transitive trust o reputation sa lahat ng node sa $DAG o regular na channel. Maaari itong isipin bilang isang brush o cheese grater na bumubura sa isang "surface plane" at pinipili kung aling "triangular tile" ang burahin at kung alin ang iiwan. Ito ay kung paano aktwal na inaalis ng logic ng conflict ang "triangular tiles".

Pinagkasunduan sa reputasyon ng node. kailangan ba?
Isang DAG na may sumasalungat na tile na dumadaan sa isang "curved" na espasyo na isang gradient, katulad ng cheese grater, at aalisin o "bubura" ang sumasalungat na tile.

Partial/full node scaling

Sa teorya ng network, karaniwang ang pinakamainam na alokasyon ay kilala bilang "scale-free," na maaaring ilarawan bilang isang hierarchical arrangement na may malalaking central node na namamahala sa maraming mas maliliit na peripheral node. Ang pamamahagi na ito ay nakikita sa kalikasan at, higit sa lahat, sa Internet. Ginagamit ng Constellation ang arkitektura na ito upang "i-scale out," o dagdagan ang throughput o lapad ng aming Graph.

Pinagkasunduan sa reputasyon ng node. kailangan ba?
Ang epekto ng hierarchical partitioning. Maaari kaming magdagdag ng higit pang mga node sa pamamagitan ng pagtaas ng bandwidth

Hylochain - suporta sa application na batay sa channel

Ang aming diskarte sa suporta sa aplikasyon ay maaaring ituring na isang "desentralisadong smart contract platform." Sa halip na isang sentral na network na nagpapatakbo ng lahat ng lohika at nagpoproseso ng lahat ng data mula sa application, ang Constellation ay nag-coordinate ng data ng application sa "mga channel ng bahay," na maaaring isipin bilang isang istasyon ng telebisyon na nagbo-broadcast ng lahat ng data mula sa sistema ng bahay. Ang bawat channel ng kawani ay maaaring magpatupad ng sarili nitong lohika sa pag-verify upang malutas ang problema sa orakulo sa pamamagitan ng end-to-end na pagpapatotoo ng mga producer ng data at palipat-lipat na pag-verify ng mga pinagsama-samang sistema ng kawani. Nagbibigay ang mga state channel network ng magkatulad na suporta para sa mga aplikasyon, na nagpapabilis sa mga oras ng pag-aampon na nililimitahan ng tradisyonal na magkakasabay na pinagkasunduan sa isang smart contract network.

Pinagkasunduan sa reputasyon ng node. kailangan ba?
Dalawang karaniwang channel na "katugma" sa pamamagitan ng $DAG network. Maaari silang makipag-ugnayan o bigyang-kahulugan dahil pareho silang "integrated" sa $DAG sa pamamagitan ng pag-deploy ng hybrid na $DAG + Channel node.

Ang dahilan kung bakit tinawag itong Hylochain ay dahil ang aming diskarte sa suporta sa aplikasyon ay gumamit ng modelo ng functional programming ng Recursion Schemes upang lumikha ng interface ng MapReduce. Sa partikular, ang mga scheme ng recursion ng Hylomorphism at Metamorphism ay maaaring isama upang lumikha ng mga nabe-verify na query at mag-stream ng mga koneksyon sa mga native na channel sa pamamagitan ng pag-validate ng mga algebraic na uri ng data sa parehong paraan kung paano na-verify ang mga op code para sa mga smart contract. Ang resulta ay isang functional na interface ng MapReduce na pamilyar sa mga inhinyero ng data at tugma sa kasalukuyang teknolohiya ng malaking data.

Pinagkasunduan sa reputasyon ng node. kailangan ba?
Ang Hylomorphic at Metamorphic ay mga karaniwang channel para sa contrast. Sa metamorphic state, ang data mula sa dalawang regular na channel ay ipinapadala sa isang block sa metachannel. Sa Gilo, kinukuha namin ang nakaraang estado ng isang channel at ginagamit ito upang mag-query (magtanong ng isang partikular na tanong) ng dalawa pang channel, at pagkatapos ay iimbak ang resulta ng query sa isang block.

Tokenomics at ang koneksyon nito sa Hylochain

Kapag nalikha na ang isang katutubong channel, maaari itong isama sa $DAG channel, ngunit gamit ang ACI o Application Chain Interface. Ang interface na ito ay simpleng JSON object na may impormasyon sa pagsasaayos at isang pampublikong key na nauugnay sa mismong channel. Ang dahilan kung bakit namin iniuugnay ang isang pampublikong key sa isang regular na channel ay upang lumikha ng mekanismo ng brokerage para sa regular na data ng channel. Kapag na-deploy ang regular na channel, kino-configure ng mga developer ang kanilang sarili kung paano ipinamamahagi ang mga pagbabayad mula sa network ng $DAG sa pagitan ng mga node at operator.

Pinagkasunduan sa reputasyon ng node. kailangan ba?
Daloy para sa pagbili ng access sa impormasyon o pagbabago ng impormasyon. Ang kahilingan ay ipinadala sa $DAG, ang mga pondo ay ipinadala sa channel account, ang resulta ay ipinadala sa mamimili, at ang checksum ng transaksyon ay ipinadala sa $DAG network, na pagkatapos ay naglalabas ng mga pondo sa regular na channel.

Pinagmulan: www.habr.com

Magdagdag ng komento