Блокчейнээс DAG хүртэл: зуучлагчдаас салах

Энэ нийтлэлд би DAG (Directed Acyclic Graph) болон түүний тархсан дэвтэрт хэрхэн хэрэглэгдэх талаар ярьж, блокчэйнтэй харьцуулах болно.

Блокчейнээс 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 болгон тусгаарлаж, тэдний үүсгэсэн захиалгын дагуу бусад бүх гүйлгээг захиалж болно. Ийм алгоритм үүсгэх боломжтой (харна уу. Обитын цагаан цаас техникийн дэлгэрэнгүй мэдээлэл).

Гэхдээ бүхэл сүлжээний дарааллыг шууд тодорхойлох боломжгүй, бид өмнөх гүйлгээний эцсийн дарааллыг шалгахын тулд захиалга хангагчид хангалттай тооны гүйлгээ илгээх цаг хэрэгтэй.

Захиалга нь зөвхөн DAG дахь үйлчилгээ үзүүлэгчдийн гүйлгээний байрлалаар тодорхойлогддог тул сүлжээн дэх бүх зангилаа эрт орой хэзээ нэгэн цагт бүх гүйлгээг хүлээн авч, гүйлгээний дарааллын талаар ижил дүгнэлтэд хүрнэ.

Блокчейнээс DAG хүртэл: зуучлагчдаас салах

Тиймээс, бид юу болсон гэж үзэж байгаа талаар тохиролцож байна: DAG-д дууссан аливаа гүйлгээ нь болсон. Үйл явдлын дарааллын талаар бид мөн тохиролцож байна: энэ нь гүйлгээний харилцаанаас тодорхой харагдаж байна, эсвэл захиалга нийлүүлэгчийн илгээсэн гүйлгээний дарааллаас харагдаж байна. Тиймээс бид нэгдсэн байр суурьтай байна.

Блокчейнээс DAG хүртэл: зуучлагчдаас салах

Бид Obyte дээр зөвшилцлийн энэ хувилбартай. Хэдийгээр Obyte дэвтэрт нэвтрэх бүрэн төвлөрсөн бус боловч гүйлгээний дарааллын талаархи зөвшилцөл төвлөрсөн хэвээр байна. 10 үйлчилгээ үзүүлэгчийн 12-ыг бүтээгч (Антон Чурюмов) хянадаг бөгөөд зөвхөн хоёр нь бие даасан байдаг. Бид дэвтрийн захиалгын төвлөрлийг сааруулахад туслах бие даасан захиалга нийлүүлэгчдийн нэг болох хүсэлтэй нэр дэвшигчдийг хайж байна.

Саяхан гурав дахь бие даан нэр дэвшигч Никосиягийн Их Сургууль болох захиалга нийлүүлэгчийн зангилаа суурилуулах, засвар үйлчилгээ хийх хүсэлтэй гарч ирэв.

Блокчейнээс DAG хүртэл: зуучлагчдаас салах

Одоо бид давхар зардлыг хэрхэн хянах вэ?

Дүрэм журмын дагуу хэрэв нэг зоосыг зарцуулсан хоёр гүйлгээ илэрсэн бол бүх гүйлгээний эцсийн дарааллаар нэгдүгээрт орсон гүйлгээ нь хожно. Хоёр дахь нь зөвшилцлийн алгоритмаар хүчингүй болсон.

Блокчейнээс DAG хүртэл: зуучлагчдаас салах
Хэрэв ижил зоосыг зарцуулсан хоёр гүйлгээний хооронд (эцэг эх, хүүхдийн холболтоор) дэг журам тогтоох боломжтой бол бүх зангилаа хоёр дахин зарцуулах оролдлогыг нэн даруй үгүйсгэдэг.

Блокчейнээс DAG хүртэл: зуучлагчдаас салах

Хэрэв ийм хоёр гүйлгээний хоорондох эцэг эхийн харилцаанаас захиалга харагдахгүй байгаа бол тэдгээрийг хоёуланг нь дэвтэрт хүлээн зөвшөөрсөн бөгөөд захиалга нийлүүлэгчдийг ашиглан тэдгээрийн хоорондын зөвшилцөл, дарааллыг тогтоохыг хүлээх шаардлагатай болно. Дараа нь өмнөх гүйлгээ нь ялж, хоёр дахь нь хүчингүй болно.

Блокчейнээс DAG хүртэл: зуучлагчдаас салах

Хоёрдахь гүйлгээ хүчингүй болсон ч энэ нь бүртгэлд хэвээр үлддэг, учир нь түүнд холбогдох дараагийн гүйлгээнүүд байгаа бөгөөд энэ нь юу ч зөрчөөгүй бөгөөд ирээдүйд энэ гүйлгээ хүчингүй болно гэдгийг мэдээгүй болно. Үгүй бол бид дараагийн сайн гүйлгээний эцэг эхийг хасах хэрэгтэй бөгөөд энэ нь сүлжээний үндсэн зарчмыг зөрчих болно - аливаа зөв гүйлгээг дэвтэрт хүлээн зөвшөөрнө.

Блокчейнээс DAG хүртэл: зуучлагчдаас салах

Энэ бол бүхэл бүтэн систем нь цензурын оролдлогод тэсвэртэй байх боломжийг олгодог маш чухал дүрэм юм. 

Бүх захиалгын үйлчилгээ үзүүлэгчид нэг тодорхой гүйлгээг "цензурлах" оролдлого хийдэг гэж төсөөлөөд үз дээ. Тэд үүнийг үл тоомсорлож, гүйлгээнийхээ "эцэг эх"-ээр хэзээ ч сонгохгүй байж болох ч энэ нь хангалттай биш, сүлжээний аливаа хэрэглэгчийн хийсэн бусад гүйлгээний эцэг эхийн хувьд гүйлгээг шууд бусаар оруулж болно. Цаг хугацаа өнгөрөхөд ийм гүйлгээ нь энгийн хэрэглэгчдээс улам олон хүүхэд, ач зээ, гучийг хүлээн авч, цасан бөмбөг шиг өсөх бөгөөд тохиролцсон бүх захиалга хангагчид эдгээр гүйлгээг үл тоомсорлох болно. Эцсийн эцэст тэд сүлжээг бүхэлд нь цензурдах ёстой бөгөөд энэ нь хорлон сүйтгэх ажиллагаатай адил юм.

Блокчейнээс DAG хүртэл: зуучлагчдаас салах

Ийм байдлаар DAG нь захиалга нийлүүлэгчдийн хооронд тохиролцоо байсан ч цензурд тэсвэртэй хэвээр байгаа бөгөөд ингэснээр уурхайчид ямар ч гүйлгээг оруулахгүй гэж шийдсэн тохиолдолд бид юу ч хийж чадахгүй цензурд тэсвэртэй блокчейныг давж байна. Энэ нь DAG-ийн үндсэн өмчөөс үүдэлтэй: бүртгэлд оролцох нь бүрэн бие даасан, зуучлагчгүй бөгөөд гүйлгээ нь эргэлт буцалтгүй байдаг.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх