Web3.com Ventures oriģinālās izpētes analīze

0xFishylosopher

Ievads

Tā kā Aptos nesen tika uzsākta galvenā tīkla palaišana un tā marķiera palaišana pakalpojumā Binance un citās lielākajās centralizētajās biržās, nav labāka laika, lai rakstītu šī sen slavētā projekta izpētes analīzi. Meta mēģinājumu radīt kriptovalūtu Libra bāreņi Aptos turpina Libra ideālu būt par blokķēdi, kas nodrošinās nākamo miljonu kriptovalūtu lietotāju.

Aptos galvenais mērķis ir nodrošināt mērogojamu, drošu un uzticamu blokķēdi [1]. Lai to izdarītu, Aptos izmanto jaunu viedo līgumu valodu Move, kas šķietami ir “drošāka” valoda nekā pašreizējais Ethereum Solidity “zelta standarts”. Protams, Aptos nav pirmā L1 blokķēde, kas sevi tirgo kā “mērogojamu, drošu un uzticamu”. Citas ķēdes, īpaši Solana, arī ir mēģinājušas to izmantot kā savu saukli savā pagātnē ar neviennozīmīgiem panākumiem [2]. Šajā esejā es centīšos sākt ar Move valodas pamatatribūtiem, analizēšu Aptos tehniskos pamatus citu līdzīgu projektu kontekstā un sniegšu kritisku novērtējumu par šīs karstās jaunās ķēdes potenciālu un ierobežojumiem.

Pārvietot valodu

Aptos analīzi nevar veikt bez Move valodas analīzes. Patiešām, tieši no tā rodas lielākā daļa Aptos potenciāla. Move sākotnēji izstrādāja Meta Libra komanda (tagad ar nosaukumu Diem), lai nodrošinātu paradigmatiski atšķirīgu viedlīgumu programmēšanas modeli salīdzinājumā ar citām viedlīgumu valodām; Move viedlīgumu modeļu definēšanai neizmanto uz darījumiem balstītu pieeju, bet gan uz resursiem balstītu pieeju, nevis transakcijām balstītu pieeju [3].

Ko tas viss nozīmē? Sākot ar Bitcoin, lielākā daļa ievērojamo blokķēžu ir pieņēmušas pieeju “vispirms darījums”, kur katrs ieraksts blokķēdes blokā ir darījums (piemēram, starp Alisi un Bobu). Darījums ir relatīvs objekts; lai notiktu darījums, ir jābūt Alises un Boba adresēm. Lai nodrošinātu, ka Alise “netērē divreiz” monētu, izmantojot pieeju “vispirms darījums”, mums jāpārbauda, ​​vai nav konflikta ar visiem citiem darījumiem, kas neizbēgami palēnina darījumus.

No otras puses, Move “uz resursiem balstītā” pieeja ir krasi atšķirīga. Tā vietā, lai ierakstītu A–B transakciju rindas, Move reģistrē objektu (vai resursu), kas mainās, un tikai attiecīgi atjaunina atribūtus. Svarīgi ir tas, ka resursi ir atomiskas vienības — resursa X esamība nav atkarīga no cita esoša resursa, atšķirībā no transakciju gadījuma, kur transakcija T ir atkarīga no divu iepriekšējo aģentu, A un B, esamības. Tādējādi uz resursiem balstīta pieeja ļauj izveidot daudz atomiskāku, neatkarīgāku struktūru, kas ir optimizēta paralēlai izpildei.

“Resursi” programmā Move būtībā ir objekti ar noteiktiem atribūtiem. Tehniskajā žargonā tie ir ieviesti struktūras (t. i., konteinera datu struktūra) [4]. Šajā brīdī cilvēkiem ar Ethereum programmēšanas pieredzi varētu rasties jautājums: arī Solidity ir struktūras, kā arī citas datu struktūras. Kas padara Move struktūras īpašas? Es uzskatu, ka vissvarīgākā atšķirība ir tā, ka, lai gan Solidity struktūrām ir relatīvi perifēra daļa valodā (galvenokārt tiek izmantota skaidrības labad), struktūras ir visa Move pamatā. Turklāt Move struktūrām ir dažādas “spējas”, tostarp “kopēt”, “nomest”, “saglabāt” un “atslēga”, kas nosaka, vai objekts ir dublējams, saglabājams, dzēšams utt. [5]. Šāda veida struktūru notācija pilnībā atšķiras no Solidity vai pat no lielākās daļas izplatītāko programmēšanas valodu (piemēram, C/C++). Tomēr šīs dažādās “spējas” ir dziļi intuitīvas. Dažas lietas var “kopēt”, piemēram, monētu vai žetonu. Dažas lietas var “nomest” vai izmest. Citas lietas, piemēram, unikālu digitālo resursu, iespējams, nevarēs kopēt. Tagad apsveriet šo oficiālo “resursa” definīciju pakalpojumā Move:

“Mēs bieži saucam struktūras vērtības par resursiem, ja tās nevar kopēt un nevar nomest.” — Struktūras un resursi, Move valodas dokumentācija [4]

Tātad “resursi” būtībā ir unikālas “struktūras”, kas vienmēr būs pieejamas. Cik romantiski!

Move pilnīgā “struktūras” pārdefinēšana ļauj tai izmantot vienu datu struktūru, lai kodolīgi definētu žetonus, NFT, viedos līgumus un citus digitālos aktīvus, izmantojot tīru, modulāru pieeju [6]. Ar to Ethereum EVM vienkārši nevar salīdzināt; ikviens, kam ir zināma pieredze izstrādē, izmantojot EVM, zina, cik nomācoši ir strādāt ar struktūrām (un ligzdotām struktūrām) Solidity vidē.

Svarīgi ir tas, ka Move resursu bāzes pieeja nodrošina drošības garantijas. Kā minēts Move informatīvajā dokumentā, daudzās programmās ir netieša aktīvu attēlošana, kas nozīmē, ka ierobežotība un piekļuves kontrole nav mērogojama. Piemēram, lai gan Ether ierobežotība ir stingri iekodēta un aizsargāta ar EVM, citi ERC-20 tokeni "nepārmanto šīs aizsardzības, tiem jābūt uzmanīgiem, lai neieviestu kļūdas, kas pieļauj aktīvu dublēšanu, atkārtotu izmantošanu vai zudumu" [4]. Apsveriet klasisko atkārtotas ienākšanas uzbrukumu. Tas ir kaut kas tāds, kas jau sen ir nomocījis EVM projektus, bieži vien izraisot to miljoniem un miljoniem dolāru zaudējumus [7]. Pateicoties Move resursu bāzes pieejai, atkārtotas ienākšanas uzbrukums Move nav iespējams. Tādējādi šķēršļi ienākšanai Move kodēšanā, iespējams, ir daudz pieejamāki nekā EVM, kas ir izšķirošs faktors masveida ieviešanai.

Aptos — Tehniskie principi

Iespējams, ka Aptos lielākais sasniegums ir vienkārši Move kā valodas laišana tirgū. ****Patiešām, liela daļa Aptos dizaina ir tieši aizgūta no Meta izstrādātās Diem (Libra) blokķēdes.  Atcerieties, ka Aptos ir ķēde, kurā uzsvars tiek likts uz mērogojamību un drošību. Lai to panāktu, tiek izmantotas divas galvenās tehniskās implementācijas. Pirmais ir tā konsensa slānī, proti, AptosBFT konsensa mehānisms. Otrais ir tā izpildes slānis jeb Block-STM izpildes dzinējs.  Apskatīsim tos secībā.

Pirmkārt, AptosBFT ir bizantiešu kļūdu tolerants konsensa mehānisms, kas būtībā nozīmē, ka tas var turpināt garantēt drošību tik ilgi, kamēr ne vairāk kā 1/3 tīkla mezglu ir ļaunprātīgi dalībnieki [8]. Tā ir standarta prakse: Bitcoin darba pierādījums, Ethereum likmes pierādījums utt. ir bizantiešu kļūdu tolerants. Tātad, kā AptosBFT faktiski īsteno savu konsensa mehānismu? Tāpat kā visas pārējās likmes pierādījuma ķēdes, Aptos paļaujas uz “likmju” validatoru mezgliem.  Tas īsteno HotStuff konsensa algoritma variantu — modernu PoS algoritmu, kas piedāvā daudz tīrāku komunikācijas protokolu starp mezgliem salīdzinājumā ar iepriekšējiem modeļiem (piemēram, pBFT), ļaujot mezgliem sazināties ar “rotējošu līderi”, nevis ar katru citu mezglu [9]. Lai gan AptosBFT ievieš vairākas HotStuff optimizācijas, jo īpaši “atslēgu rotācijas mehānismu” (lai uzlabotu drošību) un izmaksu samazinājumu (lai uzlabotu mērogojamību), HotStuff PoS dizainā nav būtisku strukturālu izmaiņu [10].

No otras puses, Block-STM paralēlās izpildes dzinējs ir daudz oriģinālāks dizains un, iespējams, projekta galvenais tehniskais sasniegums [11]. Atcerieties, ka resursi ir atomāri — noteikta resursa X mainīgās rokas nav atkarīgas no citiem resursiem. Grupējot transakcijas blokos (piemēram, lego klucīšos), mēs varam izmantot milzīgu paralēlismu resursu transakciju izpildē, iegūstot 20 reizes lielāku skaitļošanas ātrumu salīdzinājumā ar Ethereum [11].

Bet kā tas salīdzināms ar Solana un citiem paralēlās izpildes dzinējiem? Solana galvenais jauninājums bija visu savu viedo līgumu atkarību ieprogrammēšana cietajā kodā, lai ļautu tai veikt paralēlu izpildi. Kad visas atkarības ir iepriekš zināmas, Solana izpildes dzinējs var bloķēt nepieciešamās atkarības pirms izpildes laika. No otras puses, Aptos pārvalda atkarības reāllaikā, vispirms “optimistiski” palaižot visas transakcijas un kļūmes gadījumā atkārtoti palaižot tās konkrētās transakcijas, kas ir neizdevušās [12].

Izmantosim vienkāršu analoģiju, lai izskaidrotu iepriekš minēto. Ethereum ir vienvirziena ceļš, kur visām automašīnām jābrauc vienā rindā viena aiz otras, savukārt gan Solana, gan Aptos ir četru joslu ātrgaitas šosejas. Tas, protams, paātrina procesu. Taču jautājums ir, kā automašīnas pārvietojas pa ātrgaitas ceļu? Solana gadījumā katrai automašīnai būtībā ir piešķirta noteikta josla, un tā vienmēr brauks pa šo joslu. Tas ir ļoti ātri un efektīvi labākajā gadījumā, bet, ja piešķiršanas process noiet greizi, rodas ļoti slikts sliktākais scenārijs. Savukārt Aptos gadījumā automašīnām vispirms tiek piešķirtas dažas joslas, bet, ja tas nedarbojas, tad automašīnām ir atļauts iebraukt citās joslās, lai novērstu negadījumus. Tāpēc, pat ja Aptos labākajā gadījumā var nebraukt tik ātri kā Solana, tas ir uzticamāks par Solana un tam ir labāks sliktākā scenārija risinājums [13].

Novērtēšana — potenciāls un ierobežojumi

Aptos pašlaik ir pirmā un vienīgā lielā Move balstītā L1 ķēde, kas ir palaidusi galveno tīklu. Tādējādi Aptos galvenā tīkla izlaišana ir neticami simbolisks notikums; Aptos piesaistītā naudas un mediju uzmanība ne vienmēr ir samērojama ar tā tehniskajām inovācijām.

Kā minēts iepriekš, galvenais tehniskais jauninājums, ko Aptos ir ieviesis, ir tā Block-STM paralēlās izpildes dzinējs. Lielākā daļa pārējo tehnisko aspektu, tostarp tā konsensa mehānisms un Move valodas izmantošana, ir nedaudz uzlaboti mantojuma produkti, kas mantoti no Meta [14]. Attiecībā uz Block-STM paralēlās izpildes dzinēju nav skaidrs, vai tas radīs kvalitatīvu atšķirību starp lietotāja pieredzi Aptos un lietotāja pieredzi Solana; ja lietotāja pieredze ir tāda pati, lietotājam nebūs svarīgi, kā tas ir ieviests tehniskajā līmenī.

Tāpat kā ar jebkuru infrastruktūras projektu, Aptos ilgtermiņa panākumi ir atkarīgi no tā, kādi projekti izvēlas uz tā balstīties.  Pašlaik tā ekosistēmas projekti, piemēram, Liquidswap DEX, Topaz NFT tirgus un Aptos Names domēna pakalpojums, lai gan ir nepieciešami produkti jebkurā blokķēdes ekosistēmā, nav pietiekami unikāli Aptos dizainam [15]. Šie projekti ir kā pārtikas veikals, skola un slimnīca mazā ciematā. Lai gan tie ir nepieciešami ciemata funkcionēšanai, tie nepiešķir ciematam unikālu raksturu, kas nebūtu atrodams nevienā citā ciematā.

Atskatoties laikā, daļa no Solana panākumiem varētu būt saistīta ar tādiem projektiem kā StepN, kas faktiski spēja izmantot Solana paralēlisma priekšrocības. Šie GameFi un SocialFi projekti bieži vien ietver lielu apjomu paralēlu datu, kas ir relatīvi izolēti. Tādējādi šīs lietojumprogrammas ir unikāli piemērotas paralēlas izpildes dzinējiem, piemēram, Aptos un Solana, vienlaikus spējot piesaistīt lielu patērētāju bāzi un lielu darījumu apjomu. Patiešām, vienā brīdī StepN vien veidoja aptuveni ~20% no Solana maksas lietotājiem [16].

Tādējādi, lai Aptos gūtu panākumus kā infrastruktūras projekts, ir nepieciešams unikāls projektu klāsts, kas lielā mērā izmanto Aptos paralēlās izpildes dzinēju, projektus, kurus nevarētu īstenot Ethereum vai pat Solana platformās. Pateicoties Aptos jaunajam Block-STM dizainam, tie varētu potenciāli veidoties kā jauna SocialFi projektu klase, kur lietotāji mijiedarbojas nelielās grupās (piemēram, grupu tērzēšanā). Tā kā šīs grupas var būt dinamiskas un mainīgas, vienlaikus arī zināmā mērā neatkarīgas viena no otras, tās ir daudz piemērotākas Aptos paralēlās izpildes dzinējam nekā Solana vai Ethereum dzinējam. Bet, protams, šī ir tikai abstrakta spekulācija.

Neskatoties uz to, Aptos palaišana galvenajā tīklā joprojām ir neticami svarīgs un simbolisks notikums kriptovalūtu pasaulē. Tas ir Meta inženieru daudzu gadu centienu kulminācija, ieviešot kvalitatīvi atšķirīgu paradigmu Ethereum mērogojamības sašaurinājuma risināšanai. Move unikālās valodas funkcijas nozīmē, ka neizbēgami būs DApp, kuras ir daudz labāk ieviest Move, nevis Solidity vai citās viedo līgumu valodās. Bet vai šie projekti obligāti tiks ieviesti Aptos ekosistēmā? Neviens nezina. Aptos varētu baudīt dažas pirmiedzīvotāja priekšrocības, jo tas varētu ieviest Move ražošanā un sasaistīt savu nosaukumu ar Move valodu. Bet tajā pašā laikā tas varētu ciest no MySpace līdzīga likteņa, būdams pirmiedzīvotājs.

Vismaz viena lieta ir skaidra: Aptos varētu būt pirmais Move eksperiments tirgū, taču tas noteikti nebūs pēdējais [17].

🐦 @0xfishylosopher

📅 2022. gada 22. oktobris

Atruna: Šis pētījums ir paredzēts tikai informatīviem nolūkiem. Tas nav uzskatāms par ieguldījumu konsultāciju vai ieteikumu pirkt vai pārdot jebkādus ieguldījumus, un to nevajadzētu izmantot, lai izvērtētu jebkura ieguldījumu lēmuma pamatotību.

Atsauces

[1] Skatīt Aptos Labs galveno lapu: https://aptoslabs.com/

[2] Ievads programmā Solana: https://www.forbes.com/advisor/investing/cryptocurrency/what-is-solana/

[3] Tehniskā dokumentācija par valodas pārvietošanu: https://diem-developers-components.netlify.app/papers/diem-move-a-language-with-programmable-resources/2020-05-26.pdf

[4] Move izstrādātāja dokumentācija par struktūrām un resursiem: https://github.com/move-language/move/blob/main/language/documentation/book/src/structs-and-resources.md

[5] Sīkāka informācija par Struct Abilities: https://move-language.github.io/move/abilities.html

[6] Skatiet Move valodas pamācību: https://101blockchains.com/move-programming-language-tutorial/

[7] https://blog.chain.link/reentrancy-attacks-and-the-dao-hack/

[8] Sīkāka informācija par Bizantijas kļūdu toleranci: https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained

[9] HotStuff konsensa modelis: https://hackernoon.com/hotstuff-the-consensus-protocol-behind-safestake-and-facebooks-librabft

[10] AptosBFT konsenss: https://blog.pontem.network/aptosbft-all-you-need-to-know-about-the-bft-consensus-in-aptos-ff4cf22c7a80

[11] Skatīt Block-STM tehnisko dokumentu: https://arxiv.org/abs/2203.06871

[12] Aptos un Solana izpildes dzinēju salīdzinājums: https://www.gofyeo.com/post/aptos-vs-solana-a-technical-comparison-part-1

[13] Aptosa sliktākā gadījuma analīze kā O(n²), Solana kā O(n⁴). Sīkāka informācija: https://antiape.substack.com/p/cf40447d-d674-4454-9e09-f003517de6de?s=r

[14] Skatīt Aptos informatīvo dokumentu: https://aptos.dev/assets/files/Aptos-Whitepaper-47099b4b907b432f81fc0effd34f3b6a.pdf

[15] Aptos ekosistēma: https://coinmarketcap.com/alexandria/article/what-is-aptos-the-ultimate-guide-to-the-aptos-ecosystem

[16] No Messari Crypto Twitter konta: https://twitter.com/MessariCrypto/status/1567880625218019333

[17] Skatīt Sui, vēl vienu uz kustībām balstītu valodu: https://sui.io/