Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Ushbu maqolada men sizga DAG (Directed Acyclic Graph) va uning taqsimlangan daftarlarda qo'llanilishi haqida gapirib beraman va uni blokcheyn bilan solishtiramiz.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

DAG kriptovalyutalar olamida yangilik emas. Siz buni blockchain miqyosidagi muammolarga yechim sifatida eshitgan bo'lishingiz mumkin. Ammo bugun biz miqyoslilik haqida emas, balki kriptovalyutalarni hamma narsadan nimasi bilan farqlashi haqida gapiramiz: markazsizlashtirish, vositachilarning etishmasligi va tsenzuraga qarshilik.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Men sizga DAG aslida senzuraga ko'proq chidamli ekanligini va kitobga kirish uchun vositachilar yo'qligini ko'rsataman.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Bizga tanish bo'lgan blokcheynlarda foydalanuvchilar kitobning o'ziga to'g'ridan-to'g'ri kirish imkoniga ega emaslar. Buxgalteriya hisobiga tranzaktsiya qo'shmoqchi bo'lganingizda, buni amalga oshirish uchun blok ishlab chiqaruvchidan (aka "konchi") "so'rashingiz" kerak. Qaysi tranzaksiyani keyingi blokga qo'shishni va qaysi birini qo'shmaslikni konchilar hal qilishadi. Aynan konchilar bloklarga eksklyuziv kirish huquqiga ega va kimning bitimi buxgalteriya kitobiga kiritish uchun qabul qilinishini hal qilish huquqiga ega.

Konchilar siz va taqsimlangan daftar o'rtasida turgan vositachilardir.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Amalda, odatda, kichik miqdordagi konchi hovuzlari tarmoqning hisoblash quvvatining yarmidan ko'pini birgalikda boshqaradi. Bitcoin uchun bu to'rtta hovuz, Ethereum uchun - ikkita. Agar ular til biriktirishsa, ular xohlagan tranzaktsiyalarni bloklashlari mumkin.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

So'nggi bir necha yil ichida blok ishlab chiqaruvchilarni tanlash tamoyillarida farq qiluvchi blokcheynlarning ko'plab variantlari taklif qilindi. Ammo blok ishlab chiqaruvchilarning o'zlari hech qaerga ketmaydilar, ular hali ham "to'siqda turishadi": har bir tranzaktsiya blok ishlab chiqaruvchisi orqali o'tishi kerak va agar u buni qabul qilmasa, tranzaktsiya aslida mavjud emas.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Bu blockchain bilan muqarrar muammo. Va agar biz buni hal qilmoqchi bo'lsak, dizaynni tubdan o'zgartirishimiz va bloklar va blok ishlab chiqaruvchilardan butunlay xalos bo'lishimiz kerak. Va bloklar zanjirini qurish o'rniga, biz har bir tranzaksiyada bir nechta oldingilarining xeshlarini o'z ichiga olgan tranzaktsiyalarni o'zlari bog'laymiz. Natijada, biz matematikada yo'naltirilgan asiklik grafik sifatida ma'lum bo'lgan strukturani olamiz - DAG.

Endi hamma vositachilarsiz reestrga to'g'ridan-to'g'ri kirish huquqiga ega. Hisob kitobiga tranzaktsiya qo'shmoqchi bo'lsangiz, uni shunchaki qo'shasiz. Siz bir nechta ota-ona tranzaktsiyalarini tanlaysiz, ma'lumotlaringizni qo'shasiz, imzo qo'yasiz va tranzaktsiyangizni tarmoqdagi tengdoshlaringizga yuborasiz. Tayyor. Buni amalga oshirishingizga hech kim to'sqinlik qilmaydi, shuning uchun tranzaktsiyangiz allaqachon buxgalteriya kitobida.

Bu vositachilarsiz buxgalteriya hisobiga tranzaktsiyalarni qo'shishning eng markazlashtirilmagan, tsenzuradan himoyalangan usuli. Chunki har bir kishi hech kimdan ruxsat so‘ramasdan o‘z tranzaksiyalarini ro‘yxatga olish kitobiga qo‘shib qo‘yadi.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

DAGlarni registrlar evolyutsiyasining uchinchi bosqichi deb hisoblash mumkin. Avval markazlashtirilgan registrlar mavjud bo'lib, u erda bir tomon ularga kirishni nazorat qildi. Keyin blokcheynlar paydo bo'ldi, ular allaqachon buxgalteriya kitobida operatsiyalarni qayd etadigan bir nechta kontrollerlarga ega edi. Va nihoyat, DAGda umuman nazoratchilar yo'q; foydalanuvchilar o'z tranzaktsiyalarini to'g'ridan-to'g'ri qo'shadilar.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Endi bizda bu erkinlik bor, bu tartibsizlikka olib kelmasligi kerak. Biz ro'yxatga olish holati to'g'risida kelishuvga ega bo'lishimiz kerak. Va bu kelishuv yoki konsensus odatda ikkita narsa bo'yicha kelishuvni anglatadi:

  1. Nima sodir bo `LDI?
  2. Bu qanday tartibda sodir bo'ldi?

Biz birinchi savolga osongina javob bera olamiz: to'g'ri tuzilgan bitim buxgalteriya kitobiga qo'shilgach, u sodir bo'ldi. Va davr. Bu haqidagi ma'lumotlar barcha ishtirokchilarga turli vaqtlarda yetib borishi mumkin, ammo oxir-oqibat barcha tugunlar ushbu tranzaksiyani qabul qiladi va bu sodir bo'lganligini bilib oladi.

Agar bu blokcheyn bo'lsa, konchilar nima bo'lishini hal qilishardi. Konchi blokga nima kiritishga qaror qilsa, nima bo'ladi. U blokga kiritmagan hamma narsa sodir bo'lmaydi.

Blokcheynlarda konchilar konsensusning ikkinchi muammosini ham hal qilishadi: tartib. Ular blok ichidagi tranzaktsiyalarni xohlagancha buyurtma qilishlari mumkin.

DAGda operatsiyalar tartibini qanday aniqlash mumkin?

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Grafikimiz yo'naltirilganligi sababli, bizda allaqachon tartib bor. Har bir tranzaksiya bir yoki bir nechta oldingi, ota-onaga tegishli. Ota-onalar, o'z navbatida, ota-onalariga murojaat qilishadi va hokazo. Ota-onalar, shubhasiz, bolalar operatsiyalaridan oldin paydo bo'ladi. Agar tranzaktsiyalardan birortasiga ota-ona o'rtasida o'tish orqali erishish mumkin bo'lsa, biz ushbu tranzaktsiyalar zanjiridagi operatsiyalar orasidagi tartibni aniq bilamiz.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Ammo tranzaktsiyalar orasidagi tartibni har doim ham faqat grafik shakliga qarab aniqlash mumkin emas. Masalan, ikkita tranzaktsiyalar grafikning parallel shoxlarida joylashganida.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Bunday holatlarda noaniqlikni bartaraf etish uchun biz buyurtma provayderlari deb ataladiganlarga tayanamiz. Biz ularni “guvohlar” ham deymiz. Bu oddiy foydalanuvchilar bo'lib, ularning vazifasi tranzaktsiyalarni muntazam ravishda tarmoqqa jo'natishdir, ya'ni. Shunday qilib, ularning har bir oldingi tranzaktsiyalariga ota-ona aloqalari bo'ylab o'tish orqali erishish mumkin. Buyurtma provayderlari ishonchli foydalanuvchilardir va butun tarmoq ushbu qoidani buzmaslik uchun ularga tayanadi. Uchun oqilona ularga ishonsangiz, biz har bir buyurtma provayderi taniqli (anonim bo'lmagan) shaxs yoki tashkilot bo'lishini va agar u qoidalarni buzsa, obro' yoki ishonchga asoslangan biznes kabi yo'qotadigan narsaga ega bo'lishini talab qilamiz.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Buyurtma provayderlari foydalanuvchilar tomonidan tanlanadi va har bir foydalanuvchi tarmoqqa yuboradigan har bir tranzaksiyada ishonchli provayderlar ro'yxatini o'z ichiga oladi. Ushbu ro'yxat 12 ta provayderdan iborat. Bu ularning har birining shaxsini va obro'sini tekshirish uchun odam uchun etarlicha kichik raqam va ozchilik buyurtma provayderlari bilan muqarrar muammolar yuzaga kelgan taqdirda tarmoq ishlashda davom etishini ta'minlash uchun etarli.

Ushbu provayderlar ro'yxati foydalanuvchidan foydalanuvchiga farq qiladi, lekin qo'shni tranzaktsiyalar ro'yxati bir provayderga ko'ra farq qilishi mumkin.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Endi bizda buyurtma provayderlari bor, biz ularning tranzaktsiyalarini DAGga ajratishimiz va ular tomonidan yaratilgan buyurtma atrofida boshqa barcha tranzaktsiyalarni buyurtma qilishimiz mumkin. Bunday algoritmni yaratish mumkin (qarang. Obyte oq qog'oz texnik tafsilotlar uchun).

Ammo butun tarmoqning tartibini bir zumda aniqlab bo'lmaydi; bizga buyurtma provayderlari o'tgan tranzaksiyalarning yakuniy tartibini tekshirish uchun etarli miqdordagi tranzaktsiyalarini yuborishlari uchun vaqt kerak.

Va buyurtma faqat provayderlarning DAGdagi operatsiyalari pozitsiyalari bilan belgilanadiganligi sababli, tarmoqdagi barcha tugunlar ertami-kechmi barcha tranzaktsiyalarni qabul qiladi va bitimlar tartibi bo'yicha bir xil xulosaga keladi.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Shunday qilib, biz nima sodir bo'lgan deb hisoblaganimiz to'g'risida kelishuvga erishdik: DAG bilan yakunlangan har qanday bitim sodir bo'lgan. Shuningdek, bizda voqealar tartibi to'g'risida kelishuv mavjud: bu yoki tranzaktsiyalar munosabatlaridan ko'rinadi yoki buyurtma provayderlari tomonidan yuborilgan tranzaktsiyalar tartibidan kelib chiqadi. Shunday qilib, biz konsensusga egamiz.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Bizda Obyte-da konsensusning ushbu versiyasi mavjud. Obyte daftariga kirish butunlay markazlashtirilmagan bo'lsa ham, tranzaktsiyalar tartibi bo'yicha konsensus hali ham markazlashtirilgan, chunki 10 ta provayderdan 12 tasi yaratuvchi (Anton Churyumov) tomonidan nazorat qilinadi va ulardan faqat ikkitasi mustaqildir. Biz kitobga buyurtma berishni markazsizlashtirishga yordam berish uchun mustaqil buyurtma provayderlaridan biriga aylanishga tayyor nomzodlarni qidirmoqdamiz.

Yaqinda uchinchi mustaqil nomzod buyurtma provayderi tugunini - Nikosiya universitetini o'rnatish va saqlashga tayyor bo'ldi.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Endi ikki martalik sarf-xarajatlarni qanday nazorat qilamiz?

Qoidalarga ko'ra, agar ikkita tranzaksiya bir xil tanga sarflangani aniqlansa, barcha operatsiyalarning yakuniy tartibida birinchi o'rinni egallagan bitim g'alaba qozonadi. Ikkinchisi konsensus algoritmi bilan bekor qilingan.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish
Agar bitta tangani sarflaydigan ikkita tranzaktsiyalar o'rtasida tartib o'rnatish mumkin bo'lsa (ota-ona-bola aloqalari orqali), unda barcha tugunlar ikki barobar sarflashga urinishni darhol rad etadi.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Agar buyurtma ikkita bunday bitim o'rtasidagi ota-ona munosabatlaridan ko'rinmasa, ular ikkalasi ham buxgalteriya kitobiga qabul qilinadi va biz buyurtma provayderlari yordamida ular o'rtasida kelishuv va tartib o'rnatilishini kutishimiz kerak. Shunda oldingi tranzaksiya g'alaba qozonadi, ikkinchisi esa bekor bo'ladi.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Ikkinchi tranzaksiya haqiqiy emas bo'lsa ham, u hali ham reestrda qoladi, chunki u allaqachon unga havola qilingan keyingi operatsiyalarga ega, bu hech narsani buzmagan va kelajakda bu bitim haqiqiy emasligini bilmagan. Aks holda, keyingi yaxshi tranzaktsiyalarning ota-onasini olib tashlashimiz kerak edi, bu tarmoqning asosiy tamoyilini buzadi - har qanday to'g'ri bitim buxgalteriya kitobiga qabul qilinadi.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Bu butun tizimni tsenzura urinishlariga chidamli bo'lishiga imkon beruvchi juda muhim qoidadir. 

Tasavvur qilaylik, barcha buyurtma provayderlari bitta aniq tranzaksiyani "tsenzura" qilishga urinishda til biriktiradilar. Ular buni e'tiborsiz qoldirishlari va hech qachon o'zlarining tranzaksiyalari uchun "ota-ona" sifatida tanlamasliklari mumkin, ammo bu etarli emas, tranzaksiya hali ham bilvosita tarmoqdagi til biriktirmagan har qanday foydalanuvchi tomonidan chiqarilgan boshqa tranzaksiyaning ota-onasi sifatida kiritilishi mumkin. Vaqt o'tishi bilan bunday tranzaksiya oddiy foydalanuvchilardan tobora ko'proq bolalar, nabiralar va chevaralarni oladi, ular qor to'pi kabi o'sib boradi va barcha kelishilgan buyurtma provayderlari ham bu operatsiyalarni e'tiborsiz qoldirishlari kerak. Oxir-oqibat, ular butun tarmoqni tsenzura qilishlari kerak, bu esa sabotajga tengdir.

Blokcheyndan DAGgacha: vositachilardan xalos bo'lish

Shu tarzda, DAG buyurtma provayderlari o'rtasida kelishuv mavjud bo'lsa ham, tsenzuraga chidamli bo'lib qoladi va shu tariqa, agar konchilar hech qanday tranzaktsiyalarni qo'shmaslikka qaror qilsalar, biz hech narsa qila olmaydigan tsenzuraga chidamli blokcheyndan oshib ketadi. Va bu DAGning asosiy mulkidan kelib chiqadi: reestrda ishtirok etish butunlay mustaqil va vositachilarsiz va bitimlar qaytarib bo'lmaydigandir.

Manba: www.habr.com

a Izoh qo'shish