Dènye amelyorasyon Starknet a (v0.13.2) yo te rele Bolt pote de gwo chanjman: ekzekisyon paralèl ak pake blòk . Malgre ke endepandan youn ak lòt, tou de karakteristik sipòte pouse a nan direksyon pou objektif la nan vit, bon mache blockspace kriptografikman an sekirite pa Ethereum.
Egzekisyon paralèl pèmèt tranzaksyon ki pa gen kontenjis (sa vle di, tranzaksyon ki pa manyen menm eta a) egzekite ansanm. Lè yo aplike ekzekisyon paralèl, L2 tankou Starknet ka diminye tan ekzekisyon san yo pa ogmante itilizasyon resous yo. Sa vle di pi ba frè tranzaksyon pou itilizatè yo ak siyifikativman amelyore tan konfimasyon tranzaksyon yo.
Anbalaj blòk optimize itilizasyon blobspace Starknet sou Ethereum L1: ak anbalaj blòk, sekansè yo ka jenere yon sèl prèv pou verifye plizyè blòk Starknet L2 ansanm. Sa a dekouple itilizasyon blobspace de frekans pwodiksyon blòk L2 ak amortissement pri verifikasyon prèv yo. Tou de diminye depans fonksyònman pou sekansè Starknet la, ki vle di itilizatè yo peye mwens pou chak tranzaksyon.
Tankou nou te di, Bolt fè Starknet pi bon mache ak pi vit! Rapò sa a pral bay yon analiz detaye sou amelyorasyon Bolt la—konsantre sou ekzekisyon paralèl ak anbalaj blòk—epi eksplore enplikasyon yo pou pèfòmans Starknet la.
Rollups yo se solisyon dekale kouch de (L2) ki vize echèl kouch kache yon sèl (L1) blockchain pa deplase kalkil sou chèn. Lè yo deplase egzekisyon nan chèn, rollups ka optimize pou évolutivité (tranzaksyon bon mache ak vit), pandan y ap L1 a bay sekirite pou tranzaksyon L2.
Rollups yo souvan di "eritye sekirite nan L1 la". Ki sa sa vle di esansyèlman se ke yo eritye konsansis yo ak garanti disponiblite done yo bay nan L1 la. Anplis de sa, L1 a tou bay yon garanti sekirite nan fòm lan nan pon an sekirite ant li ak rollup la.
Lè sekansè yo pibliye blòk L2 nan L1 a, L1 a bay garanti disponiblite a ak lòd enfòmasyon sa yo. Soti isit la, nœuds L2 yo ka kalkile chèn L2 kanonik la san konfyans ak enfòmasyon sa yo ansanm ak règ rollup la alantou derivasyon chèn ak tranzisyon eta ki dekri nan aplikasyon an nœuds.
Pou fasilite yon pon an sekirite ant L1 ak L2, L1 mande pou prèv ke chèn L2 li ap swiv kounye a kòrèk epi li pa enkli chanjman leta ilegal (egzanp depans doub). Bezwen sa a pou rollups pou pwouve validite chanjman eta yo, asire L1 a pa otorize retrè nan rollup yo baze sou eta ilegal.
Rollups diferan selon fason yo pwouve validite chanjman eta a nan L1 la:
Rollups tou bay kouch debaz la ak ase done pou pati ki enterese yo rekonstwi eta L2 la. Pandan ke rollups optimis yo dwe pibliye done tranzaksyon konplè pou pèmèt defian yo kalkile prèv fwod, rollups validite pa gen okenn kondisyon sa yo (prèv validite garanti egzekisyon kòrèk). Men, afiche done tranzaksyon konplè sou L1 toujou itil nan yon pèspektiv minimize konfyans (rekonstriksyon san konfyans nan eta ak retrè san pèmisyon).
Starknet se yon seri validite ki sèvi ak S calable, Transparent AR gument of K nowledge (STARKs) pou pwouve validite chanjman eta yo. Dènye amelyorasyon nan Starknet-kodman Bolt-ajoute ekzekisyon paralèl ak anbalaj blòk. Nan seksyon ki vin apre yo, nou pral eksplike kijan de karakteristik yo travay ak ki amelyorasyon yo pote pou itilizatè Starknet yo.
Nan yon wo nivo, amelyorasyon Bolt la chanje mekanis egzekisyon Starknet, pwouve ak disponiblite done yo .
Anvan amelyorasyon Bolt la, tranzaksyon Starknet yo te egzekite sekans—youn apre lòt—pa sekansè a. Sekansyèl ekzekisyon se senp men tou trè rezèvwa. Li pa efikas paske li pa pran avantaj de plizyè inite pwosesis endepandan ke òdinatè modèn yo ofri ak paralelizability nan yon seri tranzaksyon yo.
Paralelizabilite se yon mezi nan ki jan endepandan tranzaksyon yo nan yon seri yo bay yo. Pou egzanp, konsidere seri twa tranzaksyon ki anba a:
Tranzaksyon 1: Alice vle voye Bob 1 STRK
Tranzaksyon 2: Caitlyn vle voye Danny 100 ETH
Tranzaksyon 3: Caitlyn vle voye Ella 100 ETH
Tranzaksyon 1 konplètman endepandan de tranzaksyon 2 ak 3–paske li gen aksè nan yon pati diferan nan eta a (balans Alice)–epi li ka egzekite ansanm. Sepandan, tranzaksyon 2 ak 3 yo konfli paske yo vle jwenn aksè nan menm eta a—balans ETH Caitlyn la. Tranzaksyon sa yo pa ka egzekite ansanm oswa nou pral fini ak rezilta konfli.
Pou ilistre:
Evite sa yo kalite konfli (ak nati konplèks nan mekanis alèjman) se poukisa Ethereum te chwazi ekzekisyon sekans. Sepandan, pandan ke ekzekisyon sekans diminye konpleksite ak amelyore sekirite, li rezilta nan itilizasyon rezèvwa nan pyès ki nan konpitè. Pi mal toujou, tandans nan konsepsyon pyès ki nan konpitè sijere ekzekisyon sekans ap vin de pli zan pli efikas nan ane kap vini yo.
Figi 4 montre tandans nan konsepsyon pyès ki nan konpitè nan 50 dènye ane yo. Takeaway ki enpòtan an? Pèfòmans yon sèl-fil (ti sèk koulè wouj violèt) te plato depi mitan ane 2000 yo pandan y ap kantite nwayo lojik ogmante alantou menm tan an. Nou ka fè de konklizyon ki baze sou done sa yo:
Konsèpteur pyès ki nan konpitè yo ap monte chips òdinatè lè yo ajoute plis inite pwosesis endepandan olye ke amelyore pèfòmans yon sèl inite.
Nenpòt sistèm ki kontinye konte sou pèfòmans ogmante nan yon inite pwosesis sèl pral fè eksperyans yon blokaj nan pwogrè pèfòmans menm sou nouvo pyès ki nan konpitè.
Nan dènye ane yo, algoritm sofistike pou jere konfli tranzaksyon yo ak asire egzekisyon paralèl kòrèkteman te parèt. Block-STM (ki baze sou yon papye Fikunmi et al*) se youn nan algorithm sa yo e li fòme pati debaz nouvo motè ekzekisyon paralèl Starknet la. Nou analize algorithm Block-STM nan seksyon pita yo.
SHARP Starknet a (ki kout pou Shared Prover) te toujou pwofite de prèv repetitif pou diminye depans verifikasyon yo otank posib. Yon prèv repetitif se esansyèlman yon "prèv prèv" kote yon prèv verifye ke youn oswa plizyè prèv yo kòrèk. Anba a se yon chema sou fason SHARP jenere yon prèv repetitif:
Sistèm SHARP la pran yon seri pwogram pou egzekite (yon "travay") kòm opinyon epi jenere yon prèv egzekisyon pou travay la. "Pwogram" sa yo se blòk L2 ak prèv la ateste tranzaksyon yo kòrèk.
Yo voye prèv la nan yon lòt pwogram ki verifye prèv la epi konvèti pwogram verifikasyon prèv la nan yon travay. SHARP pran nouvo travay la kòm opinyon epi jenere yon lòt prèv (prèv sa a konfime validite prèv anvan an).
Pwosesis la (prèv → travay → prèv) rekòmanse epi kontinye jiskaske yo rive jwenn yon sib nan ki pwen prèv final la (ki se kounye a yon vèsyon trè konprese nan prèv orijinal la) afiche nan L1 la.
Konsepsyon sa a anpil amortize depans pou de rezon prensipal:
Pandan ke sistèm nan pwouve te bon, te gen chans rate plis ekonomize depans yo. Pou egzanp, chak travay se te yon sèl blòk Starknet ak chak nan blòk sa yo te fèt pou pran yon sèl pate sou L1 la. Sa a te lakòz sèten inefikasite jan sa dekri anba a:
Anbalaj blòk abòde pwoblèm sa yo lè l sèvi avèk yon pye bwa binè prèv repetitif. Nou diskite sou anbalaj blòk nan yon seksyon pita nan atik la.
Jan nou te diskite pi bonè, ekzekisyon sekansyal pa efikas (epi yo pral sèlman pi efikas kòm tan ap pase) ak egzekisyon paralèl nayif pwodui rezilta envalid. Pwodiksyon motè ekzekisyon paralèl pran swen pou anpeche rezilta enkonsistan, sepandan.
Gen de apwòch pou abòde ekzekisyon paralèl: Pesimistic Concurrency Control (PCC) ak Optimistic Concurrency Control (OCC) . PCC ak OCC se inite pwosesis tranzaksyon (TPU). Anba la a se yon definisyon inite pwosesis tranzaksyon ki soti nan Block-STM vs SVM: Yon Konparezon Motè Egzekisyon Paralèl:
TPU a anjeneral makonnen ak, men diferan de Virtual Machine (VM). VM Blockchain tankou EVM, SVM, ak MoveVM yo se VM lang wo nivo ... TPU a, ki se nòmalman sijè a nan enterè, subsumes VM la. Li responsab ak jesyon tout tiyo egzekisyon tranzaksyon an, ki gen ladan kreye ak jere ka VM la.
Kontwòl konkou pesimis fèt dapre sipozisyon ke anpil nan tranzaksyon yo nan seri tranzaksyon yo dwe egzekite yo pral konfli, sa vle di, yo pral manyen menm eta a. PCC anpeche konfli sa yo.
Pou anpeche konfli, PCC mande pou yon tranzaksyon deklare davans ki pòsyon eta li pral jwenn pandan operasyon lekti/ekri. Inite pwosesis tranzaksyon an ka itilize enfòmasyon sa a pou planifye tranzaksyon yo nan yon fason ki asire ke tranzaksyon konfli yo egzekite sekans (olye pou yo ansanm). Gen kèk TPU tou ki sèvi ak kadna pou ranfòse konpòtman sa a (yon kadna (aka, mutex) se yon mekanis yo itilize pou anpeche aksè konkouran nan yon kote memwa).
Sa te di, ekzekisyon ki baze sou PCC fè sèten konpwomi. Premyèman, kondisyon pou bay lis aksè (ki idantifye plas memwa yon tranzaksyon manyen) degrade eksperyans pwomotè a epi redwi seri aplikasyon posib yo. Dezyèmman, orè tranzaksyon yo ka antrene tèt yo pa nesesè-sitou lè pa gen okenn konfli.
Kontwòl konkouran optimis fèt ak sipozisyon ke anpil nan tranzaksyon yo nan seri yo bay la pa pral konfli, sa vle di yo pa pral ekri nan menm eta a. Kòm sa yo, OCC TPU egzekite seri tranzaksyon yo ak tout resous ki disponib yo epi sèlman eseye detekte konfli. Si yo detekte yon konfli, tranzaksyon ki konfli yo egzekite ak revérifye jiskaske tout seri a pase epi yo ka komèt.
TPU OCC pa antrene tèt yo nan orè, kidonk yo gen tandans fè pi byen lè gen kèk konfli. Inite pwosesis tranzaksyon ki baze sou OCC yo tou gen pi bon eksperyans pwomotè ak yon seri ka itilize pi laj paske depandans leta yo pa bezwen konnen davans.
Sepandan, lè seri tranzaksyon yo trè konfli, OCC fè pi mal pase PCC. Nou kouvri desen TPU (an plis detay) epi konpare apwòch OCC ak PCC nan atik nou an sou ekzekisyon paralèl.
Nouvo TPU Starknet itilize apwòch OCC la. Plis espesyalman, li se yon aplikasyon nan algorithm nan Block-STM. Block-STM egzekite tranzaksyon yo yon fason optimis ak tout resous ki disponib yo sipoze pa youn nan yo pral konfli epi verifye apre ekzekisyon ke pa gen okenn tranzaksyon konfli egzekite ansanm. Anvan nou plonje nan nouvo achitekti Starknet a, li enpòtan pou ale sou kèk definisyon kle:
txj
depann de (oswa yon depandans de) yon tranzaksyon txi
si epi sèlman si tou de tranzaksyon yo ekri nan menm kote memwa epi txj
vini apre txi
nan lòd seri a. Si txi
te vini apre txj
, txi
ta depann de txj
.Avèk definisyon yo soti nan chemen an, nou ka avanse pou kouvri kijan Block-STM travay.
Antre nan Block-STM se yon keu (yon lis òdone) nan tranzaksyon, lis sa a souvan rele yon BLOCK. Lis sa a ka bay lòd nan nenpòt fason; egzijans la sèlman se ke gen yon lòd byen defini. Donk, bay yon seri tranzaksyon T ki gen tranzaksyon {t0…tn}
, tranzaksyon yo klase konsa ke {t0 > t1 > t2 … > tn}
(li kòm t0
gen pi gwo priyorite pase t1
, t1
gen plis priyorite pase t2
elatriye). .)
Nan kòmansman pwosesis ekzekisyon an, yo kreye de seri—yon seri egzekisyon E, ak yon seri validasyon V. E swiv tranzaksyon ki poko egzekite pandan V swiv tranzaksyon ki te egzekite men ki poko valide. Chak tranzaksyon tou asosye ak yon nimewo enkarnasyon n pou swiv konbyen fwa li te egzekite (ak re-egzekisyon). Eta inisyal ansanm yo se ke E genyen tout tranzaksyon yo epi V vid, sa vle di, E = {t0,1 > t1,1 > t2,1 > … > tn,1}
ak V = {}
.
Avèk ansanm òdone tranzaksyon sa yo, chak fil yo itilize pou sik ekzekisyon atravè yon bouk twa etap:
Pandan etap sa a, fil la tcheke tou de V ak E. Si tou de yo vid epi pa gen okenn tranzaksyon ke yo te egzekite Lè sa a, pakèt aktyèl la nan tranzaksyon yo te egzekite nèt epi rezilta yo ka angaje nan depo.
Si swa V oswa E gen tranzaksyon, Block-STM chwazi tranzaksyon ki gen endèks ki pi ba a (pa nimewo enkarnasyon) nan tou de seri tranzaksyon yo, sa vle di, si E gen ladan {t1,3 , t3,1 and t5,2}
epi V gen ladan l. {t0,1, t2,4, t4,3}
, travay validation pou tranzaksyon t0
ta dwe chwazi kòm pwochen travay la.
Yon fwa ke pwochen travay la te idantifye ak chwazi, li fèt. Nan fen etap sa a, algorithm la tounen nan Tcheke Fè. Pwosesis sa a ap kontinye jiskaske tou de seri tranzaksyon yo vid.
Ann gade sa k ap pase pandan egzekisyon ak validation:
Pandan ekzekisyon yon tranzaksyon, algorithm Block-STM peple de ansanm (pa tranzaksyon); yon seri li ( Ri,n
) ak yon seri ekri ( Wn,i
). Ansanm lekti a gen tout kote memwa ke yon tranzaksyon li pandan ekzekisyon li pandan y ap ekri a gen tout kote memwa li te ekri. Pandan ekzekisyon, tranzaksyon yo aplike ekri yo nan estrikti done milti-vèsyon, men lekti se yon ti kras nuans.
Nan Block-STM lè yon tranzaksyon vle li nan estrikti done a, li tcheke pou valè a ekri pa tranzaksyon ki pi ba priyorite ki gen pi gwo priyorite. Pa egzanp, si tx1
, tx2
, ak tx7
te ekri tout nan yon kote memwa epi tx5
vle li soti nan kote sa a, li li vèsyon an nan estrikti done ki koresponn ak tx2
.
Sa a se fè ranfòse serilizabilite; piske tx5
ta dwe egzekite apre tx2
ak anvan tx7
, li ta dwe itilize valè yo ekri pa tx2
pa tx7
. Nan egzanp sa a, tx7
pral oblije re-egzekisyon paske li ta dwe li valè yo ekri pa tx5
, pa tx2
oswa nenpòt tranzaksyon ki pi wo priyorite. Si yo te itilize yon estrikti done yon sèl vèsyon, valè tx2
ekri a pa t ap disponib epi yon konfli asire w ap rive.
Pou yon travay validation, yo konpare seri tranzaksyon an ak valè aktyèl yo nan kote memwa li te li nan pandan ekzekisyon an. Pou egzanp, si tx2
li kont B pandan ekzekisyon, pandan validation, kote memwa pou kont B li (kenbe definisyon li nou te etabli pi bonè nan tèt ou). Si de valè yo se menm, sa vle di ke pa gen okenn tranzaksyon pi gwo priyorite (di tx0
oswa tx1
) te ekri nan kote sa a pandan ekzekisyon an nan tx2
. Sa a lakòz tx2
make kòm valide men li pa an sekirite pou komèt.
Tranzaksyon an pa konsidere kòm san danje pou komèt paske yon tranzaksyon pi ba priyorite ta ka, pou nenpòt kantite rezon, dwe egzekite apre tranzaksyon an te valide. Nan egzanp kouri nou an si tx1
manyen kont B epi sèlman manyen li apre, tx2
pase validation Lè sa a, tx2
bezwen re-egzekisyon.
Pou fè pwovizyon pou sa, nenpòt lè yon tranzaksyon fini ekzekisyon tout tranzaksyon pi ba priyorite ki te pase validation yo revalide pou asire yo pa konfli ak tranzaksyon an. Pa egzanp, si tx1
, tx3
ak tx4
yo te valide epi tx2
fini ekzekisyon, tx3
ak tx4
dwe revalide pou asire ke yo pa gen konfli ak (e konsa tou depandans nan) tx2
.
Si yon tranzaksyon echwe validation, sa vle di, yon tranzaksyon pi gwo priyorite ki ekri nan menm eta a te egzekite ansanm ak li, Lè sa a, ekri ke tranzaksyon an te fè yo sal (paske valè yo se mal.) Men, olye pou yo efase valè sa yo nan baz done a. konplètman, yo make ESTIMATE.
Drapo ESTIMATE a di nenpòt tranzaksyon lekti kote memwa sa a ke valè yo pa kòrèk epi tranzaksyon yo sispann ekzekisyon yo. Sa a se fè nan plas efase paske re-ekzekisyon nan tranzaksyon an ki echwe validation ta gen anpil chans rezilta nan ekri nan menm kote memwa ak ekzekisyon anvan an.
Lè yo make kote memwa a kòm yon estimasyon olye pou yo efase li, depandans (nan tranzaksyon an ki echwe validation) ka kenbe menm anvan re-ekzekisyon, anpeche re-ekzekisyon nesesè. Euristik sa a anpil diminye travay gaspiye.
Yon BECA konplè sou fason Block-STM apwoche paralelizasyon ka rezime kòm:
BLOCK
tranzaksyon kòmanse kòm yon lis òdone ak yon lòd seri byen defini. Tranzaksyon sa yo egzekite sou tout resous ki disponib yo nan lòd priyorite.
Yo montre yon egzanp anba a:
Sa se yon apèsi sou fason Block-STM travay, plis detay ka jwenn nan rapò nou an isit la ak orijinal la Block-STM papye isit la .
Pou evalye siyifikasyon ajoute Block-STM, nou te fè kèk referans pou evalye amelyorasyon pèfòmans li bay sou ekzekisyon sekansyal epi rezilta yo montre anba a.
Rezilta yo montre ke kòm kantite fil (analòg ak inite pwosesis endepandan) itilize ogmante, pèfòmans tou ogmante. Amelyorasyon yo pi pwononse ak pi gwo blòk bay amelyorasyon pèfòmans osi wo ke 9X sou ekzekisyon sekans ak jis 16 fil. Nou te jwenn ke rezilta yo pi pwononse ak pi gwo blòk.
Tès nou yo montre ke pèfòmans Block-STM degrade siyifikativman anba chay ki gen anpil diskisyon men pratik estanda endistri yo se retounen nan ekzekisyon sekans pandan peryòd sa yo. Nou rekòmande menm mekanisyen an pou Starknet pou prezève debi anba chaj travay ki trè konfli. Men, an jeneral, adisyon Block-STM pral siyifikativman amelyore ak avni Starknet.
Dezyèm gwo chanjman ki ofri nan ajou v0.13.2 la se anbalaj blòk epi nou pral kouvri sa kap vini an.
Jan nou te diskite pi bonè, anvan Bolt, chak blòk Starknet te pwòp travay pa yo ki te lakòz yon pri fiks pou chak blòk pou chak blòk. Anplis de sa, sistèm nan te fèt konsa ke chak blòk mande pwòp pate kèlkeswa kantite done yo te aktyèlman boule pa blòk la.
Nan yon mond kote te toujou gen gwo demann, sa a pa ta yon pwoblèm, men Starknet kounye a ofri plis blòk espas pase sa gen demann pou epi kidonk gen yon anpil nan resous gaspiye ki ta ka lakòz dè santèn de ETH pèdi sou kou a. yon mwa. Pou plis mete nan yon kontèks gravite sitiyasyon an anvan Bolt, sa yo se depans ki asosye ak afiche yon blòk nan L1:
Sa totalize a 215k gaz pou chak blòk epi pri sa a plat, sa vle di, se menm bagay la kèlkeswa kantite done chak blòk genyen epi ki gen rapò ak kantite blòk pa $Cost = kantite blòk * 215000$. Solisyon ideyal la nan pwoblèm sa a ta dwe pou depans yo dwe ki gen rapò ak kantite done afiche olye pou yo kantite lajan an nan blòk. Epi se egzakteman sa anbalaj blòk reyalize atravè pye bwa SNAR.
Pyebwa Rekursif Aplikasyon Starknet (SNAR) yo se yon nouvo kalite pye bwa binè prezante nan Bolt pou adrese pwoblèm ki endike anwo a. Yon Pyebwa SNAR gen estrikti sa a: chak fèy se yon blòk Starknet ak nœuds yo nan tout lòt nivo yo se prèv repetitif pitit yo. Nœud rasin lan ki se yon prèv repetitif tout lòt prèv se travay final la ke yo voye bay SHARed Prover (SHARP).
Benefis prensipal SNAR Tree a se ke olye ke afiche yon blòk pou chak prèv, anpil blòk Starknet ka amortize nan menm aktyalizasyon L1 la. Rasin pyebwa SNAR yo afiche kounye a nan L1 sèlman lè youn nan de limit configurable yo frape: swa limit la DA (6 ti gout yon valè de done) oswa apre yon sèten kantite fèy yo te ajoute nan pye bwa a (kote yon fèy se yon blòk) .
Konsepsyon sa a dekouple pri a pou tranzaksyon soti nan kantite blòk yo. Koulye a, toujou gen kèk pri fiks pou chak blòk ki rive nan kouri StarkNet OS (SNOS) nan chak blòk - men an jeneral, depans yo dekouple. Sa yo se nimewo yo kounye a:
Trase ki nan Figi 11 ki anba a montre kouman pri gaz yo varye ak nimewo blòk nan konsepsyon anvan an e kounye a (anba Bolt):
Li jistis evidan ke anbalaj blòk anpil diminye depans yo nan verifikasyon sou L1 a ki pral san dout rezilta nan pi ba pri gaz pou itilizatè Starknet.
Efè chanjman yo te fè nan Bolt: optimis ekzekisyon paralèl atravè Block-STM ak blòk-pake atravè SNAR nan propriétaires ka rezime kòm: pi vit ak pi bon mache.
Egzekisyon paralèl diminye tan egzekisyon ak konjesyon ekstansyon ki pral diminye frè gaz pandan peryòd gwo trafik, pandan y ap pye bwa SNAR abòde DA ki asosye ak depans pou pwouve. Enteresan, amelyorasyon sa a fè Starknet premye L2 a ak ekzekisyon paralèl ak mete l 'yo dwe yon gwo konkiran nan espas L2 la. Li enpòtan pou sonje ke li pa posib ke efè chanjman sa yo pral imedyatman evidan, espesyalman sa yo ki nan ekzekisyon paralèl, men yo enpòtan anpil pou Starknet ak tout ekosistèm Ethereum an antye.
Nòt otè a: Yon vèsyon atik sa a te deja pibliye isit la .