Komputasi Off-Chain Adalah Semua yang Anda Butuhkan

Menengah1/4/2024, 5:43:45 PM
Artikel ini memperkenalkan konsep co-processor dan Rollup, serta pemisahan modular perhitungan dan verifikasi blockchain di masa depan.

Pengenalan

Blockchain adalah buku besar yang didistribusikan secara global yang mencapai konsensus atas keadaan global. Beberapa blockchain dilengkapi dengan lingkungan eksekusi Turing-complete yang memungkinkan programabilitas di atas keadaan global ini. Program yang menargetkan lingkungan eksekusi blockchain disebut kontrak pintar, dan blockchain yang mendasarinya disebut platform kontrak pintar. Ethereum, Solana, dan Avalanche adalah beberapa platform kontrak pintar yang paling banyak dikenal. Kita dapat menganggap platform kontrak pintar sebagai komputer terdistribusi, dengan lingkungan eksekusi (atau mesin virtual) bertindak seperti CPU dan negara yang melakukan peran penyimpanan.

Pembingkaian blockchain sebagai komputer akan penting untuk memotivasi mengapa koprosesor/komputasi off-chain tidak terelakkan, terutama dalam konteks blockchain. Dalam komputasi tradisional, koprosesor berasal dari mikroarsitektur untuk meningkatkan kinerja. Demikian pula, koprosesor di Ethereum menjanjikan akses ke data historis dan komputasi offchain yang tinggi kinerjanya untuk memperluas fitur dan ruang desain dari protokol lapisan dasar. Lihat artikel pengantar tentang koprosesor ini untuk informasi lebih lanjut.

Artikel ini mengeksplorasi coprocessors dari prinsip-prinsip pertama, bertujuan untuk menjelaskan pentingnya dan meta-sifat mereka. Kami kemudian membandingkannya dengan rollups, menunjukkan bagaimana kedua konsep ini, meskipun berbeda, saling terkait. Kami juga memberikan contoh kapan rollups dan coprocessors dapat digunakan bersama. Misalnya, bahkan rollup yang sangat kuat atau L1 mungkin memerlukan coprocessor untuk tugas-tugas berat.

Kami menyimpulkan artikel ini dengan mengamati bahwa blockchain bergerak menuju masa depan di mana komputasi terpusat, tetapi verifikasi tetap terdesentralisasi. Rollup, koprosesor, dan bentuk lain dari komputasi off-chain yang dapat diverifikasi hanyalah instantiasi yang berbeda di masa depan ini.

Bagaimana kita sampai di sini:

Dalam “Batasan Skalabilitas Blockchain,” Vitalik menyebutkan bahwa untuk desentralisasi blockchain, penting bagi pengguna reguler untuk dapat menjalankan sebuah node.

Seperti yang disebutkan sebelumnya, Ethereum dapat dikonseptualisasikan sebagai komputer global terdesentralisasi dalam banyak aspek. Ini adalah jaringan node yang menjalankan perangkat lunak yang menyediakan sumber daya komputasi untuk menjalankan kontrak pintar. Blockchain Ethereum menyimpan informasi keadaan dan kode, mirip dengan penyimpanan dan memori komputer. Dan Mesin Virtual Ethereum (EVM) berjalan pada setiap node, memproses transaksi dan menjalankan kode seperti CPU. Namun, Ethereum bersifat tanpa izin dan terdesentralisasi, menggunakan konsensus antara node-node yang tidak terpercaya. Jika beberapa node offline, jaringan tetap beroperasi. Untuk memastikan kebenaran operasi EVM, validator pada jaringan Proof-of-Stake (PoS) seperti Ethereum harus melakukan semua transisi keadaan untuk memverifikasinya. Hal ini membatasi kecepatan jaringan PoS menjadi node-node terlambatnya, membatasi jumlah komputasi yang tersedia bagi pengembang aplikasi.

Tidak seperti komputer biasa, Ethereum membatasi komputasi dan penyimpanan untuk mencegah penyalahgunaan jaringan. Biaya dibebankan untuk setiap operasi, membuat loop tak berujung menjadi tidak praktis secara finansial. Pendekatan ini menjaga hambatan masuk tetap rendah, memungkinkan hardware sehari-hari seperti Raspberry Pi untuk menjalankan node jaringan. Kendala-kendala ini memungkinkan sistem inklusif di mana siapa pun dapat membantu mengoperasikan jaringan Ethereum terdesentralisasi.

Karena pembatasan komputasi dari node Ethereum, aplikasi kompleks seperti model Pembelajaran Mesin, permainan, atau aplikasi komputasi ilmiah tidak bisa dijalankan secara layak langsung pada Ethereum saat ini.

Ini adalah sebuah pertukaran untuk menjadikan Ethereum mudah diakses, aman, dan berkelanjutan sebagai dasar untuk aplikasi dasar. Tetapi tak terelakkan, beberapa keterbatasan ada jika dibandingkan dengan komputer yang tak terbatas secara komputasi. Ini memiliki keterbatasan jika dibandingkan bahkan dengan prosesor kuno seperti Pentium 5:

Tidak ada matematika titik mengambang yang kompleks - EVM hanya mendukung operasi matematika dasar dan logis. Komputasi numerik canggih seperti jaringan saraf tidak memungkinkan. (Fakta menarik adalah ketidakmampuan menangani titik mengambang juga membuat pertukaran aset rebase seperti Ampleforth, dll, lebih sulit dalam sejarah baru-baru ini dan terkadang bahkan tidak kompatibel dengan beberapa DEXs).

Komputasi terbatas per blok - Biaya Gas mengukur komputasi, jadi perangkat lunak kompleks seperti game akan sangat mahal. Batas gas per blok adalah 30M gas.

Pengingatan memori - Kontrak pintar memiliki batasan penyimpanan permanen yang kecil, sehingga membuat program-program besar sulit.

Tidak ada penyimpanan file persisten - Tidak ada cara untuk menyimpan file seperti grafik, audio, atau video di blockchain.

Kecepatan lambat - Kecepatan transaksi di Ethereum saat ini sekitar ~15 TPS, jauh lebih lambat dari sebuah CPU.

Pada akhirnya, penyimpanan dan komputasi terbatas membatasi derajat kebebasan yang tersedia untuk aplikasi (batasan ini berbeda dari blockchain ke blockchain, tetapi selalu ada). Orang-orang telah membandingkan blockchain dengan lingkungan komputasi yang terbatas pada tahun 1970-an hingga 1980-an, tetapi kami berpikir ada beberapa perbedaan besar antara keduanya:

Pertumbuhan komputasi pada tahun 1970-an hingga 1980-an berlangsung cepat (dengan jumlah transistor dalam mikroprosesor meningkat dari ~1.000 menjadi ~1.000.000 selama periode tersebut). Namun pertumbuhan ini tidak berarti orang sering membeli atau memperbarui komputer mereka. Karena platform kontrak pintar terbatas oleh node-node terlambatnya, percepatan di garis depan komputer tidak akan selalu mengakibatkan blockchain melihat peningkatan proporsional dalam kecepatan komputasinya. Percepatan hanya dapat terjadi jika persyaratan dasar untuk node-node pada blockchain diperbarui.

Terdapat pula pertukaran yang jelas antara terus-menerus memperbarui persyaratan minimum perangkat keras untuk node dan desentralisasi. Para penambang tunggal mungkin tidak ingin mengupgrade perangkat keras setiap beberapa tahun (dan mereka tentu tidak ingin memantau kinerja setiap hari), yang mengakibatkan hanya para profesional yang ingin menjalankan infrastruktur blockchain.

Semua ini adalah untuk mengatakan bahwa, selama bertahun-tahun, CPU membaik, dan kita mendapatkan lebih banyak inti CPU pada setiap perangkat untuk memungkinkan kita melakukan tugas-tugas yang semakin rumit. Jika kita berpikir komputer blockchain tidak akan mempercepat secepat komputasi tradisional (karena persyaratan node dasar), maka masuk akal untuk mencoba menemukan sumber komputasi alternatif. Sebuah analogi menarik untuk ditarik di sini adalah bahwa CPU dalam komputasi tradisional tidak bagus dalam tugas pemrosesan grafis, yang mengarah ke munculnya GPU dalam hampir setiap komputer. Demikian pula, karena blockchain berfokus pada menjadi penyimpanan keamanan status dengan baterai komputasi sederhana yang diaktifkan, ada peluang yang jelas bagi komputasi di luar rantai untuk memperluas ruang desain aplikasi. Saat ini, blockchain hanya masuk akal untuk aplikasi komputasi rendah yang menginginkan properti seperti akses terbuka, kedaulatan diri, ketahanan sensor, dan komposabilitas. Untuk menempatkan berbagai aplikasi lebih banyak di rantai, kita perlu mengangkat kendala yang kita letakkan pada pengembang aplikasi. Kami mengatakan ini dengan pemahaman bahwa kendala-kendala ini juga telah menjadi berkah bagi eksperimen. Sebagai contoh, CLOBs tidak dapat berjalan secara efektif di Ethereum karena kendala komputasi, jadi AMM diadopsi, yang sejak itu mencatat triliun dolar dalam volume.

Ada dua pendekatan umum untuk membuat lebih banyak komputasi tersedia untuk aplikasi blockchain:

Meningkatkan persyaratan node dasar relatif sering. Ini kurang lebih merupakan jalur terintegrasi tinggi kinerja blockchain seperti Solana dan Sui ambil. Baseline tinggi untuk node membuatnya memungkinkan bagi mereka untuk membangun blockchain yang sangat cepat dan juga menghilangkan beberapa batasan desain dari desain aplikasi. Phoenix, DEX Limit Order Book di Solana, tidak bisa dibangun di Ethereum (atau L2 mana pun) saat ini. Sisi lain dari peningkatan persyaratan dasar adalah jika mereka terus tumbuh, maka menjalankan node mungkin hanya layak bagi penyedia infrastruktur profesional. Persyaratan RAM historis melakukan pekerjaan yang cukup baik dalam memperlihatkan bagaimana persyaratan hardware telah tumbuh secara konsisten di Solana:

Arsip Web (Catatan: kami menggunakan kebutuhan RAM median dari tahun 2020)

Memindahkan komputasi off-chain ke pihak ketiga. Ini telah menjadi strategi yang diadopsi oleh ekosistem Ethereum. Pihak ketiga ini bisa saja menjadi blockchain itu sendiri (dalam kasus rollups), perangkat komputasi verifiable off-chain (misalnya, coprocessors), atau pihak ketiga yang terpercaya (seperti dalam kasus komputasi off-chain khusus aplikasi seperti orderbook dydx).

Menuju Persatuan Komputasi Off-Chain

Baru-baru ini, telah ada peningkatan pembicaraan tentang koprosesor, yang menyediakan komputasi yang dapat diverifikasi di luar rantai. Koprosesor dapat diimplementasikan dengan berbagai cara, termasuk namun tidak terbatas pada Bukti Tanpa Pengetahuan atau Lingkungan Eksekusi Terpercaya (TEEs). Beberapa contohnya adalah:

Koprocesor ZK: Axiom, Bonsai Risc Zero.

TEEs: Oyster Marlin milik Gate,

Secara bersamaan, ketika datang untuk membongkar komputasi, peta jalan rollup-centric Ethereum membongkar komputasi ke berbagai rollup yang menetap di Ethereum. Selama beberapa tahun terakhir, aliran pengembang dan pengguna yang stabil telah bermigrasi ke rollup karena kombinasi transaksi dan insentif yang lebih murah dan lebih cepat yang disediakan oleh rollup. Dalam dunia yang ideal, rollup memungkinkan Ethereum untuk menskalakan kapasitas komputasi keseluruhannya melalui eksekusi off-chain tanpa menambahkan asumsi kepercayaan. Lebih banyak komputasi tidak hanya mengacu pada mengeksekusi lebih banyak transaksi tetapi juga untuk melakukan perhitungan yang lebih ekspresif per transaksi. Jenis transaksi baru memperluas ruang desain yang tersedia untuk aplikasi, dan throughput yang lebih tinggi mengurangi biaya melakukan transaksi ekspresif ini, memastikan akses yang terjangkau ke kelas aplikasi yang lebih tinggi.

Sebelum kita melangkah lebih jauh, mari kita secara singkat mendefinisikan baik rollups maupun coprocessors untuk mencegah kebingungan:

Rollups: Rollups mempertahankan keadaan yang persisten dan terbagi berbeda dari rantai dasar/tuan mereka tetapi masih mewarisi sifat keamanan dari rantai dasar mereka dengan memposting data/bukti kepadanya. Dengan memindahkan keadaan dari rantai tuan, rollups dapat menggunakan komputasi tambahan untuk melakukan transisi keadaan sebelum memposting bukti integritas dari transisi keadaan ini ke tuan. Rollups paling berguna bagi pengguna yang tidak ingin membayar biaya tinggi dari Ethereum tetapi ingin mengakses sifat keamanan dari Ethereum.

Sebelum masuk ke coprocessors, mari berikan beberapa latar belakang lebih lanjut tentang seberapa terbatasnya pengembangan kontrak pintar di Ethereum saat ini. Ethereum memiliki penyimpanan status persisten dalam status globalnya - saldo akun, data kontrak, dll. Data ini persisten di blockchain untuk waktu yang tidak terbatas. Namun, ada batasan:

Ukuran maksimum data kontrak terbatas (mis., 24KB per kontrak saat ini dan diatur dalam EIP 170). Menyimpan file besar akan melebihi batas ini. (*Tidak dapat diselesaikan oleh coprocessors juga)

Membaca/menulis penyimpanan kontrak lebih lambat daripada sistem file atau basis data. Mengakses 1KB data bisa menghabiskan jutaan gas.

Sementara keadaan global masih berlangsung, node individu hanya menyimpan keadaan terbaru secara lokal dalam mode “pruning”. Sejarah keadaan lengkap memerlukan node arsip.

Tidak ada primitif sistem file asli untuk menangani file seperti gambar, audio, dan dokumen. Kontrak pintar hanya dapat membaca/menulis tipe data dasar ke penyimpanan.

Solutions around this are:

File-file besar dapat dibagi menjadi bagian-bagian kecil agar sesuai dengan batas penyimpanan kontrak.

Referensi file dapat disimpan on-chain, dengan file disimpan off-chain di sistem seperti IPFS.

Coprocessors: Coprocessors tidak menyimpan keadaan mereka sendiri; mereka berperilaku seperti fungsi lambda di AWS, di mana aplikasi dapat mengirimkan tugas komputasi kepada mereka, dan mereka mengirimkan kembali hasil dengan bukti komputasi. Coprocessors secara mendasar meningkatkan seberapa banyak komputasi yang tersedia untuk setiap transaksi tertentu, tetapi karena pembuktian pada coprocessors juga terjadi secara per transaksi, penggunaannya akan lebih mahal daripada rollups. Mengingat biayanya, coprocessors kemungkinan akan berguna bagi protokol atau pengguna yang ingin melakukan tugas-tugas satu kali kompleks secara verifikasi. Manfaat lain dari coprocessors adalah bahwa mereka memungkinkan aplikasi yang menggunakan komputasi off-chain juga mengakses keadaan historis penuh dari Ethereum tanpa menambahkan asumsi kepercayaan apa pun ke aplikasi itu sendiri; hal ini tidak mungkin dilakukan pada kontrak pintar vanila saat ini.

Untuk menjelaskan perbedaan antara rollups dan koprosesor, mari kita merujuk pada varian ZK dari kedua primitif ini. Rollups ZK mengakses baik verifikasi maupun aspek kompresi dari bukti pengetahuan nol, memungkinkan mereka secara fundamental meningkatkan throughput untuk ekosistem mereka. Di sisi lain, koprosesor hanya mengakses properti verifikasi dari bukti zk, artinya throughput keseluruhan sistem tetap sama. Selain itu, rollups ZK memerlukan sirkuit yang dapat membuktikan program apa pun yang ditargetkan pada mesin virtual untuk rollup tersebut (misalnya, rollups pada Ethereum memiliki zkEVMs yang dibangun untuk kontrak yang ditargetkan pada EVM). Sebaliknya, koprosesor ZK hanya perlu membangun sirkuit untuk tugas yang mereka daftarkan untuk dilakukan.

Jadi, sepertinya dua perbedaan terbesar antara rollups dan coprocessors adalah:

Rollups mempertahankan status persisten yang dipartisi, dan coprocessors tidak (mereka menggunakan status dari rantai host).

Rollups (sebagaimana namanya menunjukkan) mengelompokkan beberapa transaksi bersama, dan coprocessors umumnya digunakan untuk tugas-tugas yang rumit sebagai bagian dari satu transaksi (setidaknya dalam paradigma saat ini).

Baru-baru ini, Booster Rollups telah diusulkan, yang menjalankan transaksi seolah-olah mereka berjalan langsung pada rantai host, dengan akses ke seluruh keadaan host. Namun, Booster Rollups juga memiliki penyimpanan mereka sendiri, memungkinkan mereka untuk mengukur komputasi dan penyimpanan di seluruh host dan rollup. Usulan Booster Rollup menunjukkan bagaimana ada spektrum dalam desain komputasi off-chain, dengan rollups tradisional dan coprocessors duduk di kedua ujung spektrum ini. Rollups, Booster Rollups, dan Coprocessors semuanya memberikan akses ke komputasi lebih banyak dan hanya berbeda dalam seberapa banyak keadaan yang mereka pegang terpisah dari L1 dasar mereka.

Dalam sebuah diskusi di Modular Summit, 2023 yang berjudul “Transaksi Terlindungi Adalah Rollups”, Henry De Valence membahas konsep ini secara detail dan menyajikan gambaran yang sangat sederhana untuk mendefinisikan rollup:

Pertemuan tersebut menyatakan bahwa setiap eksekusi yang dipindahkan oleh rantai dasar ke pihak ketiga adalah rollup. Menurut definisinya, coprocessors juga akan menjadi rollups. Ini sedikit berbeda dari pandangan kami yang menggabungkan rollups dan coprocessors di bawah payung komputasi yang dapat diverifikasi di luar rantai tapi sentimen keseluruhannya tetap sama!

Dalam visi Endgame-nya, Vitalik membahas masa depan di mana produksi blok terpusat dan validasi blok tidak dapat dipercaya dan sangat terdesentralisasi. Kami percaya ini adalah model yang cukup tepat untuk memahami apa yang sedang terjadi sekarang. Dalam zk-rollup, produksi blok dan perhitungan transisi status terpusat. Namun, bukti memungkinkan verifikasi menjadi murah dan terdesentralisasi. Demikian pula, sebuah zk-coprocessor tidak memiliki produksi blok; ia hanya mengakses data historis dan menghitung transisi status atas data ini. Perhitungan pada zk-coprocessor kemungkinan selalu dilakukan pada mesin terpusat; namun, bukti keabsahan yang dikembalikan bersama dengan hasil memungkinkan siapa pun untuk memverifikasi hasil sebelum menggunakannya. Mungkin benar untuk mengulang visi Vitalik sebagai: "sebuah masa depan di mana perhitungan terpusat, tetapi verifikasi perhitungan terpusat tidak dapat dipercaya dan sangat terdesentralisasi."

Sama Sama Tapi Berbeda

Meskipun kesamaan keseluruhan mereka, rollups dan koprosesor melayani pasar yang sangat berbeda hari ini. Seseorang mungkin bertanya, "Jika kita hanya bisa menggunakan koprosesor di ETH L1 dan mengakses likuiditasnya, mengapa kita memerlukan rollups?" meskipun ini adalah pertanyaan yang wajar, kami pikir ada beberapa alasan mengapa rollups masih masuk akal (dan menawarkan peluang pasar yang jauh lebih besar daripada koprosesor saat ini):

Seperti yang disebutkan sebelumnya, coprocessors memungkinkan Anda mengakses lebih banyak komputasi dalam transaksi yang sama daripada L1. Tetapi mereka tidak dapat membantu memindahkan jarum pada berapa banyak transaksi yang dapat dilakukan oleh blockchain yang memanggil coprocessor (jika Anda memikirkan tentang batching, voilà, Anda telah tiba di rollup). Dengan mempertahankan status persisten yang dipartisi, rollups dapat meningkatkan jumlah transaksi yang tersedia bagi orang yang ingin mengakses blockspace dengan properti keamanan Ethereum. Hal ini memungkinkan karena rollups hanya mengirimkan ke Ethereum setiap n blok dan tidak memerlukan semua validator Ethereum untuk memverifikasi bahwa transisi status terjadi. Pihak yang berkepentingan hanya perlu mengandalkan bukti tersebut.

Meskipun Anda menggunakan koprosesor, Anda masih harus membayar biaya sebesar urutan yang sama seperti transaksi lainnya di L1. Di sisi lain, rollups melalui pengelompokan dapat mengurangi biaya hingga beberapa urutan.

Selain itu, karena rollups memberikan kemampuan untuk menjalankan transaksi pada status terpisah ini, mereka tetap berperilaku seperti blockchain (blockchain yang lebih cepat, kurang terdesentralisasi, tetapi tetap blockchain), sehingga mereka juga memiliki batasan yang jelas pada seberapa banyak komputasi yang dapat diakses dari rollup itu sendiri. Dalam skenario ini, sebuah koprocesor dapat berguna untuk rollups jika seorang pengguna ingin melakukan transaksi yang sembarang kompleks (dan sekarang Anda melakukan transaksi yang dapat diverifikasi pada rollup, sehingga Anda hanya harus mematuhi hukum fisika rollup).

Titik penting lain yang perlu dicatat di sini adalah bahwa sebagian besar likuiditas saat ini berada di ETH L1, jadi bagi banyak protokol yang mengandalkan likuiditas untuk meningkatkan produk mereka, mungkin bijak untuk tetap meluncurkan di Ethereum mainnet. Aplikasi di Ethereum mainnet dapat mengakses lebih banyak komputasi dengan sesekali melakukan transaksi pada koprosesor. Misalnya, DEX seperti Ambient atau Uniswap v4 dapat menggunakan hooks bersama dengan koprosesor untuk melakukan logika yang rumit tentang bagaimana mengubah biaya atau bahkan memodifikasi bentuk kurva likuiditas berdasarkan data pasar.

Satu analogi menarik membandingkan interaksi antara rollups dan coprocessors dengan pemrograman imperatif dan fungsional. Pemrograman imperatif berfokus pada keadaan yang dapat berubah dan efek samping, menentukan langkah demi langkah cara mengeksekusi tugas. Pemrograman fungsional menekankan pada data yang tidak dapat berubah dan fungsi murni, menghindari perubahan keadaan dan efek samping. Dengan cara yang sama, rollups mirip dengan program imperatif yang mengubah keadaan yang mereka pegang, sementara coprocessors mirip dengan program fungsional di mana mereka tidak mengubah keadaan tetapi menghasilkan hasil beserta bukti perhitungan. Selain itu, sama seperti pemrograman imperatif dan fungsional, rollups dan coprocessors memiliki tempatnya masing-masing dan harus digunakan sesuai.

Sebuah Masa Depan Berbasis Bukti

Jika kita berakhir di dunia di mana komputasi terpusat, tetapi verifikasi komputasi terpusat itu tidak dapat dipercaya dan sangat terdesentralisasi, kemana Ethereum akan berada? Apakah komputer dunia akan berkurang menjadi sekadar database? Apakah ini hal yang buruk?

Pada akhirnya, tujuan Ethereum adalah memberikan akses kepada penggunanya untuk komputasi dan penyimpanan tanpa kepercayaan. Di masa lalu, satu-satunya cara untuk mengakses komputasi tanpa kepercayaan di Ethereum adalah dengan komputasi yang dilakukan dan diverifikasi oleh semua node. Dengan kemajuan teknik pembuktian (terutama bukti pengetahuan nol), kita dapat memindahkan sebagian besar komputasi yang terjadi pada node validator ke komputasi di luar rantai dan hanya meminta validator untuk memverifikasi hasilnya di rantai. Ini pada dasarnya mengubah Ethereum menjadi papan buletin yang tidak dapat diubah di dunia. Bukti komputasi memungkinkan kita untuk memverifikasi bahwa transaksi dilakukan dengan benar, dan dengan mempostingnya ke Ethereum, kita mendapatkan cap waktu dan penyimpanan sejarah yang tidak dapat diubah untuk bukti-bukti tersebut. Ketika bukti pengetahuan nol menjadi lebih efisien dalam komputasi sembarang, kemungkinan besar suatu saat biaya komputasi dalam ZK akan jauh lebih rendah daripada biaya melakukannya di blockchain (bahkan mungkin di rantai CometBFT 100 validator). Dalam dunia seperti itu, sulit untuk membayangkan bahwa bukti ZK tidak akan menjadi mode utama untuk mengakses komputasi tanpa kepercayaan. Pemikiran serupa juga disuarakan oleh David Wong baru-baru ini juga:

Sebuah masa depan di mana setiap perhitungan dapat dibuktikan juga memungkinkan kita untuk membangun infrastruktur untuk jenis aplikasi tanpa kepercayaan yang memiliki permintaan pengguna daripada mencoba memodifikasi lapisan dasar Ethereum untuk menjadi rumah bagi aplikasi-aplikasi tersebut. Dalam kasus ideal, infrastruktur yang disesuaikan akan menciptakan pengalaman pengguna yang lebih mulus dan juga akan berkembang dengan aplikasi-aplikasi yang dibangun di atasnya. Ini akan semoga memungkinkan aplikasi web3 untuk bersaing dengan rekan-rekan web2 mereka dan membawa masuk masa depan tanpa kepercayaan, berbasis bukti yang selalu diimpikan oleh cypherpunks.

Pada akhirnya, kami percaya kami sedang menuju paradigma berikut:

Jangan Percaya, Verifikasi

Penafian:

  1. Artikel ini dicetak ulang dari [Gatecermin]. Semua hak cipta dimiliki oleh penulis asli [Jacob Ko]. Jika ada keberatan terhadap pencetakan ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penolakan Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan saran investasi apa pun.
  3. Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.

Komputasi Off-Chain Adalah Semua yang Anda Butuhkan

Menengah1/4/2024, 5:43:45 PM
Artikel ini memperkenalkan konsep co-processor dan Rollup, serta pemisahan modular perhitungan dan verifikasi blockchain di masa depan.

Pengenalan

Blockchain adalah buku besar yang didistribusikan secara global yang mencapai konsensus atas keadaan global. Beberapa blockchain dilengkapi dengan lingkungan eksekusi Turing-complete yang memungkinkan programabilitas di atas keadaan global ini. Program yang menargetkan lingkungan eksekusi blockchain disebut kontrak pintar, dan blockchain yang mendasarinya disebut platform kontrak pintar. Ethereum, Solana, dan Avalanche adalah beberapa platform kontrak pintar yang paling banyak dikenal. Kita dapat menganggap platform kontrak pintar sebagai komputer terdistribusi, dengan lingkungan eksekusi (atau mesin virtual) bertindak seperti CPU dan negara yang melakukan peran penyimpanan.

Pembingkaian blockchain sebagai komputer akan penting untuk memotivasi mengapa koprosesor/komputasi off-chain tidak terelakkan, terutama dalam konteks blockchain. Dalam komputasi tradisional, koprosesor berasal dari mikroarsitektur untuk meningkatkan kinerja. Demikian pula, koprosesor di Ethereum menjanjikan akses ke data historis dan komputasi offchain yang tinggi kinerjanya untuk memperluas fitur dan ruang desain dari protokol lapisan dasar. Lihat artikel pengantar tentang koprosesor ini untuk informasi lebih lanjut.

Artikel ini mengeksplorasi coprocessors dari prinsip-prinsip pertama, bertujuan untuk menjelaskan pentingnya dan meta-sifat mereka. Kami kemudian membandingkannya dengan rollups, menunjukkan bagaimana kedua konsep ini, meskipun berbeda, saling terkait. Kami juga memberikan contoh kapan rollups dan coprocessors dapat digunakan bersama. Misalnya, bahkan rollup yang sangat kuat atau L1 mungkin memerlukan coprocessor untuk tugas-tugas berat.

Kami menyimpulkan artikel ini dengan mengamati bahwa blockchain bergerak menuju masa depan di mana komputasi terpusat, tetapi verifikasi tetap terdesentralisasi. Rollup, koprosesor, dan bentuk lain dari komputasi off-chain yang dapat diverifikasi hanyalah instantiasi yang berbeda di masa depan ini.

Bagaimana kita sampai di sini:

Dalam “Batasan Skalabilitas Blockchain,” Vitalik menyebutkan bahwa untuk desentralisasi blockchain, penting bagi pengguna reguler untuk dapat menjalankan sebuah node.

Seperti yang disebutkan sebelumnya, Ethereum dapat dikonseptualisasikan sebagai komputer global terdesentralisasi dalam banyak aspek. Ini adalah jaringan node yang menjalankan perangkat lunak yang menyediakan sumber daya komputasi untuk menjalankan kontrak pintar. Blockchain Ethereum menyimpan informasi keadaan dan kode, mirip dengan penyimpanan dan memori komputer. Dan Mesin Virtual Ethereum (EVM) berjalan pada setiap node, memproses transaksi dan menjalankan kode seperti CPU. Namun, Ethereum bersifat tanpa izin dan terdesentralisasi, menggunakan konsensus antara node-node yang tidak terpercaya. Jika beberapa node offline, jaringan tetap beroperasi. Untuk memastikan kebenaran operasi EVM, validator pada jaringan Proof-of-Stake (PoS) seperti Ethereum harus melakukan semua transisi keadaan untuk memverifikasinya. Hal ini membatasi kecepatan jaringan PoS menjadi node-node terlambatnya, membatasi jumlah komputasi yang tersedia bagi pengembang aplikasi.

Tidak seperti komputer biasa, Ethereum membatasi komputasi dan penyimpanan untuk mencegah penyalahgunaan jaringan. Biaya dibebankan untuk setiap operasi, membuat loop tak berujung menjadi tidak praktis secara finansial. Pendekatan ini menjaga hambatan masuk tetap rendah, memungkinkan hardware sehari-hari seperti Raspberry Pi untuk menjalankan node jaringan. Kendala-kendala ini memungkinkan sistem inklusif di mana siapa pun dapat membantu mengoperasikan jaringan Ethereum terdesentralisasi.

Karena pembatasan komputasi dari node Ethereum, aplikasi kompleks seperti model Pembelajaran Mesin, permainan, atau aplikasi komputasi ilmiah tidak bisa dijalankan secara layak langsung pada Ethereum saat ini.

Ini adalah sebuah pertukaran untuk menjadikan Ethereum mudah diakses, aman, dan berkelanjutan sebagai dasar untuk aplikasi dasar. Tetapi tak terelakkan, beberapa keterbatasan ada jika dibandingkan dengan komputer yang tak terbatas secara komputasi. Ini memiliki keterbatasan jika dibandingkan bahkan dengan prosesor kuno seperti Pentium 5:

Tidak ada matematika titik mengambang yang kompleks - EVM hanya mendukung operasi matematika dasar dan logis. Komputasi numerik canggih seperti jaringan saraf tidak memungkinkan. (Fakta menarik adalah ketidakmampuan menangani titik mengambang juga membuat pertukaran aset rebase seperti Ampleforth, dll, lebih sulit dalam sejarah baru-baru ini dan terkadang bahkan tidak kompatibel dengan beberapa DEXs).

Komputasi terbatas per blok - Biaya Gas mengukur komputasi, jadi perangkat lunak kompleks seperti game akan sangat mahal. Batas gas per blok adalah 30M gas.

Pengingatan memori - Kontrak pintar memiliki batasan penyimpanan permanen yang kecil, sehingga membuat program-program besar sulit.

Tidak ada penyimpanan file persisten - Tidak ada cara untuk menyimpan file seperti grafik, audio, atau video di blockchain.

Kecepatan lambat - Kecepatan transaksi di Ethereum saat ini sekitar ~15 TPS, jauh lebih lambat dari sebuah CPU.

Pada akhirnya, penyimpanan dan komputasi terbatas membatasi derajat kebebasan yang tersedia untuk aplikasi (batasan ini berbeda dari blockchain ke blockchain, tetapi selalu ada). Orang-orang telah membandingkan blockchain dengan lingkungan komputasi yang terbatas pada tahun 1970-an hingga 1980-an, tetapi kami berpikir ada beberapa perbedaan besar antara keduanya:

Pertumbuhan komputasi pada tahun 1970-an hingga 1980-an berlangsung cepat (dengan jumlah transistor dalam mikroprosesor meningkat dari ~1.000 menjadi ~1.000.000 selama periode tersebut). Namun pertumbuhan ini tidak berarti orang sering membeli atau memperbarui komputer mereka. Karena platform kontrak pintar terbatas oleh node-node terlambatnya, percepatan di garis depan komputer tidak akan selalu mengakibatkan blockchain melihat peningkatan proporsional dalam kecepatan komputasinya. Percepatan hanya dapat terjadi jika persyaratan dasar untuk node-node pada blockchain diperbarui.

Terdapat pula pertukaran yang jelas antara terus-menerus memperbarui persyaratan minimum perangkat keras untuk node dan desentralisasi. Para penambang tunggal mungkin tidak ingin mengupgrade perangkat keras setiap beberapa tahun (dan mereka tentu tidak ingin memantau kinerja setiap hari), yang mengakibatkan hanya para profesional yang ingin menjalankan infrastruktur blockchain.

Semua ini adalah untuk mengatakan bahwa, selama bertahun-tahun, CPU membaik, dan kita mendapatkan lebih banyak inti CPU pada setiap perangkat untuk memungkinkan kita melakukan tugas-tugas yang semakin rumit. Jika kita berpikir komputer blockchain tidak akan mempercepat secepat komputasi tradisional (karena persyaratan node dasar), maka masuk akal untuk mencoba menemukan sumber komputasi alternatif. Sebuah analogi menarik untuk ditarik di sini adalah bahwa CPU dalam komputasi tradisional tidak bagus dalam tugas pemrosesan grafis, yang mengarah ke munculnya GPU dalam hampir setiap komputer. Demikian pula, karena blockchain berfokus pada menjadi penyimpanan keamanan status dengan baterai komputasi sederhana yang diaktifkan, ada peluang yang jelas bagi komputasi di luar rantai untuk memperluas ruang desain aplikasi. Saat ini, blockchain hanya masuk akal untuk aplikasi komputasi rendah yang menginginkan properti seperti akses terbuka, kedaulatan diri, ketahanan sensor, dan komposabilitas. Untuk menempatkan berbagai aplikasi lebih banyak di rantai, kita perlu mengangkat kendala yang kita letakkan pada pengembang aplikasi. Kami mengatakan ini dengan pemahaman bahwa kendala-kendala ini juga telah menjadi berkah bagi eksperimen. Sebagai contoh, CLOBs tidak dapat berjalan secara efektif di Ethereum karena kendala komputasi, jadi AMM diadopsi, yang sejak itu mencatat triliun dolar dalam volume.

Ada dua pendekatan umum untuk membuat lebih banyak komputasi tersedia untuk aplikasi blockchain:

Meningkatkan persyaratan node dasar relatif sering. Ini kurang lebih merupakan jalur terintegrasi tinggi kinerja blockchain seperti Solana dan Sui ambil. Baseline tinggi untuk node membuatnya memungkinkan bagi mereka untuk membangun blockchain yang sangat cepat dan juga menghilangkan beberapa batasan desain dari desain aplikasi. Phoenix, DEX Limit Order Book di Solana, tidak bisa dibangun di Ethereum (atau L2 mana pun) saat ini. Sisi lain dari peningkatan persyaratan dasar adalah jika mereka terus tumbuh, maka menjalankan node mungkin hanya layak bagi penyedia infrastruktur profesional. Persyaratan RAM historis melakukan pekerjaan yang cukup baik dalam memperlihatkan bagaimana persyaratan hardware telah tumbuh secara konsisten di Solana:

Arsip Web (Catatan: kami menggunakan kebutuhan RAM median dari tahun 2020)

Memindahkan komputasi off-chain ke pihak ketiga. Ini telah menjadi strategi yang diadopsi oleh ekosistem Ethereum. Pihak ketiga ini bisa saja menjadi blockchain itu sendiri (dalam kasus rollups), perangkat komputasi verifiable off-chain (misalnya, coprocessors), atau pihak ketiga yang terpercaya (seperti dalam kasus komputasi off-chain khusus aplikasi seperti orderbook dydx).

Menuju Persatuan Komputasi Off-Chain

Baru-baru ini, telah ada peningkatan pembicaraan tentang koprosesor, yang menyediakan komputasi yang dapat diverifikasi di luar rantai. Koprosesor dapat diimplementasikan dengan berbagai cara, termasuk namun tidak terbatas pada Bukti Tanpa Pengetahuan atau Lingkungan Eksekusi Terpercaya (TEEs). Beberapa contohnya adalah:

Koprocesor ZK: Axiom, Bonsai Risc Zero.

TEEs: Oyster Marlin milik Gate,

Secara bersamaan, ketika datang untuk membongkar komputasi, peta jalan rollup-centric Ethereum membongkar komputasi ke berbagai rollup yang menetap di Ethereum. Selama beberapa tahun terakhir, aliran pengembang dan pengguna yang stabil telah bermigrasi ke rollup karena kombinasi transaksi dan insentif yang lebih murah dan lebih cepat yang disediakan oleh rollup. Dalam dunia yang ideal, rollup memungkinkan Ethereum untuk menskalakan kapasitas komputasi keseluruhannya melalui eksekusi off-chain tanpa menambahkan asumsi kepercayaan. Lebih banyak komputasi tidak hanya mengacu pada mengeksekusi lebih banyak transaksi tetapi juga untuk melakukan perhitungan yang lebih ekspresif per transaksi. Jenis transaksi baru memperluas ruang desain yang tersedia untuk aplikasi, dan throughput yang lebih tinggi mengurangi biaya melakukan transaksi ekspresif ini, memastikan akses yang terjangkau ke kelas aplikasi yang lebih tinggi.

Sebelum kita melangkah lebih jauh, mari kita secara singkat mendefinisikan baik rollups maupun coprocessors untuk mencegah kebingungan:

Rollups: Rollups mempertahankan keadaan yang persisten dan terbagi berbeda dari rantai dasar/tuan mereka tetapi masih mewarisi sifat keamanan dari rantai dasar mereka dengan memposting data/bukti kepadanya. Dengan memindahkan keadaan dari rantai tuan, rollups dapat menggunakan komputasi tambahan untuk melakukan transisi keadaan sebelum memposting bukti integritas dari transisi keadaan ini ke tuan. Rollups paling berguna bagi pengguna yang tidak ingin membayar biaya tinggi dari Ethereum tetapi ingin mengakses sifat keamanan dari Ethereum.

Sebelum masuk ke coprocessors, mari berikan beberapa latar belakang lebih lanjut tentang seberapa terbatasnya pengembangan kontrak pintar di Ethereum saat ini. Ethereum memiliki penyimpanan status persisten dalam status globalnya - saldo akun, data kontrak, dll. Data ini persisten di blockchain untuk waktu yang tidak terbatas. Namun, ada batasan:

Ukuran maksimum data kontrak terbatas (mis., 24KB per kontrak saat ini dan diatur dalam EIP 170). Menyimpan file besar akan melebihi batas ini. (*Tidak dapat diselesaikan oleh coprocessors juga)

Membaca/menulis penyimpanan kontrak lebih lambat daripada sistem file atau basis data. Mengakses 1KB data bisa menghabiskan jutaan gas.

Sementara keadaan global masih berlangsung, node individu hanya menyimpan keadaan terbaru secara lokal dalam mode “pruning”. Sejarah keadaan lengkap memerlukan node arsip.

Tidak ada primitif sistem file asli untuk menangani file seperti gambar, audio, dan dokumen. Kontrak pintar hanya dapat membaca/menulis tipe data dasar ke penyimpanan.

Solutions around this are:

File-file besar dapat dibagi menjadi bagian-bagian kecil agar sesuai dengan batas penyimpanan kontrak.

Referensi file dapat disimpan on-chain, dengan file disimpan off-chain di sistem seperti IPFS.

Coprocessors: Coprocessors tidak menyimpan keadaan mereka sendiri; mereka berperilaku seperti fungsi lambda di AWS, di mana aplikasi dapat mengirimkan tugas komputasi kepada mereka, dan mereka mengirimkan kembali hasil dengan bukti komputasi. Coprocessors secara mendasar meningkatkan seberapa banyak komputasi yang tersedia untuk setiap transaksi tertentu, tetapi karena pembuktian pada coprocessors juga terjadi secara per transaksi, penggunaannya akan lebih mahal daripada rollups. Mengingat biayanya, coprocessors kemungkinan akan berguna bagi protokol atau pengguna yang ingin melakukan tugas-tugas satu kali kompleks secara verifikasi. Manfaat lain dari coprocessors adalah bahwa mereka memungkinkan aplikasi yang menggunakan komputasi off-chain juga mengakses keadaan historis penuh dari Ethereum tanpa menambahkan asumsi kepercayaan apa pun ke aplikasi itu sendiri; hal ini tidak mungkin dilakukan pada kontrak pintar vanila saat ini.

Untuk menjelaskan perbedaan antara rollups dan koprosesor, mari kita merujuk pada varian ZK dari kedua primitif ini. Rollups ZK mengakses baik verifikasi maupun aspek kompresi dari bukti pengetahuan nol, memungkinkan mereka secara fundamental meningkatkan throughput untuk ekosistem mereka. Di sisi lain, koprosesor hanya mengakses properti verifikasi dari bukti zk, artinya throughput keseluruhan sistem tetap sama. Selain itu, rollups ZK memerlukan sirkuit yang dapat membuktikan program apa pun yang ditargetkan pada mesin virtual untuk rollup tersebut (misalnya, rollups pada Ethereum memiliki zkEVMs yang dibangun untuk kontrak yang ditargetkan pada EVM). Sebaliknya, koprosesor ZK hanya perlu membangun sirkuit untuk tugas yang mereka daftarkan untuk dilakukan.

Jadi, sepertinya dua perbedaan terbesar antara rollups dan coprocessors adalah:

Rollups mempertahankan status persisten yang dipartisi, dan coprocessors tidak (mereka menggunakan status dari rantai host).

Rollups (sebagaimana namanya menunjukkan) mengelompokkan beberapa transaksi bersama, dan coprocessors umumnya digunakan untuk tugas-tugas yang rumit sebagai bagian dari satu transaksi (setidaknya dalam paradigma saat ini).

Baru-baru ini, Booster Rollups telah diusulkan, yang menjalankan transaksi seolah-olah mereka berjalan langsung pada rantai host, dengan akses ke seluruh keadaan host. Namun, Booster Rollups juga memiliki penyimpanan mereka sendiri, memungkinkan mereka untuk mengukur komputasi dan penyimpanan di seluruh host dan rollup. Usulan Booster Rollup menunjukkan bagaimana ada spektrum dalam desain komputasi off-chain, dengan rollups tradisional dan coprocessors duduk di kedua ujung spektrum ini. Rollups, Booster Rollups, dan Coprocessors semuanya memberikan akses ke komputasi lebih banyak dan hanya berbeda dalam seberapa banyak keadaan yang mereka pegang terpisah dari L1 dasar mereka.

Dalam sebuah diskusi di Modular Summit, 2023 yang berjudul “Transaksi Terlindungi Adalah Rollups”, Henry De Valence membahas konsep ini secara detail dan menyajikan gambaran yang sangat sederhana untuk mendefinisikan rollup:

Pertemuan tersebut menyatakan bahwa setiap eksekusi yang dipindahkan oleh rantai dasar ke pihak ketiga adalah rollup. Menurut definisinya, coprocessors juga akan menjadi rollups. Ini sedikit berbeda dari pandangan kami yang menggabungkan rollups dan coprocessors di bawah payung komputasi yang dapat diverifikasi di luar rantai tapi sentimen keseluruhannya tetap sama!

Dalam visi Endgame-nya, Vitalik membahas masa depan di mana produksi blok terpusat dan validasi blok tidak dapat dipercaya dan sangat terdesentralisasi. Kami percaya ini adalah model yang cukup tepat untuk memahami apa yang sedang terjadi sekarang. Dalam zk-rollup, produksi blok dan perhitungan transisi status terpusat. Namun, bukti memungkinkan verifikasi menjadi murah dan terdesentralisasi. Demikian pula, sebuah zk-coprocessor tidak memiliki produksi blok; ia hanya mengakses data historis dan menghitung transisi status atas data ini. Perhitungan pada zk-coprocessor kemungkinan selalu dilakukan pada mesin terpusat; namun, bukti keabsahan yang dikembalikan bersama dengan hasil memungkinkan siapa pun untuk memverifikasi hasil sebelum menggunakannya. Mungkin benar untuk mengulang visi Vitalik sebagai: "sebuah masa depan di mana perhitungan terpusat, tetapi verifikasi perhitungan terpusat tidak dapat dipercaya dan sangat terdesentralisasi."

Sama Sama Tapi Berbeda

Meskipun kesamaan keseluruhan mereka, rollups dan koprosesor melayani pasar yang sangat berbeda hari ini. Seseorang mungkin bertanya, "Jika kita hanya bisa menggunakan koprosesor di ETH L1 dan mengakses likuiditasnya, mengapa kita memerlukan rollups?" meskipun ini adalah pertanyaan yang wajar, kami pikir ada beberapa alasan mengapa rollups masih masuk akal (dan menawarkan peluang pasar yang jauh lebih besar daripada koprosesor saat ini):

Seperti yang disebutkan sebelumnya, coprocessors memungkinkan Anda mengakses lebih banyak komputasi dalam transaksi yang sama daripada L1. Tetapi mereka tidak dapat membantu memindahkan jarum pada berapa banyak transaksi yang dapat dilakukan oleh blockchain yang memanggil coprocessor (jika Anda memikirkan tentang batching, voilà, Anda telah tiba di rollup). Dengan mempertahankan status persisten yang dipartisi, rollups dapat meningkatkan jumlah transaksi yang tersedia bagi orang yang ingin mengakses blockspace dengan properti keamanan Ethereum. Hal ini memungkinkan karena rollups hanya mengirimkan ke Ethereum setiap n blok dan tidak memerlukan semua validator Ethereum untuk memverifikasi bahwa transisi status terjadi. Pihak yang berkepentingan hanya perlu mengandalkan bukti tersebut.

Meskipun Anda menggunakan koprosesor, Anda masih harus membayar biaya sebesar urutan yang sama seperti transaksi lainnya di L1. Di sisi lain, rollups melalui pengelompokan dapat mengurangi biaya hingga beberapa urutan.

Selain itu, karena rollups memberikan kemampuan untuk menjalankan transaksi pada status terpisah ini, mereka tetap berperilaku seperti blockchain (blockchain yang lebih cepat, kurang terdesentralisasi, tetapi tetap blockchain), sehingga mereka juga memiliki batasan yang jelas pada seberapa banyak komputasi yang dapat diakses dari rollup itu sendiri. Dalam skenario ini, sebuah koprocesor dapat berguna untuk rollups jika seorang pengguna ingin melakukan transaksi yang sembarang kompleks (dan sekarang Anda melakukan transaksi yang dapat diverifikasi pada rollup, sehingga Anda hanya harus mematuhi hukum fisika rollup).

Titik penting lain yang perlu dicatat di sini adalah bahwa sebagian besar likuiditas saat ini berada di ETH L1, jadi bagi banyak protokol yang mengandalkan likuiditas untuk meningkatkan produk mereka, mungkin bijak untuk tetap meluncurkan di Ethereum mainnet. Aplikasi di Ethereum mainnet dapat mengakses lebih banyak komputasi dengan sesekali melakukan transaksi pada koprosesor. Misalnya, DEX seperti Ambient atau Uniswap v4 dapat menggunakan hooks bersama dengan koprosesor untuk melakukan logika yang rumit tentang bagaimana mengubah biaya atau bahkan memodifikasi bentuk kurva likuiditas berdasarkan data pasar.

Satu analogi menarik membandingkan interaksi antara rollups dan coprocessors dengan pemrograman imperatif dan fungsional. Pemrograman imperatif berfokus pada keadaan yang dapat berubah dan efek samping, menentukan langkah demi langkah cara mengeksekusi tugas. Pemrograman fungsional menekankan pada data yang tidak dapat berubah dan fungsi murni, menghindari perubahan keadaan dan efek samping. Dengan cara yang sama, rollups mirip dengan program imperatif yang mengubah keadaan yang mereka pegang, sementara coprocessors mirip dengan program fungsional di mana mereka tidak mengubah keadaan tetapi menghasilkan hasil beserta bukti perhitungan. Selain itu, sama seperti pemrograman imperatif dan fungsional, rollups dan coprocessors memiliki tempatnya masing-masing dan harus digunakan sesuai.

Sebuah Masa Depan Berbasis Bukti

Jika kita berakhir di dunia di mana komputasi terpusat, tetapi verifikasi komputasi terpusat itu tidak dapat dipercaya dan sangat terdesentralisasi, kemana Ethereum akan berada? Apakah komputer dunia akan berkurang menjadi sekadar database? Apakah ini hal yang buruk?

Pada akhirnya, tujuan Ethereum adalah memberikan akses kepada penggunanya untuk komputasi dan penyimpanan tanpa kepercayaan. Di masa lalu, satu-satunya cara untuk mengakses komputasi tanpa kepercayaan di Ethereum adalah dengan komputasi yang dilakukan dan diverifikasi oleh semua node. Dengan kemajuan teknik pembuktian (terutama bukti pengetahuan nol), kita dapat memindahkan sebagian besar komputasi yang terjadi pada node validator ke komputasi di luar rantai dan hanya meminta validator untuk memverifikasi hasilnya di rantai. Ini pada dasarnya mengubah Ethereum menjadi papan buletin yang tidak dapat diubah di dunia. Bukti komputasi memungkinkan kita untuk memverifikasi bahwa transaksi dilakukan dengan benar, dan dengan mempostingnya ke Ethereum, kita mendapatkan cap waktu dan penyimpanan sejarah yang tidak dapat diubah untuk bukti-bukti tersebut. Ketika bukti pengetahuan nol menjadi lebih efisien dalam komputasi sembarang, kemungkinan besar suatu saat biaya komputasi dalam ZK akan jauh lebih rendah daripada biaya melakukannya di blockchain (bahkan mungkin di rantai CometBFT 100 validator). Dalam dunia seperti itu, sulit untuk membayangkan bahwa bukti ZK tidak akan menjadi mode utama untuk mengakses komputasi tanpa kepercayaan. Pemikiran serupa juga disuarakan oleh David Wong baru-baru ini juga:

Sebuah masa depan di mana setiap perhitungan dapat dibuktikan juga memungkinkan kita untuk membangun infrastruktur untuk jenis aplikasi tanpa kepercayaan yang memiliki permintaan pengguna daripada mencoba memodifikasi lapisan dasar Ethereum untuk menjadi rumah bagi aplikasi-aplikasi tersebut. Dalam kasus ideal, infrastruktur yang disesuaikan akan menciptakan pengalaman pengguna yang lebih mulus dan juga akan berkembang dengan aplikasi-aplikasi yang dibangun di atasnya. Ini akan semoga memungkinkan aplikasi web3 untuk bersaing dengan rekan-rekan web2 mereka dan membawa masuk masa depan tanpa kepercayaan, berbasis bukti yang selalu diimpikan oleh cypherpunks.

Pada akhirnya, kami percaya kami sedang menuju paradigma berikut:

Jangan Percaya, Verifikasi

Penafian:

  1. Artikel ini dicetak ulang dari [Gatecermin]. Semua hak cipta dimiliki oleh penulis asli [Jacob Ko]. Jika ada keberatan terhadap pencetakan ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penolakan Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan saran investasi apa pun.
  3. Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.
ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!