Ievads

Iespējams, esat dzirdējis par OP_CAT atkārtotu iespējošanu kā potenciālu bitcoin skriptu valodas jauninājumu. Atkarībā no tā, kur saņemat savas ziņas, OP_CAT tiek saukts par "tikai 10 koda rindiņām", "labākais veids, kā iespējot eksperimentus ar līgumiem", "pārāk spēcīgs", "bīstams un noved pie kalnraču centralizācijas" vai "garantēts, ka novedīs pie strīdīga mīkstā dakša”. Es pierādīšu, ka visas šīs perspektīvas ir kļūdainas. OP_CAT ir ļoti noderīgs, to var izmantot kā derību, un tas nav (viens pats) labākais bitcoin nākamais solis. Neko vairāk un neko mazāk.

Lai to izdarītu, es izpētīšu vairākas (acīmredzot nesaistītas) tēmas, no kurām dažas man bija jaunas pirms dažiem īsiem mēnešiem. Es mēģināšu to sakārtot tā, lai nodrošinātu nepieciešamo fonu vienuviet.

Kā un ko dara OP_CAT

Introspekcija ar CAT

Atrisināsim aktuālo jautājumu, kas daudziem radās, pirmo reizi saskaroties ar OP_CAT. Kā dažas koda rindiņas, kas apvieno divus vienumus no kaudzes vienā (AB CAT -> AB), var iespējot kaut ko interesantu? Endrjū Poelstra nesenajās intervijās ir daiļrunīgi paskaidrojis, un es ievietoju muļķīgu un īsu skaidrojumu:

Bitcoin ir nedaudz dīvains, tāpēc tas var arī sadalīt lietas. Tad SHA256 ļauj mums atsaukt jaucējus. Tā kā kriptogrāfija ir tikai matemātika, un mēs zinām, kā to izdarīt, CAT ļauj mums iegūt jaucējkodu no paraksta pārbaudes. Tā rezultātā mēs varam pārbaudīt visu, kas ir sajaukts parakstā…

— Rearden 🍯🦡 🦢 | apskāviens forks (@reardencode) 2024. gada 17. maijā

Tā kā bitcoin skripts ir tikai verifikācijas valoda, katru opkodu var izmantot gan uz priekšu, gan atpakaļ. Skriptam var piešķirt jaukšanu, un tam ir nepieciešams priekšattēls, vai dot priekšattēlu un pieprasīt jaukšanu, izmantojot OP_SHA256. Šis ieskats sniedz mums pirmās divas daļas par to, kā darbojas OP_CAT līgumi.

Ja bitcoin skripts varētu piekļūt pārbaudāmā darījuma jaukšanai, tas var pieprasīt, lai tēriņu steka sniegtu jaucējattēlu, sadalītu skriptam vajadzīgajā veidā un pēc tam apstiprinātu jebkuru konkrētu šī priekšattēla daļu. Tas ir tieši tas, kas ir pakts – darījuma daļas apstiprināšana, iztērējot kādu bitkoīnu.

Tas ir lieliski, taču bitkoinam nav tāda operētājkoda kā OP_TXHASH, kas skriptam nodrošinātu piekļuvi darījuma jaucējfailam. Šeit mēs izmantojam BIP340 Schnorr paraksta verifikācijas vienādojumu, lai pieprasītu lietotājam nodrošināt jaucējkodu. Ja lietotājs norāda vērtību, kas būs derīga transakcijas jaucējfunkcija, ja skripts savienos baitu 0x00 līdz tā beigām, šī vērtība būs arī derīga BIP340 paraksta daļa (ar noteiktiem citiem parametriem), ja skripts savienos baitu 0x01.

Apvienojot šīs metodes, OP_CAT var pārbaudīt jebkuru tā izdevumu darījuma daļu, ko var parakstīt, un pat dažos ierobežotos veidos atskatīties uz saviem pamatdarījumiem. Izmantojot dažus rūpīgus kodēšanas rīkus, var izveidot Purrfect Vaults, CatVM un daudz ko citu.

Citi CAT lietojumi

Bet mums nevajadzētu. Veidojot šīs lietas ar OP_CAT, rodas grūti uzturējamas negantības. Tā vietā mums vajadzētu izmantot OP_CAT tam, kam tas ir piemērots, un to ir daudz: tas nodrošina OP_CHECKSEPARATESIG ekvivalentu, Merkle iekļaušanas pierādījumu pārbaudi, datu apvienošanu paraksta verifikācijai ar OP_CHECKSIGFROMSTACK un daudz ko citu.

Problēmas ar CAT

Tagad, kad mēs zinām, ko dara CAT, kāda ir problēma? Kāpēc cilvēki (ieskaitot mani) ir teikuši, ka tas ir bīstams zvērs? Izmantojot iepriekš aprakstīto introspekcijas paņēmienu, CAT nodrošina divas īpašas konstrukcijas: Hashrate darījumus un (domājams) automatizētos tirgus veidotājus (AMM). Vēl nesen abi šie tika uzskatīti par nozīmīgiem riskiem, kas saistīti ar MEV centralizēšanu bitcoin.

MEV, MEVil un kalnraču centralizācija

Termins MEV (Miner Extractable Value) ir nedaudz mulsinošs. Vienkāršākajā interpretācijā tas ietvertu darījumu maksas, kuras mēs, protams, vēlamies maksāt kalnračiem, lai palīdzētu nodrošināt bitcoin drošību vēl ilgi. MEV parasti izmanto, lai apzīmētu papildu vērtību, ko kalnrači var iegūt no saviem blokiem, pārsniedzot publiskā releju tīklā redzamās maksas. Tas var izpausties kā maksājumi ārpus grupas, kalnračiem, kas piedalās līgumos un pārkārto darījumus sev labvēlīgā veidā, vai pat tiešas preču un pakalpojumu zādzības, ko veic kalnrači, iegūstot blokus, kas pārkārto un divreiz iztērē apstiprinātu maksājumu tirgotājam. Visas šīs MEV formas kopumā var uzskatīt par kaitīgām tīkla dalībniekiem, jo ​​kalnrači izmanto savu stāvokli tīklā savā labā uz citu tīkla dalībnieku rēķina. Tomēr MEV vien nerada sistēmisku problēmu, virzot kalnraču centralizāciju, tikai vietēja problēma īpaši ietekmētajiem dalībniekiem.

MEVil ir termins, ko dažreiz lieto MEV, kas veicina kalnraču centralizāciju — es dodu priekšroku terminam centralizēt MEV un izmantošu to turpmāk. Lai MEV mainītu uz centralizētu MEV, ir nepieciešamas vairākas lietas:

  1. Tam ir jābūt pietiekami sarežģītam, lai atvērtā pirmkoda bloku veidņu veidotājs to nevarētu saprātīgi izvilkt

  2. Kopējai iegūstamajai vērtībai ir jāpalielinās ar ogļraču bitkoinu jaukšanas ātrumu

  3. Ieguves vērtībai ir jāpamato ieguves izmaksas

Ja visas šīs prasības ir izpildītas, tikai pietiekami liels kalnračs būs motivēts sākt MEV ieguvi. Tiklīdz viņi to izdarīs, viņi varēs apsteigt savu mazāko vienaudžu izaugsmi, pateicoties iegūtajiem papildu ieņēmumiem. Jo dārgāka ir MEV ieguve (līdz vietai, kur nevienam kalnračiem tas nav tā vērts), jo sliktāks ir centalizācijas spiediens, ko tas rada.

Izvairīšanās no MEV centralizācijas ir (savā ziņā) vienkārša: nodrošiniet, lai visas MEV iespējas, kas pastāv bitcoin, būtu vai nu tik viegli iegūstamas, ka ikviens to dara, vai arī iegūšana izmaksā vairāk, nekā ir vērts (vai nu tāpēc, ka tās ir tik mazas vai jo tie ir tik dārgi).

Lai iegūtu plašāku informāciju, skatiet @TheBlueMatt jaunāko ziņu.

Hashrate Dari (dzimis Drivechains)

Pirms daudziem gadiem (pirms Lightning Network vai idejām, piemēram, Ark, Timeout Trees, roll-ups, BitVM vai CatVM) sānu ķēdes tika uzskatītas par labāko bitcoin mērogošanas risinājumu. Ideja bija konceptuāli vienkārša: visu parasto decentralizācijas iemeslu dēļ bitkoinu bloku izmēriem ir jābūt ierobežotiem, taču mēs varam pievienot bitcoin sānu ķēdes, un tiem var būt ātrāki bloki, lielāki bloki, vairāk aprēķinu vai kas cits. Tomēr praksē sānu ķēžu ieviešana nebija tik vienkārša. Bitcoin galīgais norēķins pamatā ir saistīts ar darba pierādīšanu, neviltojamas izmaksas, kas saistītas ar darījumu pārkārtošanu. Kā sānu ķēde to pārmanto? Turklāt, kā bitcoin var pārsūtīt uz sānu ķēdi un no tās? Vispazīstamākais priekšlikums atbildēt uz šiem diviem jautājumiem tiek saukts par piedziņas ķēdēm (BIP 300 un 301). Es nenogurdināšu jūs ar detaļām par piedziņas ķēdēm, taču pietiek ar to, ka šādām sānu ķēdes sistēmām ir tikai divi rezultāti: vai nu tās ir salīdzinoši neizmantotas (un tāpēc bezjēdzīgas), vai arī tās tiek plaši izmantotas un kļūst par de facto bloka izmēru. pieaugums bitcoin. Šāda veida bloka lieluma de facto palielināšana ir MEV centralizācijas veids, kurā tikai lielāki kalnrači varēs rentabli piedalīties papildu ieņēmumu iespējās, ko piedāvā potenciāli lielie un sarežģītie sānu ķēdes bloki.

Hashrate darījuma darījumi, kurus var izveidot, izmantojot OP_CAT, ir neliela daļa no Drivechains priekšlikumiem. Šī ir sistēma, kas ierobežo izņemšanu no sānu ķēdēm, izmantojot skaitītāju, kura vērtību var mainīt tikai kalnrači, tā sākas ar lielu vērtību, un tai jāsasniedz nulle, pirms var apstrādāt sānu ķēdes izņemšanu. Tiek apgalvots, ka tā ir “neuzticama” pārsūtīšana no sānu ķēdes, taču faktiski tiek izveidota kalnraču federācija, kas kontrolē visus bitkoīnus, kas atrodas sānu ķēdēs.

Kopš Drivechains priekšlikumu izstrādes ir kļuvis (uz mūsu rēķina) ierasts atsaukties uz jebkuru priekšlikumu, ko var izmantot, lai izveidotu izņemšanu, kas norādīta uz kalnraču kontrolēta skaitītāja, kā “Drivechains”. Cerams, ka šobrīd ir skaidrs, kāpēc šis nepiemērotais saīsinājums nav noderīgs — piedziņas ķēdes ir vai nu nevērtīgas, vai bīstamas, bet hasrata darījuma darījumi ir tikai veids, kā nodot kontroli pār kāda darījuma iznākumu netiešajai kalnraču federācijai.

Tokeni un AMM

Žetoni

Tādu iemeslu dēļ, kas man nekad nebūs pilnīgi skaidrs, cilvēkiem patīk labs žetons (vai slikta žetons, vai tiešām tikai žetoni). Gandrīz no bitcoin pirmsākumiem ir runāts par to, kā protokolā iegult citus marķierus, sākot no krāsainām monētām un darījuma partnera līdz jaunākajiem Taproot Assets un Runes. Visiem šiem protokoliem ir viena kopīga iezīme: tiem ir nepieciešams ārējs bitcoin darījumu indekss, kuram ir zināšanas par ārējiem datiem vai kas apstrādā datus no bitcoin darījumu secības, lai noteiktu marķieru transformācijas protokolā. Šī raksta svarīgākais aspekts ir tāds, ka bitcoin bloķēšanas skripti pilnībā nezina par marķieru esamību, un pat bitcoin mezgli, kas apstiprina darījumus, nezina par marķieriem (t.i., pat ja bitcoin bloķēšanas skriptam bija pilna piekļuve visai bitcoin UTXO komplektam , tā nevarēja atklāt neviena no šiem marķieriem stāvokli).

Automatizētie tirgus veidotāji (AMM)

Citās blokķēdes sistēmās parasti tiek izmantoti līgumi, kas pazīstami kā AMM, lai (piemēram) piesaistītu attiecību starp diviem marķieriem, pērkot un pārdodot par fiksētu cenu. Noteikumi, ko var iekodēt AUM, ir ārpus šī panta darbības jomas. Pietiek pateikt, ka AMM rada milzīgas iespējas MEV un privāto apmaiņas attiecību dēļ, kas nepieciešamas, lai palielinātu peļņu no šī MEV, arī centralizē MEV. Tas bieži tiek izmantots kā arguments pret izteiksmīgāku bitkoinu skriptu veidošanu — mēs patiesi vēlamies izvairīties no tā, ka bitcoin tīkls tiek pakļauts MEV centralizācijas kaprīzēm. Tomēr, kā jau aprakstīju iepriekš, bitcoin skriptiem, lai arī cik izteiksmīgi tie būtu, vienkārši nav praktiska veida, lai novērtētu jebkura cita marķiera, izņemot bitcoin, stāvokli. Bitcoin skripti nevar atrast retu sat. Viņi nevar atrast rūnu līdzsvaru. Viņi nevar identificēt Taproot īpašumu.

Bez piekļuves jebkādai informācijai par ar bitkoiniem nesaistītu aktīvu izvietojumu visai uz bitcoin skriptiem balstītas AMM koncepcijai vairs nav jēgas. Žetonu atrašanās vietas var apliecināt ar orākula parakstu, bet orākula apliecinājumi nav AMM. Tos var izmantot, lai atvieglotu konkrētus manuālus darījumus, bet ne ilgstošu automatizētu sistēmu. Turklāt šādu uz orākulu balstītu sistēmu šodien varētu izveidot bez izmaiņām bitcoin.

Secinājums

Kā jūs, cerams, redzat, CAT nav tik biedējošs zvērs. Tas nemaz nav nekāds zvērs. Tam nav ne bezgalīgu spēju, ne maģisku spēku. Tas ir tikai neliels opkods, kas var būt ļoti noderīgs. Viena lieta, no kuras mēs, iespējams, vēlamies izvairīties, ir OP_CAT aktivizēšana bez cita veida darījuma pašpārbaudes, piemēram, OP_TXHASH, OP_TX vai abiem. Pat tā iespējošana ar LNHANCE ir tikai OP_CAT uzlabojums, jo tas samazina skriptu lielumu un sarežģītību, kas nepieciešami daudzu OP_CAT pašpārbaudes protokolu sasniegšanai.

Es domāju, ka šobrīd "CAT ievieš bezgalīgu visu" ir samazināts līdz neko.

Tas ievieš noderīgu pašpārbaudi sūdīgā veidā, ko nevienam nevajadzētu izmantot. Lai palīdzētu cilvēkiem to neizmantot, mums ir jāiespējo CAT kopā ar TXHASH vai līdzīgu.https://t.co/nvnxYn66Um https://t.co/1Ag5TwjuUw

— Rearden 🍯🦡 🦢 | apskāviens forks (@reardencode) 2024. gada 17. maijā

Šis ir Brendona Bleka viesa ieraksts. Izteiktie viedokļi ir pilnībā viņu pašu un ne vienmēr atspoguļo BTC Inc vai Bitcoin Magazine viedokļus.

Avots: Bitcoin Magazine

Ziņa OP_CAT un bezgalīgais nekas vispirms parādījās vietnē Crypto Breaking News.