Блокчейннен DAG-қа дейін: делдалдардан құтылу

Бұл мақалада мен сізге DAG (бағытталған циклдік график) және оның таратылған кітапшалардағы қолданылуы туралы айтып беремін және оны блокчейнмен салыстырамыз.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

DAG криптовалюта әлемінде жаңалық емес. Сіз бұл туралы блокчейннің масштабтау мәселелерінің шешімі ретінде естіген шығарсыз. Бірақ бүгін біз ауқымдылық туралы емес, криптовалюталардың барлығынан ерекшеленетіні туралы сөйлесетін боламыз: орталықсыздандыру, делдалдардың болмауы және цензураға қарсылық.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Мен сізге DAG шын мәнінде цензураға төзімді екенін және кітапқа қол жеткізу үшін делдалдар жоқ екенін көрсетемін.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Бізге таныс блокчейндерде пайдаланушылар кітаптың өзіне тікелей қол жеткізе алмайды. Бухгалтерлік кітапқа транзакция қосқыңыз келсе, оны жасау үшін блок өндірушісінен («шахтер» деген атпен) «сұрауыңыз» керек. Келесі блокқа қандай транзакцияны қосуды және қайсысын қоспауды шахтерлер шешеді. Бұл кеншілер блоктарға эксклюзивті қол жеткізе алады және кімнің транзакциясы бухгалтерлік кітапқа енгізуге қабылданатынын шешуге құқылы.

Кеншілер - сіз бен бөлінген кітаптың арасында тұрған делдал.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Іс жүзінде, әдетте кеншілер пулдарының аз саны желінің есептеу қуатының жартысынан көбін ұжымдық түрде басқарады. Bitcoin үшін бұл төрт бассейн, Ethereum үшін - екі. Егер олар сөз байласса, олар қалаған транзакцияларды бұғаттай алады.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Соңғы бірнеше жылда блок өндірушілерді таңдау принциптерінде ерекшеленетін блокчейндердің көптеген нұсқалары ұсынылды. Бірақ блок өндірушілердің өздері ешқайда кетпейді, олар әлі де «кедергіде тұр»: әрбір транзакция блок өндірушісі арқылы өтуі керек, ал егер ол оны қабылдамаса, онда транзакция іс жүзінде жоқ.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Бұл блокчейнге қатысты сөзсіз мәселе. Ал егер біз оны шешеміз десек, дизайнды түбегейлі өзгертіп, блоктар мен блок өндірушілерден толығымен құтылуымыз керек. Ал блоктар тізбегін құрудың орнына біз транзакцияларды, соның ішінде әрбір транзакциядағы бірнеше алдыңғылардың хэштерін қосамыз. Нәтижесінде біз математикада бағытталған ациклдік граф ретінде белгілі құрылымды аламыз - DAG.

Енді барлығы делдалсыз, тізілімге тікелей қол жеткізе алады. Транзакцияны бухгалтерлік кітапқа қосқыңыз келсе, оны жай ғана қосасыз. Сіз бірнеше негізгі транзакцияларды таңдайсыз, деректеріңізді қосасыз, транзакцияға қол қоясыз және желідегі әріптестерге жібересіз. Дайын. Сізге мұны істеуге ешкім кедергі келтірмейді, сондықтан сіздің транзакцияңыз кітапта қазірдің өзінде бар.

Бұл делдалсыз бухгалтерлік кітапқа транзакцияларды қосудың ең орталықтандырылмаған, цензураға төзімді әдісі. Өйткені кез келген адам ешкімнен рұқсат сұрамай-ақ өз транзакцияларын тізілімге қосады.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

DAG регистрлер эволюциясының үшінші кезеңі деп санауға болады. Алдымен орталықтандырылған тізілімдер болды, онда бір тарап оларға қол жеткізуді бақылайды. Содан кейін блокчейндер пайда болды, оларда транзакцияларды бухгалтерлік кітапқа тіркейтін бірнеше контроллерлер болды. Ақырында, DAG-да контроллерлер мүлдем жоқ; пайдаланушылар транзакцияларын тікелей қосады.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Енді бізде бұл еркіндік бар, ол хаосқа әкелмеуі керек. Бізде тізілімнің жағдайы туралы келісім болуы керек. Және бұл келісім немесе консенсус әдетте екі нәрсе бойынша келісімді білдіреді:

  1. Не болды?
  2. Бұл қандай ретпен болды?

Біз бірінші сұраққа оңай жауап бере аламыз: бухгалтерлік кітапқа дұрыс жасалған транзакция қосылғаннан кейін ол орын алды. Және кезең. Бұл туралы ақпарат барлық қатысушыларға әртүрлі уақытта жетуі мүмкін, бірақ ақыр соңында барлық түйіндер бұл транзакцияны алады және оның болғанын біледі.

Егер бұл блокчейн болса, кеншілер не болатынын шешер еді. Шахтер блокқа не қосуды шешсе де, солай болады. Ол блокқа кірмейтін нәрсенің бәрі болмайды.

Блокчейндерде кеншілер консенсустың екінші мәселесін де шешеді: тәртіп. Оларға блок ішіндегі транзакцияларға өз қалаулары бойынша тапсырыс беруге рұқсат етіледі.

DAG транзакцияларының тәртібін қалай анықтауға болады?

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Біздің график бағытталған болғандықтан, бізде әлдеқашан тәртіп бар. Әрбір транзакция бір немесе бірнеше алдыңғы, негізгі транзакцияларға қатысты. Ата-аналар өз кезегінде ата-аналарына сілтеме жасайды және т.б. Ата-аналар балалар транзакцияларынан бұрын көрінеді. Егер транзакциялардың кез келгеніне ата-ана мен бала арасындағы ауысу арқылы қол жеткізуге болатын болса, біз осы транзакциялар тізбегіндегі транзакциялар арасындағы тәртіпті нақты білеміз.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Бірақ транзакциялар арасындағы тәртіпті әрқашан тек графиктің пішінінен анықтау мүмкін емес. Мысалы, екі транзакция графиктің параллель тармақтарында жатқанда.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Мұндай жағдайларда екіұштылықты шешу үшін біз тапсырыс жеткізушілері деп аталатындарға сенеміз. Біз оларды «куәгерлер» деп те атаймыз. Бұл қарапайым пайдаланушылар, олардың міндеті транзакцияларды жүйелі түрде желіге үнемі жіберу, яғни. олардың алдыңғы транзакцияларының әрқайсысына ата-ана-бала сілтемелері бойынша өту арқылы қол жеткізуге болады. Тапсырыс жеткізушілері сенімді пайдаланушылар болып табылады және бүкіл желі осы ережені бұзбау үшін оларға сенеді. Үшін ұтымды оларға сенсеңіз, біз әрбір тапсырыс берушінің белгілі (анонимді емес) адам немесе ұйым болуын және сенімге негізделген бедел немесе бизнес сияқты ережелерді бұзатын болса, жоғалтатын нәрсе болуын талап етеміз.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Тапсырыс жеткізушілерін пайдаланушылар таңдайды және әрбір пайдаланушы желіге жіберген әрбір транзакцияда өзінің сенімді провайдерлерінің тізімін қамтиды. Бұл тізім 12 провайдерден тұрады. Бұл адамға олардың әрқайсысының жеке басын және беделін тексеру үшін жеткілікті аз сан және тапсырыс жеткізушілерінің аздығымен сөзсіз проблемалар туындаған жағдайда желінің жұмысын жалғастыру үшін жеткілікті.

Бұл провайдерлер тізімі пайдаланушыдан пайдаланушыға қарай өзгереді, бірақ көрші транзакциялардың тізімдері бір провайдерге дейін әртүрлі болуы мүмкін.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Енді бізде тапсырыс жеткізушілері болғандықтан, біз олардың транзакцияларын DAG-ге оқшаулай аламыз және олар жасаған тапсырыстың айналасындағы барлық басқа транзакцияларға тапсырыс бере аламыз. Мұндай алгоритмді құруға болады (қараңыз. Obyte ақ қағазы техникалық мәліметтер үшін).

Бірақ бүкіл желінің тәртібін бірден анықтау мүмкін емес; бізге тапсырыс провайдерлеріне өткен транзакциялардың соңғы ретін тексеру үшін транзакцияларының жеткілікті санын жіберуге уақыт қажет.

Ал, тапсырыс тек провайдерлердің DAG транзакцияларының позицияларымен анықталатындықтан, желідегі барлық түйіндер ерте ме, кеш пе, барлық транзакцияларды қабылдайды және транзакциялар тәртібіне қатысты бір қорытындыға келеді.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Сонымен, бізде не болды деп есептейтініміз туралы келісім бар: DAG-да аяқталатын кез келген транзакция орын алды. Сондай-ақ бізде оқиғалардың реті туралы келісім бар: бұл транзакциялар қатынастарынан көрінеді немесе тапсырыс жеткізушілері жіберген транзакциялар тәртібінен шығады. Сондықтан бізде ортақ пікір бар.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Бізде Obyte-де консенсустың бұл нұсқасы бар. Obyte кітабына қол жеткізу толығымен орталықсыздандырылған болса да, транзакциялар тәртібіне қатысты консенсус әлі де орталықтандырылған, өйткені 10 провайдердің 12-ын жасаушы (Антон Чурюмов) басқарады және олардың екеуі ғана тәуелсіз. Біз кітапқа тапсырыс беруді орталықсыздандыруға көмектесу үшін тәуелсіз тапсырыс жеткізушілерінің бірі болуға дайын үміткерлерді іздейміз.

Жақында үшінші тәуелсіз үміткер тапсырыс берушінің түйінін орнатуға және қолдауға дайын болды - Никосия университеті.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Енді қос шығынды қалай бақылаймыз?

Ережеге сәйкес, егер екі транзакция бір монетаның жұмсалғаны анықталса, барлық транзакциялардың соңғы ретінде бірінші орында тұрған транзакция жеңеді. Екіншісі консенсус алгоритмімен жарамсыз.

Блокчейннен DAG-қа дейін: делдалдардан құтылу
Егер бір тиынды жұмсайтын екі транзакция арасында тәртіп орнату мүмкін болса (ата-ана-бала байланыстары арқылы), онда барлық түйіндер екі есе жұмсаудың мұндай әрекетін бірден қабылдамайды.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Тапсырыс осындай екі транзакция арасындағы ата-аналық қатынастардан көрінбесе, олар екеуі де кітапқа қабылданады және тапсырыс жеткізушілерінің көмегімен олардың арасындағы консенсус пен тәртіптің орнатылуын күтуіміз керек. Сонда алдыңғы транзакция жеңеді, ал екіншісі жарамсыз болады.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Екінші транзакция жарамсыз болып қалса да, ол әлі де тізілімде қалады, өйткені оған сілтеме жасайтын кейінгі транзакциялары бар, олар ештеңені бұзбаған және болашақта бұл мәміле жарамсыз болатынын білмеген. Әйтпесе, жақсы кейінгі транзакциялардың негізгі бөлігін алып тастауға тура келеді, бұл желінің негізгі принципін бұзады - кез келген дұрыс транзакция бухгалтерлік кітапқа қабылданады.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Бұл бүкіл жүйені цензура әрекеттеріне қарсы тұруға мүмкіндік беретін өте маңызды ереже. 

Барлық тапсырыс жеткізушілері белгілі бір транзакцияға «цензура» жасауға әрекеттенгенін елестетіп көрейік. Олар оны елемей, оны ешқашан транзакциялары үшін «ата-ана» ретінде таңдай алмайды, бірақ бұл жеткіліксіз, транзакция әлі де желідегі сөз байласу жасамайтын кез келген пайдаланушы шығарған басқа транзакцияның ата-анасы ретінде жанама түрде қосылуы мүмкін. Уақыт өте келе мұндай транзакция қарапайым қолданушылардан қардай болып өсіп келе жатқан балаларды, немерелерді және шөберелерді көбірек алады және барлық келісілген тапсырыс жеткізушілері де бұл транзакцияларды елемеуге мәжбүр болады. Сайып келгенде, олар бүкіл желіні цензуралауға мәжбүр болады, бұл диверсиямен бірдей.

Блокчейннен DAG-қа дейін: делдалдардан құтылу

Осылайша, DAG тапсырыс берушілер арасында сөз байласу болса да, цензураға төзімді болып қалады, осылайша кеншілер транзакциялардың ешқайсысын қоспауды шешсе, біз ештеңе істей алмайтын цензураға төзімді блокчейннен асып түседі. Және бұл DAG негізгі қасиетінен туындайды: тізілімге қатысу толығымен тәуелсіз және делдалдарсыз, ал транзакциялар қайтымсыз.

Ақпарат көзі: www.habr.com

пікір қалдыру