paint-brush
Кушодани навсозии Starknet Boltаз ҷониби@2077research
Таърихи нав

Кушодани навсозии Starknet Bolt

аз ҷониби 2077 Research17m2024/12/26
Read on Terminal Reader

Хеле дароз; Хондан

Навсозии Starknet Bolt ду хусусияти асосиро муаррифӣ кард: иҷрои мувозӣ ва иҷрои блок. Ин мақола муҳокима мекунад, ки чӣ гуна ин хусусияти нав ҷорӣшуда кори Starknet-ро беҳтар мекунад ва таҷрибаи транзаксияро барои корбарони Layer 2 (L2) беҳтар мекунад.
featured image - Кушодани навсозии Starknet Bolt
2077 Research HackerNoon profile picture


Навсозии охирини Starknet (v0.13.2) бо номи Болт ду тағйироти асосӣ меорад: иҷрои мувозӣ ва бастабандии блок . Гарчанде ки аз ҳамдигар новобаста аст, ҳарду хусусият ба сӯи ҳадафи блокҳои зуд ва арзон, ки аз ҷониби Ethereum криптографӣ таъмин карда шудаанд, дастгирӣ мекунанд.


Иҷрои мувозӣ имкон медиҳад, ки транзаксияҳои баҳснок (яъне транзаксияҳое, ки ба як ҳолат дахл надоранд) ҳамзамон иҷро шаванд. Бо татбиқи иҷрои параллелӣ, L2s ба монанди Starknet метавонанд вақти иҷроро бидуни афзоиши истифодаи захираҳо кам кунанд. Ин маънои онро дорад, ки ҳаққи транзаксия барои корбарон ва ба таври назаррас беҳтар шудани вақти тасдиқи транзаксия.


Бастабандии блок истифодаи Starknet аз blobspace дар Ethereum L1-ро оптимизатсия мекунад: бо бастабандии блок, секвенсерҳо метавонанд як далелро барои тафтиши якчанд блокҳои Starknet L2 ҳамзамон тавлид кунанд. Ин истифодаи фазои blobs-ро аз басомади истеҳсоли блоки L2 ҷудо мекунад ва хароҷоти тасдиқи далелҳоро амортизатсия мекунад. Ҳарду хароҷоти амалиётиро барои пайдарпайии Starknet кам мекунанд, ки ин маънои онро дорад, ки корбарон барои як транзаксия камтар пардохт мекунанд.


Тавре ки мо гуфтем, Болт Starknet-ро арзонтар ва тезтар мекунад! Ин гузориш таҳлили муфассали такмили Болт - тамаркуз ба иҷрои мувозӣ ва бастабандии блокҳоро пешниҳод мекунад ва оқибатҳои иҷрои Starknet-ро меомӯзад.

Таҷдиди зуд дар ҷамъбаст

Рӯйдодҳо ҳалли миқёси қабати дуюм (L2) мебошанд, ки ҳадафи он миқёси блокчейн қабати як (L1) тавассути интиқол додани ҳисоббарорӣ аз занҷир мебошанд. Бо интиқоли иҷро берун аз занҷир, ҷамъоварӣ метавонад барои миқёспазирӣ (муомилоти арзон ва зуд) оптимизатсия кунад, дар ҳоле ки L1 амнияти транзаксияҳои L2-ро таъмин мекунад.


Рӯйдодҳо аксар вақт мегӯянд, ки "амниятро аз L1 мерос мегиранд". Ин аслан маънои онро дорад, ки онҳо консенсус ва кафолати дастрасии маълумотро, ки аз ҷониби L1 пешниҳод шудаанд, мерос мегиранд. Илова бар ин, L1 инчунин кафолати амниятро дар шакли пайванди бехатар байни он ва ҷамъоварӣ таъмин мекунад.


Вақте ки секвенсерҳо блокҳои L2-ро ба L1 нашр мекунанд, L1 кафолати мавҷудият ва фармоиши ин маълумотро медиҳад. Аз ин ҷо, гиреҳҳои L2 метавонанд беэътимод занҷири каноникии L2-ро бо ин маълумот дар якҷоягӣ бо қоидаҳои ҷамъбаст дар атрофи ҳосилшавии занҷир ва гузариши ҳолати аз ҷониби татбиқи гиреҳ тавсифшуда ҳисоб кунанд.


Барои осон кардани пайванди бехатари байни L1 ва L2, L1 далели дуруст будани занҷири L2-ро, ки дар ҳоли ҳозир пайравӣ мекунад, талаб мекунад ва тағироти ҳолати ғайриқонуниро дар бар намегирад (масалан, хароҷоти дукарата). Ин зарурати ҷамъбастӣ барои исботи дурустии тағиротҳои давлатӣ, кафолат медиҳад, ки L1 барои гирифтани пул аз ҷамъоварӣ дар асоси ҳолати ғайриқонунӣ иҷозат намедиҳад.


Ҷамъбастҳо вобаста ба он ки чӣ гуна онҳо дурустии тағироти ҳолатиро ба L1 исбот мекунанд, фарқ мекунанд:

  • Маҷмӯаҳои эътиборнокӣ ба далелҳои эътиборнокӣ такя мекунанд, то дурустии иҷроро объективона тафтиш кунанд. Ба пешниҳодкунандагон иҷозат дода мешавад, ки ҳолати навро пешниҳод кунанд, агар онҳо ба шартномаи ҷамъоварӣ далели эътибори худро пешниҳод кунанд.
  • Маҷмӯаҳои оптимистӣ ба мавҷуд набудани далели қаллобӣ барои ба таври субъективӣ тафтиш кардани дурустии иҷро такя мекунанд. Пешниҳодкунандагон навсозиҳои давлатиро бидуни далел пешниҳод мекунанд, аммо шартномаи ҷамъоварӣ метавонад ҳама гуна навсозии давлатиеро, ки эътибораш бо далели қаллобӣ бомуваффақият зери шубҳа гузошта шудааст, бозпас гирад.


Рӯйдодҳо инчунин қабати асосиро бо маълумоти кофӣ барои ҷонибҳои манфиатдор барои барқарор кардани ҳолати L2 таъмин мекунанд. Дар ҳоле ки ҷамъбастҳои оптимистӣ бояд маълумоти мукаммали транзаксияро интишор кунанд, то ба рақибон имкон диҳанд, ки далелҳои қаллобиро ҳисоб кунанд, ҷамъбастҳои эътиборӣ чунин талабот надоранд (далелҳои эътиборнокӣ иҷрои дурустро кафолат медиҳанд). Аммо интишори маълумоти мукаммали муомилот дар L1 ҳанӯз ҳам аз нуқтаи назари кам кардани эътимод муфид аст (таҷдиди беэътимод аз давлат ва гирифтани маблағҳои беиҷозат).


Starknet маҷмӯи эътиборест, ки барои исботи дурустии тағироти ҳолати S calable, T ransparent AR gumment-и K nowledge (STARKs) истифода мебарад. Навсозии охирин ба Starknet бо номи Болт иҷроиши мувозӣ ва бастабандии блокро илова мекунад. Дар бахшҳои минбаъда, мо шарҳ медиҳем, ки ин ду хусусият чӣ гуна кор мекунанд ва онҳо барои корбарони Starknet чӣ беҳбудиҳо меорад.

Навсозии Starknet Bolt чиро тағир дод?

Дар сатҳи баланд, навсозии Болт механизмҳои иҷро, исбот ва дастрасии маълумотҳои Starknet-ро тағир дод.

Оптимизатсияи иҷро

Пеш аз навсозии Болт, транзаксияҳои Starknet аз ҷониби секвенсер пай дар пай иҷро мешуданд. Иҷрои пайдарпай оддӣ, вале хеле бесамар аст. Ин бесамар аст, зеро он аз воҳидҳои коркарди сершумори мустақил, ки компютерҳои муосир пешниҳод мекунанд ва параллелизатсияи маҷмӯи транзаксияҳоро истифода намебарад.


Иҷрои пайдарпай


Иҷрои параллелӣ

Параллелизатсия ченаки мустақил будани муомилот дар маҷмӯи додашуда мебошад. Масалан, маҷмӯи се амалиёти зеринро дида бароед:

  • Амали 1: Алис мехоҳад Боб 1 STRK-ро фиристад

  • Муомилоти 2: Кейтлин мехоҳад Дэнни 100 ETH фиристад

  • Муомилоти 3: Кейтлин мехоҳад Элла 100 ETH фиристад


Амали 1 аз муомилоти 2 ва 3 комилан мустақил аст – зеро он ба қисми дигари давлат (бақияи Алиса) дастрасӣ дорад – ва метавонад ҳамзамон иҷро шавад. Аммо, транзаксияҳои 2 ва 3 ихтилоф доранд, зеро онҳо мехоҳанд ба ҳамон ҳолат дастрасӣ пайдо кунанд - тавозуни ETH Caitlyn. Ин транзаксияҳоро ҳамзамон иҷро кардан ғайриимкон аст, вагарна мо бо натиҷаҳои мухолиф ба даст меорем.


Барои мисол:

  • Бигӯед, ки тавозуни Caitlyn 300 ETH аст ва транзаксияҳои 2 ва 3 дар як вақт оғоз мешаванд. Ҳарду транзаксия тавозуни ибтидоии суратҳисоби Кейтлинро ҳамчун 300 ETH хонда, маблағи интиқолро аз он тарҳ мекунанд (300 - 100 = 200) ва 200 ETH ба маконе, ки дар хотирае, ки тавозуни ҳисоби Кейтлин нигоҳ дошта мешавад, нависед.
  • Амалиётҳои 2 ва 3 пас аз он мутаносибан тавозуни Дэнни ва Элларо мехонанд ва ба тавозуни ҳарду корбар 100 ETH илова мекунанд. Тавозуни Caitlyn то 100 ETH коҳиш хоҳад ёфт, аммо 200 ETH ҳисоб карда мешавад - 100 ETH-ро аз ҳавои тунук чоп мекунад.


Пешгирӣ аз ин намуди низоъҳо (ва табиати мураккаби механизмҳои коҳишдиҳӣ) ин аст, ки чаро Ethereum иҷрои пайдарпайро интихоб кард. Аммо, гарчанде ки иҷрои пайдарпай мураккабиро коҳиш медиҳад ва амниятро беҳтар мекунад, он боиси истифодаи бесамари сахтафзор мегардад. Бадтараш он аст, ки тамоюли тарроҳии сахтафзор аз он шаҳодат медиҳад, ки иҷрои пайдарпай дар солҳои оянда беш аз пеш бесамар хоҳад шуд.


Дар расми 4 тамоюли тарҳрезии сахтафзор дар 50 соли охир нишон дода шудааст. Тарзи дахлдор? Иҷрои як ришта (давраҳои арғувон) аз миёнаҳои солҳои 2000-ум баланд шуда истодааст, дар ҳоле ки шумораи ядроҳои мантиқӣ тақрибан дар ҳамон вақт афзоиш ёфтааст. Дар асоси ин маълумот мо метавонем ду хулоса барем:

  • Дизайнерҳои сахтафзор миқёси микросхемаҳои компютериро тавассути илова кардани воҳидҳои коркарди мустақил бештар мекунанд, на беҳтар кардани кори як воҳиди ягона.

  • Ҳама гуна системае, ки ба баланд бардоштани самаранокии як воҳиди коркард такя мекунад, ҳатто дар сахтафзори навтар дар афзоиши ҳосилнокӣ дучор хоҳад шуд.


Расми 4: Тамоюлҳои микропросессор


Дар солҳои охир, алгоритмҳои мураккаби идоракунии низоъҳои транзаксия ва таъмини дурустии иҷрои параллелӣ пайдо шуданд. Block-STM (дар асоси коғази Фикунми ва дигарон*) яке аз чунин алгоритмҳост ва қисми асосии муҳаррики нави иҷрои параллелии Starknet-ро ташкил медиҳад. Мо алгоритми Block-STM-ро дар бахшҳои баъдӣ таҳлил мекунем.

Оптимизатсияи исбот ва дастрасии маълумот

SHARP аз Starknet (кӯтоҳ барои Shared Prover) ҳамеша аз далелҳои рекурсивӣ барои кам кардани хароҷоти санҷиш ба қадри имкон истифода мекард. Исботи рекурсивӣ аслан "далели исбот" аст, ки дар он як далел дурустии як ё якчанд далелро тасдиқ мекунад. Дар зер нақшаи он аст, ки чӣ тавр SHARP далели рекурсивиро тавлид мекунад:

  • Системаи SHARP маҷмӯи барномаҳоеро, ки иҷро мешаванд ("кор") ҳамчун вуруд қабул мекунад ва далели иҷрои корро тавлид мекунад. Ин "барномаҳо" блокҳои L2 мебошанд ва далелҳо дурустии транзаксияҳоро тасдиқ мекунанд.

  • Исбот ба барномаи дигаре фиристода мешавад, ки далелро тафтиш мекунад ва барномаи санҷиши далелро ба кор табдил медиҳад. SHARP вазифаи навро ҳамчун вуруд қабул мекунад ва далели дигарро тавлид мекунад (ин далел дурустии далели қаблиро тасдиқ мекунад).

  • Раванд (исбот → кор → исбот) аз нав оғоз мешавад ва то расидан ба ҳадаф идома меёбад, ки дар он далели ниҳоӣ (ки ҳоло версияи хеле фишурдашудаи далели аслӣ аст) дар L1 ҷойгир карда мешавад.


Расми 5: Насли исботи рекурсивӣ


Ин тарҳ бо ду сабаби асосӣ хароҷотро хеле кам мекунад:

  • Корҳои минбаъда* барномаҳо ё транзаксияҳои инфиродӣ нестанд ва хароҷоти исботшуда ба таври зерхаттӣ афзоиш меёбанд. Ин маънои онро дорад, ки шумораи барномаҳо/амалҳо дар дохили кор ҳар қадар зиёд бошад, пасандозҳо ҳамон қадар зиёд мешавад. Бо эҷод кардани далелҳо дар як блок ба ҷои як транзаксия, ҳаққи транзаксия метавонад хеле арзонтар шавад.
  • Рекурсия далелҳоро хеле фишурда мекунад, ки дар натиҷа "исботи исбот" ба вуҷуд меояд, ки барои тафтиш дар L1 нисбат ба далели аввалия ё ягон далели мобайнӣ хеле арзонтар аст.


Гарчанде ки системаи санҷиш хуб буд, имкониятҳои сарфаи минбаъдаи хароҷот аз даст дода шуданд. Масалан, ҳар як кор як блоки ягонаи Starknet буд ва ҳар яке аз ин блокҳо барои гирифтани як блок дар L1 тарҳрезӣ шудаанд. Ин боиси нокомии муайяне гардид, ки дар зер тавсиф шудаанд:

  • Пеш аз Болт, Старкнет вақти муқаррарии блокро надошт (ва ҳоло ҳам надорад); Ба ҷои ин, як блоки L2 ба L1 дар ду шарт интишор шуд: (1) Маблағи маълумоти як blob иҷро шуд (2) Аз блоки қаблӣ шаш дақиқа гузашт. Мутаассифона, бинобар талабот, аксари блокҳо аз сабаби маҳдудияти шаш дақиқа (на маҳдудиятҳои DA) ба L1 фиристода шуданд.
  • Ин маънои онро дошт, ки блокҳо (на блокҳо) аксар вақт (сахт) кам истифода мешуданд, ки боиси хароҷоти беасос баланди газ мегардад. Блокҳои Starknet инчунин арзиши собит доштанд, ки онро метавон аз ҷиҳати назариявӣ тавассути татбиқи ҳамон усулҳои рекурсии дар боло муҳокимашуда барои тавлиди далелҳои блокҳои сершумор коҳиш дод.


Бастабандии блок ин мушкилотро бо истифода аз дарахти бинарии далелҳои рекурсивӣ ҳал мекунад. Мо бастабандии блокро дар қисмати минбаъдаи мақола муҳокима мекунем.

Болт Қисми 1: Иҷрои мувозӣ

Тавре ки қаблан баррасӣ шуд, иҷрои пайдарпай бесамар аст (ва танҳо бо гузашти вақт бесамар хоҳад буд) ва иҷроиши мувозии соддалавҳона натиҷаҳои беэътибор медиҳад. Бо вуҷуди ин, муҳаррикҳои иҷрокунии параллелӣ барои пешгирӣ кардани натиҷаҳои номувофиқ ғамхорӣ мекунанд.


Ду равиш барои мубориза бо иҷрои параллелӣ вуҷуд дорад: Назорати пессимистии ҳамзамон (PCC) ва назорати оптимистии ҳамзамон (OCC) . PCC ва OCC воҳидҳои коркарди транзаксияҳо (TPU) мебошанд. Дар зер таърифи воҳиди коркарди транзаксия аз Block-STM ва SVM оварда шудааст: Муқоисаи муҳаррикҳои иҷрокунандаи параллел:


TPU одатан бо якҷоя карда мешавад, аммо аз мошини виртуалӣ (VM) фарқ мекунад. VM-ҳои Blockchain ба монанди EVM, SVM ва MoveVM VM-ҳои забони сатҳи баланд мебошанд… TPU, ки одатан мавзӯи таваҷҷӯҳ аст, VM-ро фаро мегирад. Он ба идоракунии тамоми лӯлаи иҷрои транзаксия, аз ҷумла эҷод ва идоракунии мисолҳои VM вазифадор аст.


Назорати ҳамзамон пессимистӣ дар асоси тахмине тарҳрезӣ шудааст, ки бисёре аз муомилоти дохили маҷмӯи муомилоти иҷрошаванда мухолифат мекунанд, яъне онҳо ба як ҳолат таъсир мерасонанд. PCC ин ихтилофҳоро пешгирӣ мекунад .


Барои пешгирии муноқишаҳо, PCC талаб мекунад, ки транзаксия пешакӣ эълон кунад, ки ҳангоми амалиёти хондан/навишт он ба кадом қисмҳои ҳолат дастрасӣ дорад. Воҳиди коркарди транзаксия метавонад ин маълумотро барои ба нақша гирифтани транзаксияҳо тавре истифода барад, ки транзаксияҳои ба ҳам зид пай дар пай иҷрошударо таъмин кунанд (ба ҷои ҳамзамон). Баъзе TPUҳо инчунин барои иҷрои ин рафтор қулфҳоро истифода мебаранд (қуфл (ака, mutex) механизмест, ки барои пешгирии дастрасии ҳамзамон ба макони хотира истифода мешавад).


Ин гуфта мешавад, ки иҷрои PCC бар асари муомилоти муайян оварда мерасонад. Аввалан, талабот барои пешниҳоди рӯйхатҳои дастрасӣ (ки слотҳои хотираи транзаксияро муайян мекунад) таҷрибаи таҳиягарро паст мекунад ва доираи барномаҳои имконпазирро коҳиш медиҳад. Дуюм, банақшагирии транзаксияҳо метавонад хароҷоти нолозимро ба бор орад - хусусан вақте ки ягон ихтилоф вуҷуд надорад.


Назорати оптимистии ҳамзамон бо он тарҳрезӣ шудааст, ки бисёре аз муомилот дар дохили маҷмӯи додашуда ихтилоф нахоҳанд дошт, яъне онҳо ба як ҳолат наменависанд. Ҳамин тариқ, OCC TPU маҷмӯи транзаксияҳоро бо тамоми захираҳои мавҷуда иҷро мекунанд ва танҳо кӯшиш мекунанд, ки ихтилофҳоро ошкор кунанд . Агар муноқиша ошкор карда шавад, транзаксияҳои зиддият иҷро ва тафтиш карда мешаванд, то он даме, ки тамоми маҷмӯа гузашт ва анҷом дода шавад.


TPU-ҳои OCC аз банақшагирӣ хароҷоти изофӣ надоранд, аз ин рӯ онҳо одатан ҳангоми кам будани ихтилофҳо беҳтар кор мекунанд. Воҳидҳои коркарди транзаксия дар асоси OCC инчунин дорои таҷрибаи беҳтари таҳиякунанда ва доираи васеи ҳолатҳои истифода мебошанд, зеро вобастагии давлатӣ набояд пешакӣ маълум шавад.


Аммо, вақте ки маҷмӯи транзаксияҳо хеле баҳсноканд, OCC нисбат ба PCC бадтар кор мекунад. Мо тарҳҳои TPU-ро (ба таври муфассал) баррасӣ мекунем ва равишҳои OCC ва PCC-ро дар мақолаи худ дар бораи иҷрои параллелӣ муқоиса мекунем.


TPU нави Starknet равиши OCC-ро истифода мебарад. Аниқтараш, он татбиқи алгоритми Block-STM мебошад. Block-STM транзаксияҳоро бо тамоми захираҳои мавҷуда ба таври оптимистӣ иҷро мекунад, агар ҳеҷ яке аз онҳо мухолифат накунад ва пас аз иҷро тафтиш мекунад, ки ягон амалиёти зидди ҳамзамон иҷро нашудааст. Пеш аз он ки мо ба меъмории нави Starknet ғарқ шавем, муҳим аст, ки баъзе таърифҳои калидиро баррасӣ кунем:

  1. Ҳолат : Ҳолат ҳолати объект дар як вақт аст. Дар контексти blockchain он одатан ба арзиши як қисми хотира ишора мекунад, масалан, тавозуни суроға (қисми) ҳолати он аст.
  2. Сериализатсия : Гуфта мешавад, ки иҷрои параллелӣ моликияти сериализатсияро нигоҳ доштааст, агар иҷрои маҷмӯи транзаксияҳо ба таври пайдарпай ва ҳамзамон як натиҷаҳоро ба бор орад.
  3. Низоъ : Ду транзаксия гуфта мешавад, ки агар ақаллан яке аз онҳо мехоҳад ба як қисми иёлот нависад, ки ҳарду мехоҳанд дастрасӣ дошта бошанд (хондан ё навиштан мумкин аст). Агар ҳарду транзаксия танҳо аз як қисми иёлот хонда шаванд, пас ҳеҷ ихтилофе вуҷуд надорад, аммо агар ҳадди аққал яке аз онҳо ба ин қисми иёлот навишта шавад, пас транзаксияҳоро ҳамзамон бидуни вайрон кардани силсиласозӣ иҷро кардан мумкин нест. Мо як мисоли дар боло зикршударо дар мисоли Кейтлин, Дэнни ва Элла баррасӣ кардем.
  4. Вобастагӣ : Гуфта мешавад, ки транзаксияи txj аз транзаксия (ё вобастагии) txi вобаста аст, агар ва танҳо агар ҳарду транзаксия ба як макони хотира навишта шаванд ва txj пас аз txi дар фармоиши силсилавӣ ояд. Агар txi пас аз txj омада бошад, txi аз txj вобаста хоҳад буд.
  5. Сохтори маълумоти бисёр-версия : Сохтори додаҳои бисёр-версия якест, ки дар он версияи нави сохтори додаҳо барои ҳар як навиштан ба сохтори додаҳо сохта мешавад. Ба ҷои тағир додани арзиши дар ҷои худ, версияи нави барои навиштани макони ивазшаванда эҷод карда мешавад. Бартарии арзиши сохторҳои бисёр-версияи додаҳо дар он аст, ки онҳо имкон медиҳанд, ки аз ҳамон минтақа дар хотира хондан ва навиштанро ба таври баланд ҳамзамон иҷро кунанд. Мо баъдтар мефаҳмем, ки ин чӣ гуна муфид аст.

Вақте ки таърифҳо аз роҳ берунанд, мо метавонем фаҳмем, ки чӣ гуна Block-STM кор мекунад.

Чӣ тавр Block-STM кор мекунад

Вуруд ба Block-STM навбат (рӯйхати фармоишӣ) аз транзаксияҳо мебошад, ки ин рӯйхат аксар вақт БЛОК номида мешавад. Ин рӯйхатро метавон бо ҳар роҳ фармоиш дод; талаби ягона ин аст, ки тартиби аник муайян карда шудааст. Ҳамин тавр, бо назардошти маҷмӯи транзаксияҳои T дорои транзаксияҳои {t0…tn} , транзаксияҳо тавре ҷудо карда мешаванд, ки {t0 > t1 > t2 … > tn} (хондан чун t0 афзалияти баландтар аз t1 аст, t1 афзалияти баландтар аз t2 ва ғ. .)


Дар оғози раванди иҷро ду маҷмӯа эҷод карда мешаванд - маҷмӯи иҷро E ва маҷмӯи тасдиқи V. E транзаксияҳоеро, ки ҳанӯз иҷрошавандаанд, пайгирӣ мекунад, дар ҳоле ки V транзаксияҳоеро, ки иҷро шудаанд, вале ҳанӯз тасдиқ карда намешаванд, пайгирӣ мекунад. Ҳар як транзаксия инчунин бо рақами муҷассамаи n алоқаманд аст, то пайгирӣ кунад, ки он чанд маротиба иҷро шудааст (ва аз нав иҷро шудааст). Ҳолати ибтидоии маҷмӯаҳо ин аст, ки E ҳамаи транзаксияҳоро дар бар мегирад ва V холӣ аст, яъне E = {t0,1 > t1,1 > t2,1 > … > tn,1} ва V = {} .


Бо ин маҷмӯаҳои фармоишии транзаксияҳо, ҳар як ришта барои давраҳои иҷро истифода мешавад, аз як даври се марҳила мегузарад:

  1. Тафтиши анҷом ёфт
  2. Вазифаи ояндаро пайдо кунед
  3. Иҷрои вазифа

Тафтиши анҷом ёфт

Дар давоми ин қадам, ришта ҳам V ва ҳам E-ро месанҷад. Агар ҳарду холӣ бошанд ва ягон транзаксия иҷро нашавад, пас партияи ҷории транзаксияҳо пурра иҷро шудааст ва натиҷаҳоро метавон барои нигоҳдорӣ содир кард.

Ҷустуҷӯи вазифаи навбатӣ

Агар V ё E дорои транзаксияҳо бошанд, Block-STM транзаксияро бо индекси пасттарин (на рақами инкарнатсия) аз ҳарду маҷмӯи транзаксияҳо интихоб мекунад, яъне агар E дорои {t1,3 , t3,1 and t5,2} бошад ва V дорои {t0,1, t2,4, t4,3} , вазифаи тасдиқи транзаксияи t0 ҳамчун вазифаи навбатӣ интихоб карда мешавад.

Иҷрои вазифа

Пас аз муайян ва интихоб кардани вазифаи навбатӣ, он иҷро карда мешавад. Дар охири ин қадам, алгоритм боз ба Санҷиши анҷом дода мешавад. Ин раванд то холӣ шудани ҳарду маҷмӯи муомилот идома меёбад.


Биёед бубинем, ки ҳангоми иҷро ва тасдиқ чӣ ҳодиса рӯй медиҳад:


Ҳангоми иҷрои транзаксия, алгоритми Block-STM ду маҷмӯи (дар як транзаксия) пур мекунад; маҷмӯи хондан ( Ri,n ) ва маҷмӯи навиштан ( Wn,i ). Маҷмӯи хондан ҳамаи маконҳои хотираро дар бар мегирад, ки транзаксия ҳангоми иҷрои он хонда мешавад, дар ҳоле ки маҷмӯи навиштан ҳамаи маконҳои хотираи ба он навишташударо дар бар мегирад. Ҳангоми иҷро, транзаксияҳо навиштани худро ба сохтори маълумоти бисёр-версия истифода мебаранд, аммо хондан каме нозуки аст.


Дар Block-STM, вақте ки транзаксия мехоҳад аз сохтори додаҳо хонда шавад, он арзиши навишташудаи транзаксияи пасттаринро, ки афзалияти баландтар дорад, тафтиш мекунад. Масалан, агар tx1 , tx2 ва tx7 ҳама ба макони хотира навишта шуда бошанд ва tx5 мехоҳад аз ин макон хонад, он версияи сохтори додаҳои мувофиқи tx2 мехонад.


Ин барои иҷрои сериализатсия анҷом дода мешавад; зеро tx5 бояд пас аз tx2 ва пеш аз tx7 иҷро шавад, он бояд арзишҳоеро, ки tx2 навиштаанд, истифода барад, на tx7 . Дар ин мисол, tx7 бояд аз нав иҷро карда шавад, зеро он бояд арзишҳои навишташудаи tx5 -ро хонд, на tx2 ё ҳама гуна амалиёти афзалиятноктар. Агар сохтори додаҳои як версия истифода мешуд, арзиши навиштаи tx2 дастнорас хоҳад буд ва ҳатман ихтилоф ба амал меояд.


Барои вазифаи тасдиқкунӣ маҷмӯи хондани транзаксия бо арзишҳои ҷорӣ дар маконҳои хотирае, ки ҳангоми иҷро хонда мешавад, муқоиса карда мешавад. Масалан, агар tx2 ҳангоми иҷроиш ҳисоби B-ро хонад, ҳангоми санҷиш, макони хотираи ҳисоби B хонда мешавад (бо нигоҳ доштани таърифи хондани мо қаблан дар хотир дошт). Агар ин ду арзиш якхела бошанд, пас ин маънои онро дорад, ки ҳангоми иҷрои tx2 ягон амалиёти афзалиятноктар (бигӯед tx0 ё tx1 ) ба он макон навишта нашудааст. Ин натиҷа медиҳад, ки tx2 ҳамчун тасдиқшуда қайд карда мешавад, аммо барои содир кардан бехатар нест.


Амалиёт барои анҷом додани амалиёт бехатар ҳисобида намешавад, зеро муомилоти афзалиятноки камтар метавонад бо ҳама гуна сабабҳо пас аз тасдиқи транзаксия иҷро карда шавад. Дар мисоли иҷрошавандаи мо, агар tx1 ба ҳисоби B ламс кунад ва танҳо пас аз он ламс кунад, tx2 аз санҷиш мегузарад, пас tx2 бояд дубора иҷро карда шавад.


Барои таъмини ин, ҳар вақте, ки транзаксия иҷроро анҷом медиҳад, ҳамаи транзаксияҳои афзалиятноки пасттаре, ки аз санҷиш гузаштаанд, аз нав тасдиқ карда мешаванд, то боварӣ ҳосил кунанд, ки онҳо бо транзаксия мухолифат накунанд. Масалан, агар tx1 , tx3 ва tx4 тасдиқ шуда бошад ва tx2 иҷроро ба анҷом расонад, tx3 ва tx4 бояд аз нав тасдиқ карда шаванд, то боварӣ ҳосил кунанд, ки онҳо бо tx2 мухолифат накунанд (ва ҳамин тавр вобастагии онҳо низ ҳастанд).


Агар транзаксия дар санҷиш ноком шавад, яъне амалиёти афзалияти баландтаре, ки ба ҳамон ҳолат менависад, ҳамзамон бо он иҷро шуда бошад, пас он менависад, ки муомилоти анҷомшуда ифлос аст (зеро арзишҳо нодурустанд.) Аммо ба ҷои нест кардани ин арзишҳо аз пойгоҳи додаҳо пурра, онҳо ESTIMATE нишон дода шудаанд.


Парчами ESTIMATE ба ҳар як транзаксия дар он макони хотира мегӯяд, ки арзишҳои онҷо дуруст нестанд ва транзаксияҳо иҷрои онҳоро таваққуф мекунанд. Ин ба ҷои ҳазф анҷом дода мешавад, зеро аз нав иҷро кардани транзаксия, ки тасдиқи ноком шуда буд, эҳтимол ба навиштан ба ҳамон маконҳои хотираи иҷрои қаблӣ оварда мерасонад.


Бо ишора кардани ҷойгиршавии хотира ҳамчун тахмин ба ҷои нест кардани он, вобастагиҳоро (амалие, ки тасдиқи нокомӣ) мумкин аст ҳатто пеш аз иҷрои дубора дарёфт карда, аз такрори нолозим пешгирӣ мекунад. Ин эвристика кори бехударо хеле кам мекунад.

Ҳама чизро якҷоя кардан

Шарҳи пурраи он, ки чӣ тавр Block-STM ба параллелизатсия наздик мешавад, метавон чунин ҷамъбаст кард:

  • BLOCK транзаксияҳо ҳамчун рӯйхати фармоишӣ бо тартиби дақиқи силсилавӣ оғоз меёбад. Ин транзаксияҳо аз рӯи ҳамаи захираҳои мавҷуда бо тартиби афзалиятнок иҷро карда мешаванд.
  • Ҳангоми иҷро, маҷмӯи хондан ва навиштани транзаксияҳо пайгирӣ карда мешаванд ва хондан ва навиштан аз/ба сохтори маълумоти бисёр-версия анҷом дода мешаванд. Вақте ки транзаксия иҷро ба итмом мерасад, он тасдиқ карда мешавад, то боварӣ ҳосил кунад, ки он ҳамзамон бо ягон амалиёти зиддиятнок иҷро нашудааст.
  • Агар транзаксия аз санҷиш гузарад, он аз E ва V хориҷ карда мешавад. Ва ҳангоме ки транзаксия тасдиқ карда мешавад, ҳамаи транзаксияҳои афзалиятноктар аз он, ки аз санҷиш гузашта буданд, барои санҷиш дубора ба нақша гирифта мешаванд.
  • Агар транзаксия тасдиқ карда нашавад, он барои иҷро дубора ба нақша гирифта мешавад. Вақте ки тамоми маҷмӯи транзаксияҳо иҷро ва тасдиқ карда шуданд, он гоҳ тамоми БЛОК бехатар аст ва натиҷаҳоро ба нигаҳдории доимӣ навиштан мумкин аст.


Намунае дар зер нишон дода шудааст:


Расми 6: Намунаи Block-STM


Ин шарҳи он аст, ки чӣ тавр Block-STM кор мекунад, тафсилоти бештарро дар гузориши мо дар ин ҷо ва коғази аслии Block-STM дар ин ҷо пайдо кардан мумкин аст.

Чӣ тавр Block-STM иҷрои Starknet-ро беҳтар мекунад?

Барои муайян кардани аҳамияти илова кардани Block-STM, мо якчанд нишондиҳандаҳоро барои арзёбии беҳбуди иҷрои он аз иҷрои пайдарпай таъмин кардем ва натиҷаҳо дар зер нишон дода шудаанд.


Тасвири 7: иҷрои Block-STM дар андозаи 1k


Тасвири 8: иҷрои Block-STM дар андозаи 10k


Натиљањо нишон медињанд, ки бо зиёд шудани шумораи риштањо (аналогї ба воњидњои коркарди мустаќил) истифодашаванда, иљрои кор низ меафзояд. Такмилҳо бо блокҳои калонтар бештар ба назар мерасанд, ки беҳбудии иҷрои 9X нисбат ба иҷрои пайдарпай бо ҳамагӣ 16 ришта доранд. Мо дарёфтем, ки натиҷаҳо бо блокҳои калонтар бештаранд.


Санҷишҳои мо нишон медиҳанд, ки иҷрои Block-STM дар зери сарбории хеле баҳснок ба таври назаррас коҳиш меёбад, аммо таҷрибаи стандартии саноатӣ дар ин давраҳо ба иҷрои пайдарпай бармегардад. Мо ҳамон механикро ба Старкнет тавсия медиҳем, то қобилияти интиқолро дар сарбории хеле баҳснок нигоҳ дорад. Аммо, умуман, илова кардани Block-STM ба таври назаррас беҳтар ва ояндаи Starknet хоҳад буд.


Тағйироти дуюми асосӣ дар навсозии v0.13.2 бастабандии блок аст ва мо онро дар оянда баррасӣ хоҳем кард.

Болт Қисми 2: Бастабандии блок

Тавре ки қаблан муҳокима карда шуд, пеш аз Болт, ҳар як блоки Starknet кори шахсии худ буд, ки дар натиҷа арзиши собит барои ҳар як блок ба вуҷуд омад. Илова бар ин, система тавре тарҳрезӣ шудааст, ки ҳар як блок новобаста аз он ки чӣ қадар маълумот аз ҷониби блок истифода шудааст, blob-и худро талаб мекард.


Дар ҷаҳоне, ки ҳамеша талабот зиёд буд, ин мушкилот нахоҳад буд, аммо Starknet дар айни замон блоки бештареро пешниҳод мекунад, ки нисбат ба талабот вуҷуд дорад ва аз ин рӯ захираҳои зиёди беҳудашуда мавҷуданд, ки метавонанд боиси аз даст додани садҳо ETH гардад. як мох. Барои минбаъд дар контекст вазнинии вазъ дар назди Болт, инҳо хароҷоти марбут ба интишори блок ба L1 мебошанд:


  1. 23К газ барои бақайдгирии далел - як қисми Санҷиши Исбот ва Регистр
  2. 56K газ барои як феҳристи саҳифаи хотираи SHARP
  3. 136K газ барои навсозии давлатӣ
  4. 50K газ барои пешакии KZG барои намунаи blob,
  5. 86K газ барои иҷрои вазифаи навсозии давлатӣ.


Ин дар як блок 215 ҳазор газро ташкил медиҳад ва ин арзиш ҳамвор аст, яъне новобаста аз он, ки ҳар як блок чӣ қадар маълумот дорад ва ба шумораи блокҳо аз рӯи $Cost = num blocks * 215000$ алоқаманд аст, ҳамон аст. Ҳалли беҳтарини ин мушкилот он аст, ки хароҷот ба ҷои миқдори блокҳо ба миқдори маълумоти интишоршуда алоқаманд бошад. Ва маҳз ҳамон чизест, ки бастабандии блок тавассути дарахтони SNAR ба даст меояд.

SNAR кӯшиш мекунад

Дарахтонҳои рекурсивии Applicative Recursive Starknet (SNAR) як намуди нави дарахти бинарӣ мебошанд, ки дар Болт барои ҳалли мушкилоти дар боло зикршуда ҷорӣ карда шудаанд. Дарахти SNAR дорои сохтори зерин аст: ҳар як барг блоки Starknet аст ва гиреҳҳо дар ҳама сатҳҳои дигар далелҳои рекурсивии фарзандони онҳо мебошанд. Гиреҳи реша, ки далели рекурсивии ҳама далелҳои дигар аст, кори ниҳоиест, ки ба SHARed Prover (SHARP) фиристода мешавад.


Расми 9: Дарахти SNAR


Тасвири 10: Дарахти SNAR дар ҷараёни кории бастабандии блок

Дарахти SNAR чӣ кор мекунад?

Бартарии асосии Tree SNAR дар он аст, ки ба ҷои интишори як блок барои як далел, бисёр блокҳои Starknet метавонанд ба ҳамон навсозии L1 амортизатсия карда шаванд. Решаҳои дарахти SNAR ҳоло ба L1 танҳо вақте ворид карда мешаванд, ки яке аз ду маҳдудияти танзимшаванда пахш карда мешавад: ё маҳдудияти DA (ба маблағи 6 блоки маълумот) ё пас аз илова кардани шумораи муайяни баргҳо ба дарахт (дар он ҷо барг блок аст) .


Ин тарҳ хароҷоти транзаксияҳоро аз шумораи блокҳо ҷудо мекунад. Ҳоло, барои ҳар як блок, ки аз ба кор андохтани OS StarkNet (SNOS) дар ҳар як блок ба вуҷуд меояд, то ҳол арзиши собит вуҷуд дорад, аммо ба таври васеъ хароҷот ҷудо карда мешаванд. Ин рақамҳо ҳоло ҳастанд:


  1. Бақайдгирии хотираи SHARP барои як кор: 23К газ, (ҳамон тавре ки қаблан буд)
  2. Саҳифаи хотираи SHARP барои ҳар як кор: 36К газ (ба шарофати оптимизатсияи SHARP аз 56К кам карда шуд),
  3. Навсозии давлатӣ барои ҳар як кор ба андозаи:
  4. 86К газ (ҳамон тавре ки қаблан буд) +
  5. 50К газ × шумораи блоби истифодашуда. (Вақте ки як блок барои як блок истифода мешуд, ин 50К х 1 буд, ки дар натиҷа рақами гази 136К дар боло оварда шудааст).


Сюжет дар расми 11 дар зер нишон медиҳад, ки чӣ гуна хароҷоти газ бо рақами блок дар тарҳи қаблӣ ва ҳоло (дар зери Болт) фарқ мекунанд:


Тасвири 11: Хароҷоти тафтиши бидуни бастабандӣ


Равшан аст, ки бастабандии блок хароҷоти санҷишро дар L1 хеле кам мекунад, ки бешубҳа боиси паст шудани нархи газ барои корбарони Starknet мегардад.

Хулоса

Таъсири тағирот дар Болт: иҷрои оптимистии мувозӣ тавассути Block-STM ва бастабандии блок тавассути SNAR хусусиро метавон чунин ҷамъбаст кард: тезтар ва арзонтар.


Иҷрои параллелӣ вақти иҷроро кам мекунад ва бо роҳи тамдиди сарбандӣ, ки ҳаққи газро дар давраи трафики зиёд коҳиш медиҳад, дар ҳоле ки дарахтони SNAR бо DA алоқаманд ва хароҷоти исботшуда мубориза мебаранд. Ҷолиб он аст, ки ин навсозӣ Starknet-ро аввалин L2 бо иҷрои мувозӣ месозад ва онро ҳамчун рақиби асосӣ дар фазои L2 муқаррар мекунад. Бояд қайд кард, ки аз эҳтимол дур нест, ки таъсири ин тағиротҳо фавран аён гардад, алахусус иҷрои мувозӣ, аммо онҳо барои исботи ояндаи Starknet ва тамоми экосистемаи Ethereum дар маҷмӯъ муҳиманд.


Шарҳи муаллиф: Варианти ин мақола қаблан дар ин ҷо нашр шуда буд.

L O A D I N G
. . . comments & more!

About Author

2077 Research HackerNoon profile picture
2077 Research@2077research
Blockchain research 🔬 Deep dives and analyses surrounding the latest within Ethereum and the wider crypto landscape

ТЕГИ овезон кунед

ИН МАКОЛА ДАР...