Konkurence par Ethereum bloka vietu ir ārkārtīgi sīva, un darījumiem, kas iesniegti bloka intervāla pēdējās sekundēs, ir informatīva priekšrocība.
Autors: Tripole
Sastādījis: 0x11, Foresight News
Šīs nedēļas sākumā es uzdevu jautājumu Reddit AMA, ko rīko Ethereum fonds, un viena no atbildēm pievērsa manu uzmanību:
Ar nepacietību gaidu, kā pēc apvienošanās mainās darījumu iepakošanas laiki!
Teorētiski vidējais iepakošanas laiks pēc sapludināšanas ir jāsamazina apmēram uz pusi, jo paredzamais laiks līdz nākamajam blokam tagad ir 6 sekundes salīdzinājumā ar 13 sekundēm iepriekš, un regulārāki iepakošanas laiki arī samazina maksimumu. Mana personīgā pieredze liecina, ka šodien darījumi tiek iesaiņoti ļoti ātri, pat salīdzinot ar laika posmu pēc EIP-1559 un pirms apvienošanās. Būs interesanti redzēt, kā izskatās dati.
- /u/vbuterin
Bitcoin bloka laika dinamika ir vairāk pētīta un datu pieejamība ir augstāka. Tāpēc es nosūtīšu Ethereum darba pierādījumu analīzei uz Bitcoin [1]. Abas sistēmas ir ļoti līdzīgas, un galvenā atšķirība ir tāda, ka sarežģītības korekcijas saglabā Bitcoin vidējo bloķēšanas laiku 10 minūtes, savukārt Ethereum vidējais bloķēšanas laiks paliek aptuveni 13 sekundes [2].
Tomēr bloka laika vidējie rādītāji ir milzīgs vienkāršojums. Plašsaziņas līdzekļi bieži atsaucas uz Bitcoin kalnračiem kā datoru grupu, kas risina sarežģītas matemātiskas problēmas, taču tā nav taisnība. Vārdā atrisināt ir tas, ka šāda veida vispārējās analoģijas liecina, ka kalnrūpniecības iekārtas nepārtraukti tuvojas risinājumam, taču kriptoraktu ieguve nedarbojas tā. Vienkāršākā jaukšanas analoģija ir mest monētu un mēģināt iegūt 77 galviņas pēc kārtas [3]. Nepareiza jaukšana nenodrošina nozīmīgu progresu, kas ir spēlētāja kļūdas versija: visas jaukšanas ir neatkarīgas, un, ja jaukšana neizdodas, progress nenotiek.
Neatkarības mēģinājums un no tā izrietošais progresa trūkums tiek raksturots kā amnēzija. Varbūtība, ka Bitcoin kalnracis atradīs nākamo bloku, vienmēr ir vienāda neatkarīgi no tā, cik daudz laika ir pagājis kopš pēdējā bloka: vidējais nākamā bloka parādīšanās laiks vienmēr ir 10 minūtes vēlāk.
Ja jūs interesē dati par Bitcoin bloku intervālu dispersiju, Džeimsons Lops pirms dažiem gadiem uzrakstīja lielisku rakstu. Vienkārši izsakoties, ignorējot malu gadījumus no ļoti ātri sastopamiem blokiem, bloku intervāls seko eksponenciālam varbūtības sadalījumam.
Bitcoin bloka laika dispersija: teorija un realitāte Avots: Jameson Lopp
Lai apspriestu darījuma pakošanas laiku, analīzei jāpievieno vēl viens slānis. Naivs pieņēmums ir tāds, ka tad, kad tiek iesniegts Bitcoin darījums, tas jāiekļauj nākamajā blokā, kas tiks pabeigts vidēji 10 minūšu laikā, tāpēc bloka laikam vajadzētu būt 10 minūtēm. Praksē bloku telpas konkurences raksturs izkropļo bloku laiku un apšauba savstarpējas aizstājamības pieņēmumus.
Tālāk esošajā diagrammā ir parādīts neapstiprināto darījumu skaita pieaugums 2022. gada 2. septembrī. Katra klints vai kritums diagrammā norāda, ka tika atklāts jauns bloks un tika apstrādāta vērtīgāko darījumu partija. Ērtības labad režģa vertikālās līnijas ir izvietotas ar 10 minūšu intervālu, kas ir vidējais Bitcoin bloka laiks.
Bitcoin Mempool
Diagrammā parādīti netipiski, bet ne retāk sastopami trūkumi bloku atklāšanā. No pulksten 10:20 līdz 12:18 tika atrasti tikai divi bloki paredzēto divpadsmito vietā.
Lai gan var šķist droši nosūtīt 12 sat/vB transakciju pulksten 10:20, to var apstrādāt tikai pulksten 13:00, vismaz 8 un, iespējams, pat 11 blokus vēlāk. Divi latentuma avoti ir bloka laika dispersija un asimetriskā laika informācija, kur vēlāk iesniegtajiem darījumiem ir papildu informācijas priekšrocība un ir iespēja maksāt lielākas maksas, lai izlaistu darījumu rindu.
Nejauši atlasot lēni atklātos blokos ietvertos darījumus un tos analizējot, veidojas skaidra shēma starp transakciju veikšanas laiku un nākamajā blokā iekļauto darījumu relatīvo blīvumu [4]. Lēnās blokos ir aptuveni par 50% vairāk darījumu no laika joslas tieši pirms bloka atklāšanas nekā no laika joslas tūlīt pēc iepriekšējā bloka.
Pretēji tam, ja skatāmies uz ātros blokiem, izpildes laiku sadalījums ir daudz vienmērīgāks [5]. Tas liek domāt, ka laika sacensībām ātrajos blokos nav jēgas.
Lielākā daļa bloku tiek atklāti diezgan ātri, vai tas ir svarīgi?
Ja mēs aprēķinām paredzamo bloka laiku, garo astes bloku ieguldījums patiesībā ir pārsteidzoši liels. Ja aprēķina vidējo bloķēšanas laiku, bet ignorējat novirzes, piemēram, 20+ vai 30+ minūtes, paredzamais bloķēšanas laiks samazinās līdz 6-8 minūtēm.
Attiecībā uz iesaiņošanas laiku laika konkurence par bloka vietu pamatā ignorē šos garās astes blokus. Piemēram, ja pieņemam, ka transakcijas, kas vecākas par 20 minūtēm, tiek aizstātas ar jauniem darījumiem ar augstāku maksu, tad pirmajā blokā ienākošo darījumu vidējam iekļaušanas laikam teorētiski vajadzētu samazināties līdz tikai 6 minūtēm.
Patiesībā tas nesamazinājās līdz 6 minūtēm. Mēs redzam lēnajā bloku sadalījumā, ka darījumi netiek pilnībā aizstāti, taču es ceru, ka pirmā bloka kalšanas laiks būs 8-9 minūšu diapazonā, nevis naivā 10 minūšu tuvināšanās.
Lai veiktu turpmākus aizstāto darījumu aprēķinus, būtu nepieciešama plašāka datu analīze, nekā sniegts šajā rakstā (kas lielā mērā ir atkarīgs no bloku telpas pieprasījuma tendencēm, sekojošām nejaušām bloku intervālu pārvēršanām utt.), un rezultāts, iespējams, būtu vairāku maksimumu harmonikas sadalījums.
Atgriežoties pie Proof-of-Stake Ethereum, pieņemot, ka bloka telpa nav konkurētspējīga, pastāvīgs 12 sekunžu bloka intervāls nozīmē vidējo bloka laiku 6 sekundes [6] (salīdzinājumā ar 13 sekundēm Proof-of-Work).
Tomēr konkurence par Ethereum bloka vietu ir ārkārtīgi sīva.
Pat ar nemainīgu bloku intervālu mēs redzam spēcīgu konkurenci par laiku, pat vairāk nekā konkurenci par Bitcoin garās astes bloka vietu. Tas viss notiek dažu sekunžu laikā, atkārtojoties ik pēc 12 sekundēm.
Tātad, vai iepakošanas laiks ir īsāks? Es domāju, ka tas būtu atkarīgs no tā, kā jūs definējat iepakojuma laiku. Ja Ethereum pirmajā blokā dominēja darījumi, kas tika iesniegti bloka intervāla pēdējās sekundēs, tad man nav skaidrs, vai dispersijas samazināšanās radītu nozīmīgu atšķirību. Savukārt, ja runājam par vienu darījumu, kura prioritātes maksa ir pietiekami liela, lai nodrošinātu tā iekļaušanu, tad paredzamais bloka laiks jāsamazina no 13 sekundēm uz 6 sekundēm [7].
anotācija:
【1】Eksponenciālā varbūtības sadalījuma dispersija ir proporcionāla bloka laika kvadrātam, tāpēc Bitcoin bloka laika dispersija ir (600/13)^2 = 2130 reizes lielāka nekā Ethereum PoW blokiem. Iespējams, tas izskaidro relatīvo Ethereum bloku laiku analīzes trūkumu.
[2] Šis rādītājs pieņem, ka Ethereum neatrodas cietajā dakšu logā, kurā bloka laiks sāk eksponenciāli palielināties, lai piespiestu kalnračus pieņemt izmaiņas.
[3] Uz šī raksta tapšanas brīdi 30 dienu vidējais jaukšanas ātrums ir 250,75 miljoni TH/s, tātad 10 minūšu blokā ir 250,75×E6×E12×(60×10) = 1,5E23 jaukšanas mēģinājumi. Lai atrastu monētas mešanas ekvivalentu, mēs ņemam 2. bāzes logaritmu, kas ir līdzvērtīgs 76,9 secīgām monētas mešanām.
[4] Lēnie bloki šajā paraugā ir pseidogadījuma secība, kas atrasta no 2022. gada 22. decembra līdz 2023. gada 12. janvārim, kas sastāv no 40 blokiem ar bloku intervāliem no 42 līdz 75 minūtēm.
[5] Ātrie bloki šajā paraugā ir pseidogadījuma secība, kurā ir 86 bloki, kas atrasti laikā no 2022. gada 22. decembra līdz 2023. gada 12. janvārim, ar bloku intervāliem no 2,5 minūtēm līdz 6 minūtēm.
【6】Ja mēs ignorējam tukšos blokus validatora kļūdu dēļ, izmaiņas nenotiek.
【7】Diemžēl pirmsapvienošanas dati šķiet neuzticami, un, lai gan tas var būt vienkārši tāpēc, ka bloka telpa ir ļoti konkurētspējīga un bloka laika atšķirības, es nejūtos pietiekami pārliecināts, lai tos publicētu.
