Apa Itu State Machine dalam Kripto?
State machine adalah sistem yang berpindah dari satu state valid ke state valid lainnya ketika menerima input dan menerapkan seperangkat aturan tetap.Dalam mata uang kripto, state machine adalah model inti yang menjelaskan cara blockchain memperbarui saldo, akun, smart contract, UTXO, catatan validator, dan data on-chain lainnya.State adalah kondisi blockchain saat ini.Input biasanya berupa transaksi, blok, pesan, atau pemanggilan smart contract.Fungsi transisi adalah logika protokol yang menentukan apakah input valid dan bagaimana state harus berubah.Jika input valid yang sama diterapkan pada state awal yang sama, setiap node jujur seharusnya mencapai state akhir yang sama.Perilaku deterministik inilah yang memungkinkan ribuan komputer independen menyepakati satu blockchain bersama tanpa memercayai database terpusat.Whitepaper Ethereum resmi menjelaskan bahwa state Ethereum terdiri dari akun dan transisi state berupa transfer nilai serta informasi antarakun.
Sederhananya, state machine blockchain adalah mesin aturan yang mengubah data blockchain lama ditambah transaksi baru menjadi state blockchain baru.Mengapa State Machine Penting dalam Blockchain
State machine penting karena blockchain adalah sistem bersama yang harus menghasilkan hasil sama pada banyak komputer berbeda.Blockchain tidak dapat mengandalkan server satu perusahaan untuk menentukan saldo atau nilai kontrak yang benar.Sebaliknya, jaringan memerlukan aturan yang dapat dijalankan setiap node secara mandiri.Saat blok diusulkan, node memverifikasi transaksi dalam blok tersebut dan menerapkan aturan protokol.Jika transaksi dalam blok menghasilkan state baru yang valid, blok dapat diterima.Jika transaksi melanggar aturan, node jujur menolak blok tersebut.Beginilah blockchain menjaga integritas meskipun banyak peserta tidak saling mengenal atau memercayai.State machine juga membantu pengguna memahami mengapa riwayat blockchain saja tidak cukup.Transaksi mencatat apa yang coba dilakukan pengguna, tetapi state machine menentukan apa yang benar-benar diubah oleh transaksi tersebut.Hasil akhirnya adalah state baru yang dapat direproduksi oleh setiap node jujur.State, Input, dan Fungsi Transisi
Setiap state machine blockchain memiliki tiga bagian dasar: state, input, dan fungsi transisi.State adalah kumpulan data saat ini yang diperlukan blockchain untuk memproses tindakan baru.Dalam blockchain berbasis akun, state dapat mencakup saldo akun, nonce, kode kontrak, dan penyimpanan kontrak.Dalam blockchain berbasis UTXO, state dapat mencakup kumpulan output transaksi belum terpakai yang masih dapat dibelanjakan.Input adalah tindakan baru yang dikirimkan ke sistem.Dalam sebagian besar jaringan kripto, input yang paling umum adalah transaksi bertanda tangan.Fungsi transisi adalah seperangkat aturan yang memeriksa input dan memperbarui state.Misalnya, transaksi mungkin hanya valid jika signature benar, pengirim memiliki saldo cukup, nonce benar, dan biaya dibayar.Jika semua aturan terpenuhi, state machine menerapkan transaksi dan membuat state baru.Jika salah satu aturan yang diwajibkan gagal, transisi state ditolak atau transaksi gagal sesuai aturan protokol.Blockchain sebagai Replicated State Machine
Blockchain sering digambarkan sebagai replicated state machine karena banyak node memelihara salinan state yang sama dan menerapkan transaksi yang sama dalam urutan yang sama.Replikasi berarti banyak komputer menyimpan dan memperbarui sistem, bukan satu server pusat.State machine berarti komputer-komputer tersebut mengikuti aturan transisi deterministik yang sama.Urutan transaksi penting karena menerapkan transaksi yang sama dalam urutan berbeda dapat menghasilkan hasil berbeda.Mekanisme konsensus membantu jaringan menyepakati urutan blok dan transaksi.Setelah urutan disepakati, setiap node dapat mengeksekusi transaksi dan menghitung state baru.Dokumentasi CometBFT resmi menjelaskan CometBFT sebagai perangkat lunak yang melakukan replikasi state machine Byzantine Fault Tolerant untuk finite state machine deterministik.
Deskripsi ini menangkap gagasan umum di balik banyak sistem blockchain.Konsensus menyepakati input yang terurut, sedangkan state machine menerapkan input tersebut untuk menghasilkan state berikutnya.Blockchain hanya berfungsi jika kedua bagian tersebut benar.Determinisme dalam State Machine Kripto
Determinisme berarti input yang sama yang diterapkan pada state sama selalu menghasilkan output yang sama.State machine kripto harus deterministik karena node independen perlu mencapai hasil yang sama.Jika satu node menghitung hasil berbeda dari node jujur lain, jaringan dapat terpecah atau menolak blok.Inilah sebabnya smart contract tidak dapat bergantung pada angka acak biasa dari komputer lokal.Ini juga alasan blockchain menetapkan aturan tepat untuk perhitungan gas, signature, aritmetika, pembaruan penyimpanan, dan urutan transaksi.Bahkan perbedaan kecil dalam eksekusi dapat berbahaya jika mengubah state root akhir atau hasil ledger.Determinisme sangat penting bagi platform smart contract karena kode kontrak dapat menangani nilai yang besar.Fungsi kontrak harus menghasilkan hasil yang sama bagi setiap validator yang mengeksekusinya dalam kondisi sama.Hal ini menjadikan pemrograman blockchain lebih ketat daripada pemrograman web biasa.State machine hanya dapat diandalkan ketika aturan transisinya dapat diprediksi dan direproduksi.Ethereum sebagai State Machine
Ethereum adalah salah satu contoh paling jelas dari state machine blockchain.Whitepaper Ethereum menjelaskan Ethereum memiliki state yang terdiri dari akun, dengan setiap akun berisi nonce, saldo, kode kontrak, dan penyimpanan.Transaksi memicu transisi state dengan memindahkan nilai, membuat kontrak, memanggil kontrak, atau mengubah penyimpanan kontrak.Ethereum Virtual Machine, atau EVM, adalah lingkungan eksekusi yang memproses kode smart contract.Dokumentasi resmi Ethereum EVM menjelaskan EVM sebagai lingkungan virtual terdesentralisasi yang mengeksekusi kode secara konsisten dan aman di seluruh node Ethereum.
Artinya, EVM merupakan bagian dari mekanisme transisi state Ethereum.Saat transaksi memanggil smart contract, EVM mengeksekusi instruksi kontrak dan menghitung perubahan state yang dihasilkan.Perubahan tersebut dapat mencakup pembaruan saldo, penulisan penyimpanan, log, pembuatan kontrak, dan konsumsi gas.Jika setiap node mengeksekusi transaksi yang sama dari state awal yang sama, setiap node jujur seharusnya mencapai state akhir yang sama.Inilah alasan Ethereum dapat mendukung aplikasi yang dapat diprogram tanpa bergantung pada server aplikasi pusat.World State Ethereum
World state Ethereum adalah state global saat ini dari seluruh akun Ethereum.World state mencakup akun yang dimiliki secara eksternal dan dikendalikan oleh private key, serta akun kontrak yang dikendalikan oleh kode.Dokumentasi resmi Ethereum Merkle Patricia Trie menjelaskan bahwa Ethereum memiliki satu state trie global yang diperbarui setiap kali klien memproses blok.
State trie ini menghasilkan state root yang mengomitmenkan world state saat ini.State root disimpan dalam block header.Jika satu saldo akun atau nilai penyimpanan kontrak berubah, state root yang dihasilkan seharusnya berubah.Hal ini memberikan Ethereum sidik jari kriptografis ringkas dari seluruh state setelah setiap blok.State machine memperbarui world state, dan state root memungkinkan node memverifikasi bahwa mereka menyepakati hasilnya.Desain ini menghubungkan eksekusi, penyimpanan, dan konsensus.Tanpa world state bersama, smart contract Ethereum tidak akan memiliki lingkungan umum untuk dibaca dan ditulis.Bitcoin sebagai State Machine
Bitcoin juga merupakan state machine, tetapi menggunakan model state yang berbeda dari Ethereum.Bitcoin tidak menggunakan sistem akun global seperti Ethereum.Sebaliknya, Bitcoin menggunakan model UTXO, ketika state yang dapat dibelanjakan saat ini adalah kumpulan output transaksi yang belum dibelanjakan.Panduan developer Bitcoin tentang transaksi resmi menjelaskan bahwa transaksi membelanjakan output transaksi yang belum terpakai dan membuat output baru.
Transaksi Bitcoin hanya valid jika membelanjakan UTXO yang ada dan belum pernah dibelanjakan.Saat transaksi valid diterima, UTXO yang dikonsumsi dihapus dari kumpulan yang dapat dibelanjakan.Output baru yang dibuat oleh transaksi menjadi UTXO baru.Artinya, fungsi transisi state Bitcoin memperbarui kumpulan UTXO.State machine Bitcoin kurang umum dibandingkan model smart contract Ethereum, tetapi tetap merupakan sistem deterministik untuk memperbarui state kepemilikan.Gagasan utamanya sama: transaksi valid memindahkan sistem dari satu state valid ke state berikutnya.Model Akun vs. State Machine UTXO
Model akun dan model UTXO adalah dua cara berbeda untuk merancang state machine blockchain.Dalam model akun, state berisi akun dan saldo.Transaksi dari satu pengguna ke pengguna lain biasanya mengurangi saldo pengirim dan menambah saldo penerima.Platform smart contract sering menggunakan desain berbasis akun karena kontrak memerlukan penyimpanan persisten dan pembaruan state langsung.Dalam model UTXO, state berisi output yang belum dibelanjakan, bukan saldo akun.Transaksi mengonsumsi output lama dan membuat output baru.Wallet mungkin menampilkan saldo sederhana, tetapi saldo itu biasanya dihitung dari output pengguna yang dapat dibelanjakan.Model akun dapat terasa lebih intuitif bagi developer aplikasi.Model UTXO dapat membuat beberapa bentuk validasi paralel dan pelacakan koin lebih alami.Kedua model tersebut adalah state machine karena keduanya menentukan state valid dan transisi state valid.Smart Contract dan State Machine
Smart contract adalah program yang berjalan di dalam state machine blockchain.Smart contract dapat menyimpan data, menerapkan aturan, menerima aset, mengirim aset, dan berinteraksi dengan kontrak lain.Saat pengguna memanggil smart contract, blockchain tidak sekadar mencatat pesan.Jaringan mengeksekusi kode kontrak dan memperbarui state sesuai hasilnya.Misalnya, kontrak transfer token dapat mengurangi saldo token satu pengguna dan menambah saldo token pengguna lain dalam penyimpanan kontrak.Kontrak pinjaman dapat memperbarui saldo jaminan, saldo utang, indeks bunga, dan state likuidasi.Kontrak decentralized exchange dapat memperbarui cadangan liquidity pool dan posisi pengguna.Semua tindakan ini adalah transisi state.Karena smart contract dapat menyimpan nilai nyata, logika transisi state harus deterministik, aman, dan diuji dengan cermat.Bug dalam aturan transisi state kontrak dapat menyebabkan dana hilang atau perilaku aplikasi yang rusak.State Machine dan Konsensus
State machine tidak sama dengan mekanisme konsensus.State machine menentukan cara state berubah ketika transaksi diterapkan.Konsensus menentukan cara jaringan menyepakati transaksi dan blok mana yang harus diterapkan.Blockchain memerlukan keduanya.Jika jaringan memiliki state machine valid tetapi tidak memiliki konsensus, node dapat menerapkan urutan transaksi berbeda dan mencapai state berbeda.Jika jaringan memiliki konsensus tetapi state machine yang cacat, node dapat menyepakati blok yang menghasilkan hasil tidak aman atau salah.Konsensus memilih aliran input yang terurut.State machine mengeksekusi aliran input tersebut.State akhir hanya benar apabila aturan pengurutan dan aturan eksekusi sama-sama benar.Perbedaan ini membantu pengguna memahami mengapa blockchain memiliki aturan validator dan aturan eksekusi.Fungsi Transisi State
Fungsi transisi state adalah aturan formal yang memetakan state lama dan input ke state baru.Dalam notasi sederhana, fungsi ini dapat dijelaskan sebagai state baru sama dengan fungsi transisi yang diterapkan pada state lama dan transaksi.Dalam jaringan kripto, fungsi ini memeriksa signature, saldo, nonce, biaya, gas limit, kode kontrak, dan aturan khusus protokol.Jika input valid, fungsi menghasilkan state baru yang valid.Jika input tidak valid, fungsi menolaknya atau menandai eksekusi sebagai gagal sesuai aturan jaringan.Fungsi transisi state Ethereum dapat mencakup eksekusi EVM, perhitungan gas, pembaruan penyimpanan, dan log event.Fungsi transisi state Bitcoin memeriksa bahwa input membelanjakan UTXO valid dan output mematuhi aturan script serta nilai.Blockchain lain dapat mendefinisikan transisi state melalui modul, pallet, objek Move, resource, atau logika khusus aplikasi.Fungsi transisi adalah inti state machine.Fungsi inilah yang memungkinkan blockchain bergerak maju tanpa operator manusia memperbarui saldo secara manual.State Machine Replication
State machine replication adalah proses menjalankan state machine deterministik yang sama pada banyak mesin agar tetap tersinkronisasi.Dalam sistem blockchain, ini berarti banyak node memproses transaksi terurut yang sama dan menghitung hasil yang sama.Model ini berguna karena memberikan toleransi terhadap kegagalan.Jika satu node offline, node lain tetap menyimpan dan memperbarui state.Jika satu node berbohong, node lain dapat menolak hasil tidak valid.Jika pengguna ingin memverifikasi sistem, pengguna dapat menjalankan node dan memeriksa sendiri transisi state.CometBFT adalah contoh kuat dari gagasan ini karena dokumentasinya secara eksplisit menjelaskan replikasi state machine BFT untuk finite state machine deterministik.Banyak desain appchain dan blockchain modular memisahkan konsensus dari logika aplikasi menggunakan gagasan ini.Layer konsensus mengurutkan transaksi, sedangkan state machine aplikasi menentukan arti transaksi tersebut.Pemisahan ini memungkinkan developer membangun aplikasi blockchain khusus sambil mengandalkan mesin konsensus untuk replikasi.State Machine Khusus Aplikasi
Blockchain khusus aplikasi adalah blockchain yang dibangun untuk aplikasi atau kasus penggunaan tertentu.Dalam desain ini, state machine blockchain dapat disesuaikan berdasarkan aturan aplikasi.Chain pembayaran dapat menentukan saldo dan transfer sederhana.Chain decentralized exchange dapat menentukan order book, liquidity pool, dan aturan pencocokan.Chain game dapat menentukan pemain, item, pertandingan, dan reward.Chain governance dapat menentukan proposal, voting, delegasi, dan aturan treasury.Ini berbeda dari platform smart contract serbaguna, tempat banyak aplikasi berbagi satu lingkungan eksekusi.State machine khusus aplikasi dapat lebih efisien karena tidak perlu mendukung setiap kasus penggunaan yang mungkin.State machine ini juga dapat lebih mudah dianalisis karena aturannya berfokus.Trade-off-nya adalah state machine tersebut mungkin memiliki composability umum yang lebih rendah daripada platform smart contract bersama.State Machine dan Virtual Machine
Virtual machine blockchain adalah lingkungan eksekusi yang menjalankan kode di dalam state machine.EVM adalah contoh yang paling dikenal.Ekosistem blockchain lain menggunakan virtual machine atau lingkungan eksekusi yang berbeda.Virtual machine menentukan cara instruksi ditafsirkan, cara memori bekerja, cara penyimpanan diakses, cara gas dikenakan, dan cara error ditangani.State machine menggunakan virtual machine untuk memproses transaksi yang dapat diprogram.Misalnya, saat Ethereum mengeksekusi pemanggilan smart contract, EVM menjalankan bytecode dan menghasilkan perubahan state.Virtual machine harus deterministik agar semua node menghitung hasil yang sama.Virtual machine bukan keseluruhan blockchain, tetapi merupakan bagian utama dari execution layer.State machine blockchain mencakup virtual machine, aturan akun, aturan biaya, aturan transaksi, dan aturan pembaruan state.Memahami hubungan ini membantu developer melihat mengapa lingkungan eksekusi sangat penting bagi konsensus.State Machine dan Gas
Gas adalah sistem penetapan harga yang digunakan banyak blockchain smart contract untuk membatasi dan mengenakan biaya atas eksekusi.Dokumentasi resmi gas Ethereum menjelaskan bahwa gas mengacu pada unit yang mengukur jumlah upaya komputasi yang diperlukan untuk menjalankan operasi di Ethereum.
Gas merupakan bagian dari state machine karena eksekusi transaksi menggunakan sumber daya.Tanpa gas limit, transaksi dapat berjalan selamanya atau mengonsumsi terlalu banyak komputasi.Gas membuat komputasi dapat diukur dan mencegah pengguna memaksa setiap node melakukan pekerjaan tak terbatas secara gratis.Gas juga memengaruhi transisi state karena transaksi dapat gagal jika kehabisan gas.Bahkan saat eksekusi gagal, biaya mungkin tetap dibayar karena node telah menggunakan sumber daya untuk mencoba eksekusi.Developer smart contract harus memahami gas karena transisi state yang tidak efisien dapat mahal bagi pengguna.Pengguna harus memahami gas karena biaya transaksi adalah bagian dari biaya untuk mengubah state blockchain.Gas menunjukkan bahwa state machine harus mengelola ketepatan dan penggunaan sumber daya.State Machine dan State Root
Banyak blockchain menggunakan komitmen kriptografis untuk merangkum state setelah setiap blok.Dalam Ethereum, state root mengomitmenkan world state setelah transaksi dieksekusi.State root bukan state itu sendiri.State root adalah komitmen ringkas berbasis hash terhadap state.Jika node memproses blok yang sama dan menghitung state root yang sama, terdapat bukti bahwa mereka menyepakati state yang dihasilkan.Jika node menghitung state root berbeda, ada sesuatu yang salah pada blok, eksekusi, atau implementasi klien.State root juga mendukung proof bahwa nilai tertentu ada dalam state yang dikomitmenkan.Hal ini penting bagi light client, bridge, auditor, dan sistem cross-chain.State machine memperbarui data, dan state root membantu membuktikan bentuk data yang diperbarui tersebut.Beginilah blockchain menghubungkan hasil eksekusi dengan verifikasi kriptografis.State Machine dan Node
Node adalah komputer nyata yang menjalankan perangkat lunak blockchain dan memelihara state machine.Pengenalan teknis Ethereum resmi menjelaskan bahwa node menyimpan state EVM dan berkomunikasi satu sama lain untuk menyebarkan perubahan state.
Full node memverifikasi blok dengan mengeksekusi transaksi dan memeriksa bahwa state yang dihasilkan valid.Validator atau produsen blok dapat mengusulkan blok baru, tetapi node lain tetap perlu memverifikasinya.Verifikasi independen ini adalah salah satu alasan utama blockchain dapat meminimalkan kebutuhan kepercayaan.Pengguna yang menjalankan node sendiri tidak perlu memercayai server pihak ketiga untuk mengetahui state saat ini.Mereka dapat menghitung state sendiri dari blok yang diterima.Namun, menjalankan node memerlukan perangkat keras, bandwidth, penyimpanan, dan pemeliharaan.Pertumbuhan state dapat membuat node lebih sulit dijalankan seiring waktu.Inilah alasan desain state machine memengaruhi desentralisasi dan eksekusi.State Machine dan Finality
Finality berarti transisi state dianggap telah diselesaikan dan sangat sulit atau mustahil dibalik berdasarkan asumsi protokol.Sebelum finality, transaksi mungkin sudah disertakan dalam blok tetapi masih menghadapi risiko reorganisasi.Setelah finality, pengguna dapat memiliki keyakinan lebih kuat bahwa transisi state akan tetap menjadi bagian dari chain kanonis.Blockchain yang berbeda mendefinisikan finality secara berbeda.Beberapa chain memiliki finality probabilistik, ketika keyakinan meningkat seiring lebih banyak blok ditambahkan.Beberapa chain memiliki finality ekonomi atau bergaya BFT, ketika validator berkomitmen pada blok berdasarkan aturan slashing atau konsensus.Finality penting karena state machine dapat sementara memiliki riwayat yang mungkin bersaing selama fork.Konsensus menentukan riwayat mana yang menjadi kanonis.Pengguna biasanya tidak hanya peduli bahwa transisi state terjadi, tetapi juga bahwa transisi tersebut akan tetap diterima.State machine blockchain menjadi berguna untuk keuangan hanya ketika pengguna dapat mengandalkan perubahan state telah diselesaikan.State Machine dan Fork
Fork dapat terjadi ketika node berbeda untuk sementara atau secara permanen mengikuti riwayat blok yang berbeda.Jika dua riwayat mencakup transaksi yang berbeda, keduanya dapat menghasilkan state yang berbeda.Aturan konsensus menentukan chain mana yang kanonis berdasarkan protokol.Fork sementara dapat terjadi secara alami pada jaringan terdesentralisasi.Fork permanen dapat terjadi ketika komunitas atau klien perangkat lunak sengaja mengikuti aturan protokol berbeda.Fork state machine serius karena dapat menciptakan dua versi terpisah dari saldo, kontrak, dan riwayat ledger.Jika dua jaringan berbagi riwayat hingga titik fork, keduanya berbagi state awal yang sama pada titik tersebut.Setelah fork, urutan transaksi atau aturan yang berbeda dapat menciptakan state berbeda.Inilah sebabnya upgrade protokol harus dikoordinasikan dengan cermat.Semua peserta jujur yang ingin tetap berada pada jaringan sama harus menjalankan aturan transisi state yang kompatibel.State Machine dan Bug Smart Contract
Bug smart contract berbahaya karena kontrak merupakan bagian dari state machine blockchain.Bug dapat menentukan transisi state yang tidak dimaksudkan.Misalnya, kontrak dapat memungkinkan penyerang menarik dana lebih banyak daripada yang dimaksudkan.Kontrak dapat memperbarui saldo dalam urutan yang salah.Kontrak dapat gagal memeriksa otorisasi sebelum mengubah state.Kontrak dapat memungkinkan reentrancy, kesalahan aritmetika, atau perilaku upgrade yang tidak aman.Setelah transaksi diterima, perubahan state yang dihasilkan dapat sulit atau mustahil dibalik tanpa koordinasi sosial luar biasa.Inilah sebabnya audit smart contract, pengujian, verifikasi formal, dan desain yang cermat penting.State machine blockchain akan menjalankan logika kontrak valid secara setia, bahkan jika logika tersebut merugikan secara ekonomi.Ketepatan kode merupakan bagian dari keamanan state.State Machine dan Oracle
Oracle menyediakan data eksternal untuk aplikasi blockchain.Oracle penting karena state machine blockchain tidak dapat mengetahui fakta off-chain secara langsung dengan sendirinya.Misalnya, kontrak pinjaman mungkin memerlukan harga token.Pasar prediksi mungkin memerlukan hasil suatu peristiwa.Sistem aset sintetis mungkin memerlukan indeks referensi.Oracle mengirimkan data yang menjadi input state machine.Jika data oracle salah, tertunda, dimanipulasi, atau tidak tersedia, transisi state yang dihasilkan mungkin salah.Artinya, desain oracle sangat penting bagi aplikasi yang bergantung pada informasi dunia nyata.State machine deterministik hanya dapat memproses data yang diterimanya secara deterministik.State machine tidak dapat menjamin data off-chain benar kecuali sistem oracle tepercaya dan aman.State Machine dan State Bloat
State bloat terjadi ketika state blockchain aktif tumbuh terlalu besar.Setiap akun, slot penyimpanan, kontrak, order, posisi, dan entri data dapat meningkatkan state yang harus dipelihara node.State yang lebih besar dapat meningkatkan kebutuhan penyimpanan node, waktu sinkronisasi, beban database, dan biaya perangkat keras.Jika lebih sedikit orang dapat menjalankan node, desentralisasi dapat terganggu.Inilah alasan banyak blockchain mengenakan biaya atau deposit untuk penyimpanan persisten.State bloat adalah masalah state machine karena setiap transisi state dapat menambahkan, mengubah, atau menghapus data.State machine yang dirancang baik seharusnya menghambat pertumbuhan state tidak berguna sambil tetap mendukung aplikasi yang berguna.Biaya gas, sewa penyimpanan, state expiry, pruning, dan peningkatan komitmen state semuanya terkait dengan masalah ini.Semakin kuat state machine blockchain, semakin cermat blockchain tersebut harus mengelola state jangka panjang.Scaling bukan hanya tentang transaksi per detik, tetapi juga tentang pertumbuhan state yang berkelanjutan.State Machine dan Jaringan Layer 2
Jaringan Layer 2 juga menggunakan state machine.Misalnya, rollup memiliki state sendiri yang berubah saat pengguna mengirimkan transaksi.Rollup dapat memublikasikan data transaksi, state root, validity proof, atau data fraud proof ke base layer.Base layer tidak selalu mengeksekusi setiap transaksi Layer 2 secara langsung.Sebaliknya, base layer membantu menyelesaikan atau memverifikasi state Layer 2 sesuai desain rollup.Artinya, Layer 2 dapat dipahami sebagai state machine lain yang terhubung dengan state machine Layer 1.Desain lintas layer kompleks karena pengguna memerlukan keyakinan bahwa transisi state Layer 2 valid dan dapat ditarik.Data availability, sistem proof, bridge, sequencer, dan aturan settlement semuanya penting.Scaling Layer 2 tidak menghilangkan state machine.Scaling Layer 2 menambahkan state machine yang lebih khusus dan bergantung pada keamanan base layer dengan cara berbeda.State Machine dan Bridge
Bridge menghubungkan state machine lintas chain atau layer.Bridge mungkin perlu membuktikan bahwa event, pesan, atau transisi state terjadi pada satu chain sebelum melepaskan atau mencetak aset pada chain lain.Hal ini sulit karena setiap blockchain memiliki konsensus, aturan finality, model state, dan sistem proof sendiri.Bridge yang salah memahami state dapat menjadi tidak aman.Misalnya, bridge dapat menerima pesan sebelum mencapai finality.Bridge dapat bergantung pada set validator yang lemah.Bridge dapat gagal memverifikasi state root atau proof yang benar.Bridge dapat memiliki bug smart contract pada state machine penerima.Oleh karena itu, bridge merupakan salah satu area berisiko tertinggi tempat state machine berinteraksi.Pengguna tidak boleh menganggap aset memiliki keamanan yang sama setelah melintasi state machine berbeda.State Machine dan Governance
Governance dapat mengubah aturan state machine blockchain.Upgrade protokol dapat menambahkan jenis transaksi baru, mengubah biaya gas, memodifikasi aturan staking, memperkenalkan opcode baru, atau menyesuaikan harga penyimpanan.Perubahan tersebut memengaruhi cara kerja transisi state di masa depan.Karena itu, keputusan governance bukan hanya keputusan politik atau sosial.Keputusan tersebut merupakan perubahan pada mesin aturan yang menentukan perilaku blockchain yang valid.Jika proses governance lemah, terburu-buru, atau dikuasai, proses tersebut dapat merusak keamanan state machine.Jika proses governance jelas dan teruji dengan baik, proses tersebut dapat membantu jaringan berkembang.Upgrade harus diimplementasikan dengan cermat di seluruh perangkat lunak klien.Jika klien tidak sepakat tentang aturan transisi, jaringan dapat mengalami fork.Governance yang baik melindungi kesinambungan state machine bersama.State Machine dan Wallet
Wallet adalah antarmuka pengguna untuk berinteraksi dengan state machine blockchain.Saat wallet menampilkan saldo, wallet membaca state atau data terindeks yang diturunkan dari state.Saat wallet meminta pengguna menandatangani transaksi, wallet sedang menyiapkan input untuk state machine.Saat pengguna menyetujui token, melakukan swap aset, atau mint NFT, wallet membantu mengirimkan tindakan yang mengubah state.Inilah sebabnya prompt wallet sangat penting.Pengguna seharusnya memahami perubahan state yang mereka otorisasi sebelum menandatangani.Transaksi malicious dapat mengubah persetujuan, mentransfer aset, memanggil kontrak, atau memberikan izin.Blockchain akan mengeksekusi instruksi bertanda tangan yang valid, bahkan jika pengguna tidak memahami antarmuka.Karena itu, keamanan wallet adalah tentang membantu pengguna membuat input ke state machine secara aman.Wallet yang baik membuat transisi state dapat dipahami sebelum terjadi.State Machine dan Saldo Token
Saldo token sering kali merupakan nilai state di dalam smart contract.Dalam platform smart contract berbasis akun, kontrak token dapat menyimpan mapping dari alamat pengguna ke saldo.Saat transfer token terjadi, kontrak memperbarui mapping saldo internal tersebut.Pengguna mungkin melihat hasilnya sebagai perubahan saldo sederhana dalam wallet.Di balik layar, ini adalah transisi state tingkat kontrak.Artinya, saldo token tidak selalu merupakan jenis state yang sama dengan saldo koin native.Saldo koin native mungkin merupakan bagian dari state akun dasar.Saldo token mungkin merupakan bagian dari state penyimpanan kontrak.Perbedaan ini penting untuk proof, pengindeksan, tampilan wallet, dan risiko smart contract.Jika kontrak token memiliki logika yang tidak aman, state machine token dapat berperilaku tidak terduga.State Machine dan NFT
NFT juga bergantung pada state machine.Kontrak NFT menyimpan informasi kepemilikan untuk ID token unik.Saat NFT ditransfer, kontrak memperbarui alamat yang memiliki ID token tersebut.Saat NFT di-mint, kontrak membuat catatan kepemilikan baru.Saat NFT dibakar, kontrak menghapus atau menandai token sesuai aturannya.Metadata dapat disimpan on-chain atau direferensikan melalui sistem eksternal.State machine menentukan apakah transfer valid, siapa yang dapat menyetujuinya, dan bagaimana kepemilikan berubah.Inilah sebabnya keamanan NFT bergantung pada logika kontrak dan kustodi wallet.NFT bukan hanya gambar atau koleksi.NFT juga merupakan catatan state yang dikendalikan oleh aturan smart contract.Memahami state machine membantu pengguna memahami arti kepemilikan NFT sebenarnya secara on-chain.Manfaat State Machine dalam Kripto
Manfaat pertama state machine blockchain adalah verifikasi bersama.Siapa pun yang menjalankan perangkat lunak node kompatibel dapat memeriksa apakah transisi state valid.Manfaat kedua adalah eksekusi deterministik.Semua node jujur dapat mencapai hasil yang sama dari state awal dan input terurut yang sama.Manfaat ketiga adalah programmability.Platform smart contract memungkinkan developer menentukan transisi state tingkat aplikasi.Manfaat keempat adalah transparansi.Blockchain publik memungkinkan pengguna memeriksa transaksi, state root, penyimpanan kontrak, dan hasil eksekusi, bergantung pada chain dan alat yang digunakan.Manfaat kelima adalah toleransi kegagalan.Banyak node dapat mereplikasi state machine, sehingga mengurangi ketergantungan pada satu server.Manfaat keenam adalah composability.Aplikasi dapat berinteraksi dengan state bersama saat platform mendukungnya secara aman.Manfaat ini adalah alasan state machine menjadi fondasi desain blockchain publik.Keterbatasan State Machine dalam Kripto
Keterbatasan pertama adalah kompleksitas.Pengguna sering tidak memahami transisi state yang mereka tanda tangani.Keterbatasan kedua adalah pertumbuhan state.State persisten dapat menjadi mahal bagi node untuk disimpan dan diverifikasi.Keterbatasan ketiga adalah biaya eksekusi.Setiap node mungkin perlu memproses transaksi pengubah state yang sama pada banyak blockchain.Keterbatasan keempat adalah risiko upgrade.Mengubah aturan transisi dapat menciptakan bug atau fork jika tidak ditangani dengan cermat.Keterbatasan kelima adalah risiko aplikasi.State machine smart contract dapat mengandung logika cacat meskipun base chain berfungsi dengan benar.Keterbatasan keenam adalah risiko data eksternal.Oracle dapat memasukkan informasi salah ke dalam sistem yang sebenarnya deterministik.Keterbatasan ini menunjukkan mengapa desain state machine memerlukan disiplin engineering, tinjauan keamanan, dan antarmuka pengguna yang jelas.Kesalahpahaman Umum tentang State Machine
Salah satu kesalahpahaman umum adalah bahwa blockchain hanya sebuah database.Blockchain juga merupakan state machine karena menentukan aturan perubahan state yang valid.Kesalahpahaman lainnya adalah bahwa konsensus dan eksekusi merupakan hal yang sama.Konsensus mengurutkan blok dan transaksi, sedangkan eksekusi menerapkan aturan transisi state.Kesalahpahaman ketiga adalah bahwa smart contract berjalan pada satu server pusat.Smart contract dieksekusi oleh node sesuai aturan state machine blockchain yang deterministik.Kesalahpahaman keempat adalah bahwa riwayat transaksi dan state saat ini sama.Riwayat transaksi mencatat input, sedangkan state mencatat hasil saat ini setelah input diproses.Kesalahpahaman kelima adalah bahwa eksekusi deterministik menjamin hasil yang baik.Determinisme menjamin hasil yang konsisten, tetapi hasilnya tetap dapat merugikan jika logika kontrak atau data input cacat.Praktik Terbaik untuk Developer
Rancang smart contract sebagai state machine eksplisit dengan state, transisi, dan kondisi kegagalan yang jelas.Uji setiap transisi state dalam kondisi normal dan kondisi hostile.Gunakan kontrol akses secara cermat karena transisi state tanpa otorisasi dapat menjadi bencana.Hindari ketergantungan pada perilaku non-deterministik dalam eksekusi blockchain.Minimalkan penyimpanan persisten yang tidak diperlukan karena pertumbuhan state meningkatkan biaya bagi pengguna dan node.Gunakan event untuk sinyal historis ketika state aktif tidak diperlukan.Modelkan kasus tepi seperti pemanggilan gagal, reentrancy, eksekusi parsial, kegagalan oracle, dan jalur upgrade.Dokumentasikan perubahan state yang dilakukan setiap fungsi.Tinjau biaya gas karena transisi state yang menulis penyimpanan dapat mahal.Perlakukan logika state machine sebagai kode yang sangat penting bagi keamanan.Praktik Terbaik untuk Pengguna
Baca prompt wallet dengan cermat sebelum menandatangani transaksi.Pahami bahwa menandatangani transaksi dapat mengubah state blockchain secara permanen.Periksa izin apa yang diberikan persetujuan token kepada kontrak.Gunakan antarmuka tepercaya saat berinteraksi dengan smart contract.Mulailah dengan transaksi kecil saat mencoba aplikasi baru.Verifikasi alamat kontrak dan hindari menandatangani pesan yang tidak dikenal.Pahami bahwa transaksi gagal masih dapat menimbulkan biaya di beberapa jaringan.Ingat bahwa state blockchain dapat transparan, tetapi transparansi tidak menjamin keamanan.Berhati-hatilah dengan bridge karena bridge menghubungkan state machine berbeda dengan asumsi berbeda.Gunakan alat keamanan dan cabut persetujuan yang tidak diperlukan jika sesuai.FAQ
Apa arti state machine dalam kripto?
Dalam kripto, state machine adalah sistem aturan yang menerima state blockchain saat ini dan transaksi valid sebagai input, lalu menghasilkan state blockchain baru.Mengapa blockchain disebut state machine?
Blockchain disebut state machine karena berulang kali berpindah dari satu state valid ke state berikutnya dengan menerapkan transaksi terurut berdasarkan aturan protokol tetap.Apa itu state blockchain?
State blockchain adalah kumpulan data saat ini yang diperlukan untuk memproses transaksi baru, seperti saldo, akun, penyimpanan kontrak, UTXO, dan catatan validator.Apa itu transisi state?
Transisi state adalah perubahan dari satu state blockchain ke state lainnya setelah transaksi, blok, atau pesan valid diproses.Apakah Ethereum merupakan state machine?
Ya, Ethereum dapat dipahami sebagai state machine berbasis transaksi, ketika transaksi dan pemanggilan smart contract memperbarui world state.Apakah Bitcoin merupakan state machine?
Ya, Bitcoin dapat dipahami sebagai state machine berbasis UTXO, ketika transaksi valid mengonsumsi output belum terpakai dan membuat output belum terpakai baru.Apa itu state machine replication?
State machine replication berarti menjalankan state machine deterministik yang sama pada banyak mesin agar memproses input terurut yang sama dan mempertahankan state yang sama.Apa perbedaan antara konsensus dan state machine?
Konsensus menyepakati urutan transaksi, sedangkan state machine menerapkan transaksi terurut untuk memperbarui state blockchain.Mengapa state machine blockchain harus deterministik?
State machine harus deterministik agar semua node jujur dapat menghitung hasil yang sama dari state awal dan urutan transaksi yang sama.Bagaimana hubungan smart contract dengan state machine?
Smart contract menentukan aturan tingkat aplikasi yang memperbarui state blockchain ketika pengguna mengirim transaksi atau pemanggilan kontrak yang valid.Kesimpulan
State machine adalah salah satu gagasan terpenting di balik jaringan mata uang kripto.State machine menjelaskan cara blockchain berpindah dari satu state valid ke state lain dengan menerapkan transaksi berdasarkan aturan deterministik.Bitcoin menggunakan state machine berbasis UTXO, ketika transaksi valid membelanjakan output lama dan membuat output baru.Ethereum menggunakan state machine berbasis akun, ketika akun, saldo, kode kontrak, dan penyimpanan diperbarui melalui transaksi dan eksekusi EVM.Mekanisme konsensus dan state machine bekerja bersama, tetapi menjalankan tugas berbeda.Konsensus mengurutkan input, sedangkan state machine mengeksekusi aturan dan menghasilkan state baru.Model ini menjadikan blockchain publik dapat diverifikasi karena banyak node independen dapat memproses data terurut yang sama dan memeriksa bahwa hasilnya sama.State machine juga memungkinkan smart contract karena aplikasi dapat menentukan aturan yang dapat diprogram untuk mengubah data on-chain.Namun, state machine menimbulkan risiko nyata ketika logika smart contract salah, input oracle buruk, state tumbuh terlalu besar, atau pengguna menandatangani transaksi yang tidak dipahami.Bagi developer, pola pikir state machine membantu menghasilkan kontrak yang lebih aman, aturan yang lebih jelas, dan pengujian yang lebih baik.Bagi pengguna, state machine membantu menjelaskan mengapa setiap transaksi bertanda tangan adalah instruksi yang dapat mengubah saldo, izin, kepemilikan, atau state aplikasi.Dalam konteks glosarium kripto, State Machine berarti sistem aturan deterministik yang memproses transaksi blockchain dan memperbarui jaringan dari satu state valid ke state berikutnya.Poin utamanya adalah bahwa blockchain bukan hanya catatan transaksi masa lalu, melainkan replicated state machine yang memungkinkan banyak node independen menyepakati kondisi saat ini dari ekonomi digital.Anda Mungkin Juga Menyukai
ZK-Rollup
ZK-Rollup-as-a-Service
zk-SNARK
POPULER
Mata uang kripto yang sedang tren saat ini dan menarik perhatian pasar yang signifikan
Volume TERATAS
Mata uang kripto dengan volume trading tertinggi
Baru Ditambahkan
Mata uang kripto yang baru saja masuk listing dan tersedia untuk trading

