Ethereum: bagaimana kontrak pintar berfungsi?

Kontrak pintar adalah ciri utama yang telah menjadikan Ethereum begitu berjaya. 

Apakah kontrak pintar dan untuk apa ia

Protokol Bitcoin tidak menyediakan kemungkinan mewujudkan kontrak pintar yang benar-benar kompleks, kerana ia pada asasnya direka hanya untuk membolehkan transaksi. 

Sebaliknya, Ethereum, yang dilahirkan 6 tahun selepas Bitcoin, telah direka dari awal untuk menjadi rangkaian yang mampu menganjurkan dan melaksanakan kontrak pintar

Pada tahun 2014, pengasas bersama Ethereum Vitalik Buterin menulis secara eksplisit dalam whitepaper bahawa rangkaian yang dia reka bentuk ialah a platform generasi akan datang berdasarkan kontrak pintar, dan bahawa aplikasi alternatif kepada Bitcoin berdasarkan teknologi blockchain juga termasuk penggunaan aset digital untuk mewakili mata wang tersuai dan instrumen kewangan, aset tidak boleh fungi dan aplikasi yang lebih kompleks. 

Khususnya, yang terakhir, iaitu kontrak pintar, ditakrifkan sebagai aplikasi yang melibatkan kawalan langsung aset digital melalui kod yang melaksanakan peraturan sewenang-wenangnya, atau organisasi autonomi terpencar berdasarkan blokchain, yang dipanggil DAO.  

Vitalik menulis: 

“Apa yang ingin disediakan oleh Ethereum ialah blockchain dengan bahasa pengaturcaraan lengkap Turing terbina dalam yang boleh digunakan untuk mencipta 'kontrak' yang boleh digunakan untuk mengekod fungsi peralihan keadaan sewenang-wenangnya, membolehkan pengguna mencipta mana-mana sistem yang diterangkan di atas. – serta banyak lagi yang belum kami bayangkan – hanya dengan menulis logik dalam beberapa baris kod”.

Oleh itu, kontrak pintar pada Ethereum adalah baris kod yang boleh dilakukan atur cara pelaksanaan automatik arahan melalui rangkaian, apabila syarat-syarat tertentu dipenuhi, tanpa perlu mempercayakan pelaksanaan mereka kepada perantara.

Malah, Buterin sendiri meletakkan istilah "kontrak" dalam tanda petikan, kerana bukannya kontrak sebenar antara pihak, mereka lebih program komputer yang dilaksanakan oleh decentralized rangkaian. 

Dari sudut pandangan umum, oleh itu, operasi mereka tidak begitu rumit. 

kontrak pintar
Kontrak pintar dilaksanakan setelah syarat yang terkandung di dalamnya telah disahkan

Menggunakan kontrak pintar pada blockchain Ethereum

Pertama sekali, satu atau lebih pembangun mesti mencipta kontrak pintar dengan menulis baris kod yang sesuai, dan kemudian mereka mesti hantar ke rangkaian Ethereum. 

Dari segi teknikal, menerbitkannya pada blockchain Ethereum bermakna menjadikan semua nod dalam rangkaian menerima dan melaksanakannya. Setelah diterbitkan, semua arahan di dalamnya akan sentiasa dilaksanakan oleh semua nod dengan cara yang sama. 

Oleh itu, bukan sahaja penerbitannya tetapi juga pelaksanaan arahan tidak boleh diterbalikkan sebaik sahaja ia diterbitkan pada blockchain. 

Oleh itu, perkara yang benar-benar penting ialah arahan yang terkandung di dalamnya - yang boleh menjadi yang paling pelbagai - dan bilangan orang yang menggunakannya. Sesungguhnya, untuk arahan kontrak pintar benar-benar dilaksanakan, mesti ada satu atau lebih transaksi yang memanggilnya

Perlu diingat juga bahawa arahan ini secara amnya melibatkan penggunaan sumber, seperti data atau token, jadi bagi mereka untuk benar-benar dilaksanakan, semua syarat yang ditetapkan mengikut keperluan mesti dipenuhi. 

Kadang-kadang data ini datang dari luar, terima kasih kepada apa yang dipanggil oracles, sementara kadang-kadang ia hanya datang dari transaksi pada blockchain. 

Biasanya, transaksi yang mencetuskan pelaksanaan arahan yang terkandung dalam kontrak pintar melibatkan pembayaran a yuran dalam ETH, dan dalam banyak kes untuk benar-benar mencetuskan pelaksanaan juga melibatkan pembayaran atau penghantaran token khusus untuk kontrak pintar itu sendiri, atau kontrak pintar lain. 

Secara teknikal, kontrak pintar ialah sejenis akaun di Pelekat Ethereum, "dikawal" oleh rangkaian dan bukannya entiti pusat. Mereka boleh menyimpan ETH atau token, dan boleh juga menghantar transaksi pada rangkaian secara autonomi.

Cara berinteraksi dengan kod dan lebih umum dengan dApps

Pengguna boleh berinteraksi dengan kontrak pintar dengan menghantar transaksi yang mencetuskan salah satu fungsi yang ditakrifkan dalam kod mereka. 

Oleh itu, fungsi kontrak pintar pada Ethereum secara amnya sangat mudah: hanya hantar transaksi jenis tertentu kepada kontrak pintar, dan ini akan mencetuskan pelaksanaan oleh nod semua arahan yang terkandung dalam fungsi kontrak pintar yang digunakan oleh transaksi itu sendiri. 

Jelas sekali, bergantung pada arahan yang terkandung dalam fungsi yang digunakan, akibat yang sangat berbeza boleh dijana, berbeza bukan sahaja daripada kontrak pintar kepada kontrak pintar, tetapi juga dari fungsi ke fungsi. 

Oleh itu, kerumitan besar kontrak pintar diperoleh dengan tepat daripada apa yang dilakukan oleh kontrak pintar individu, dan bukan secara umum daripada fakta bahawa rangkaian Ethereum menyokong dan melaksanakannya. Selain itu, adalah mustahil untuk menyenaraikan cara semua jenis kontrak pintar pada rangkaian sebenarnya berfungsi. 


Sumber: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/