Kontrak pintar
Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini.
Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan.
|
Kontrak pintar (smart contract) merupakan istilah yang digunakan dalam menggambarkan suatu protokol komputer yang memfasilitasi kontrak atau perjanjian antara satu pihak dengan pihak lainnya tanpa melalui pihak ketiga. Protokol kontrak pintar sedemikian rupa harus dapat melakukan verifikasi terhadap pelaksanaan kewajiban penerima kontrak dari suatu perjanjian. Kontrak pintar juga dapat dikatakan sebagai bentuk paling sederhana dari otomasi terdesentralisasi.[1][2][3] Tujuan utama dari kontrak cerdas adalah untuk mengurangi kebutuhan akan perantara terpercaya, menekan biaya arbitase, meminimalkan risiko penipuan, serta menghindari kesalahan baik yang disengaja maupun tidak disengaja.[4] Kontrak cerdas umumnya dikaitkan dengan mata uang kripto. Salah satu contoh paling terkenal adalah kontrak cerdas yang diperkenalkan oleh Ethereum, yang kini menjadi komponen penting dalam ekosistem keuangan terdesentralisasi (DeFi) dan aplikasi token non-fungible (NFT).[5][6] Beberapa karakteristik penting dari kontrak pintar adalah sebgai berikut:[7]
- Desentralisasi: Kontrak pintar beroperasi diatas rantai blok, yang artinya data dan logika kontrak disimpan dan dijalankan secara terdistribusi di banyak node (komputer) yang membentuk jaringan rantai blok. Tidak ada pihak tunggal yang mengontrol kontrak pintar, sehingga meningkatkan transparansi dan kepercayaan.
- Deterministik: bekerja berdasarkan peraturan dan logika yang telah ditentukan dengan jelas. Setiap kali kondisi tertentu terpenuhi, hasilnya akan selalu sama, dan tidak bergantung pada interpretasi manusia.
- Tidak dapat diubah (Immutable): Setelah kontrak pintar dibuat dan diterbitkan di rantai blok, logika dan aturannya tidak dapat diubah oleh siapapun, termasuk oleh pembuat kontrak itu sendiri.
- Keamanan: Kontrak pintar dijalankan di atas platform rantai blok yang memiliki tingkat keamanan yang tinggi karena didukung oleh kriptografi dan konsensus jaringan.
- Biaya transaksi: Setiap operasi atau eksekusi kontrak pintar memerlukan biaya transaksi dalam bentuk gas, yang harus dibayarkan dalam mata uang digital seperti Ethereum atau aset kripto lainnya yang sesuai dengan rantai blok yang digunakan.
Dalam buku putih Ethereum yang ditulis oleh Vitalik Buterin pada tahun 2014,[8] Bitcoin disebut sebagai versi lemah dari konsep kontrak cerdas yang pertama kali dikemukakan oleh Nick Szabo. Buterin kemudian mengusulkan versi yang lebih kuat menggunakan bahasa pemrograman Solidity.[9] Penting untuk membedakan antara smart contract dan legal contract. Kontrak cerdas (smart contract) adalah program yang menjalankan kesepakatan secara otomatis, sedangkan smart legal contract adalah perjanjian hukum dalam bahasa alami yang memiliki beberapa ketentuannya dikodekan dalam bentuk yang dapat dibaca oleh mesin.[10][11]
Etimologi
[sunting | sunting sumber]Pada tahun 1966, Nick Szabo mulai menggunakan istilah "smart contract'' untuk merujuk pada kontrak yang ditegakkan oleh properti fisik (seperti perangkat keras atau perangkat lunak) alih-alih melalui hukum. Szabo menggambarkan mesin penjual otomatis (vending machine) sebagai contoh konsep ini.[12][13] Pada tahun 1998, istilah ini juga digunakan untuk menggambarkan objek dalam lapisan layanan manajemen hak pada sistem The Stanford Infobus, yang merupakan bagian dari Stanford Digital Library Project.
Status hukum kontrak pintar
[sunting | sunting sumber]Kontrak pintar umumnya tidak dianggap sebagai perjanjian yang sah secara hukum.[14] Beberapa usulan telah diajukan untuk mengatur kontrak pintar.[10]
Kontrak pintar bukanlah perjanjian hukum, melainkan transaksi yang dieksekusi secara otomatis oleh program komputer atau protokol transaksi. Teknologi ini sering digunakan untuk mengotomatiskan kewajiban pembayaran, misalnya dengan mentransfer mata uang kripto atau token lainnya. beberapa ahli berpendapat bahwa sifat imperatif atau deklaratif dari bahasa pemrograman dapat memengaruhi validitas hukum kontrak pintar.[15]
Sejak peluncuran rantai blok Ethereum pada tahun 2015, istilah "kontrak cerdas" mulai digunakan untuk menggambarkan segala bentuk komputasi yang berlangsung di dalam rantai blok. Institut Standar dan Teknologi Nasional AS (NIST) mendefinisikan kontrak cerdas sebagai kumpulan kode dan data (sering disebut sebagai fungsi atau status) yang diterapkan menggunakan transaksi yang ditandatangani secara kriptografi di dalam jaringan rantai blok.[16] Dalam pengertian ini, kontrak cerdas adalah program komputer yang memanfaatkan rantai blok sebagai mendia eksekusinya. Kontrak cerdas juga dapat dianggap sebagai prosedur yang tersimpan dengan aman, karena proses eksekusi dan dampat yang telah dikodekan (seperti transfer token antar pihak) tidak dapat dimanipulasi tanpa mengubah rantai blok itu sendiri. Dengan demikian, eksekusi kontrak diawasi oleh platform rantai blok, bukan oleh program server eksternal yang terhubung ke platform tersebut.[17]
Pada tahun 2018, laporan Senat AS menyatakan: "Meskipun kontrak cerdas terdengar seperti konsep baru, ide dasarnya berakar pada kontrak tradisional. Biasanya, sistem peradilan menangani sengketa kontrak dan menegakkan ketentuannya, tetapi metode arbitrase lain juga umum digunakan, terutama dalam transaksi internasional. Dalam kontrak cerdas, program komputerlah yang menegakkan ketentuan kontrak yang telah dikodekan.[18] "Beberapa negara bagian di AS, seperti Arizona, Iowa, Nevada, Tennessee, dan Wyoming, telah mengesahkan undang-undang terkait penggunaan kontrak cerdas.
Pada April 2021, UK Jurisdiction Taskforce (UKJT) di Ingris menerbitkan Digital Dispute Resolution Rules (Aturan Penyelesaian Sengketa Digital) yang bertujuan untuk mempecepat penyelesaian sengketa hukum terkait rantai blok dan kripto di Inggris.[19]
Cara kerja kontrak pintar
[sunting | sunting sumber]Seperti halnya transfer nilai dalam rantai blok, penerapan kontrak pintar di rantai blok dilakukan dengan mengirimkan transaksi dari dompet (wallet) rantai blok.[20] Transaksi ini berisi kode yang telah dikompilasi untuk kontrak pintar serta alamat penerima khusus.[20] Setelah transaksi ini dimasukkan ke dalam sebuah blok dan ditambahkan ke dalam rantai blok, kode kontrak pintar akan dieksekusi untuk menetapkan keadaan awalnya.[20]
Kontrak pintar diamankan dengan algoritma toleran terhadap kesalahan Byzantine (Byzantine fault-tolerant), yang mencegah upaya manipulasi secara terdesentralisasi. Setelah kontrak pintar diterapkan di rantai blok, kode tersebut tidak dapat diperbarui.[21] Kontrak pintar dapat menyimpan berbagai informasi dan menjalankan berbagai perhitungan sesuai dengan kode yang telah ditentukan. Pengguna dapat berinteraksi dengan kontrak pintar melalui transaksi, yang juga bisa memicu eksekusi kontrak pintar lainnya. Transaksi ini dapat mengubah status dalam rantai blok, mengirim koin dari satu kontrak pintar ke kontrak pintar lainnya, atau dari satu akun ke akun lainnya.[21]
Rantai blok yang paling populer untuk menjalankan kontrak pintar adalah Ethereum. di Ethereum, kontrak pintar biasanya ditulis dalam bahasa pemrograman Solidity,[22] yang bersifat Turing-Complete, lalu dikompilasi menjadi bytecode untuk dieksekusi oleh Ethereum Virtual Machine (EVM). Namun, karena adanya masalah halting problem dan risiko keamanan lainnya, beberapa bahasa pemrograman seperti Vyper sengaja menghindari sifat Turing-complete untuk meningkatkan keamanan. Beberapa bahasa pemrograman kontrak pintar lainnya yang tidak memiliki fitur Turing-complete adalah Simplicity, Scilla, Ivy, dan Bitcoin Script.
Pada tahun 2020, penelitian yang menggunakan ekspresi reguler menunjukkan bahwa hanya 35,3% dari 53.757 kontrak pintar Ethereum yang menggunakan rekursi dan perulangan, dua fitur yang berkaitan dengan halting problem.
Beberapa bahasa pemrograman telah dirancang untuk memungkinkan verifikasi formal, yaitu metode untuk memastikan keamanan dan keandalan kode. Bahasa-bahasa tersebut meliputi Bamboo, IELE, Simplicity, Michelson (dapat diverifikkasi dengan Coq), Liquidity (dapat dikompilasi menjadi Michelson), Scilla, DAML, dan Pact.
Nama | Deskripsi |
---|---|
Ethereum | Mengimplementasikan bahasa pemrograman Turing-complete di rantai blok-nya, menjadikannya sebegai salah satu kerangka kontrak pintar yang paling terkenal.[23] |
Bitcoin | Menyediakan bahasa skrip yang Turing-incomplete memungkinkan pembuatan kontrak pintar khusus di atas Bitcoin, seperti dompet mata uang kripto, saluran pembayaran, escrow, time lock, perdagangan lintas rantai (atomic cross-chain trading), oracle, dan sistem loter multi-pihak tanpa operator.[24] |
Cardano | Platform rantai blok yang dirancang untuk mendukung kontrak pintar. |
Solana | Platform yang mendukung kontrak pintar. |
Tron | Platform yang mendukung kontrak pintar. |
Tezos | Platform yang mendukung kontrak pintar. |
Proses dalam rantai blok umumnya bersifat deterministik untuk memastikan toleransi terhadap kesalahan Byzantine. Namun, dalam penerapan nyata seperti lotere dan kasino, diperlukan elemen keacakan yang aman. Teknologi rantai blok sebenarnya dapat mengurangi biaya dalam penyelenggaraan lotere, sehingga menguntungkan para peserta.
Keacakan dalam rantai blok dapat dihasilkan melalui berbagai cara, seperti menggunakan hash blok atau cap waktu, oracle, skema komitmen, kontrak pintar khusus seperti RANDAO dan Quanta, serta urutan dari keseimbangan Nash dan strategi campuran.
Referensi
[sunting | sunting sumber]- ^ "Smart Contracts: The Blockchain Technology That Will Replace Lawyers". Blockgeeks (dalam bahasa Inggris). 2016-10-09. Diakses tanggal 2019-06-24.
- ^ "Smart Contracts". BlockchainHub (dalam bahasa Inggris). Diakses tanggal 2019-06-24.
- ^ Frankenfield, Jake. "Smart Contracts: What You Need to Know". Investopedia (dalam bahasa Inggris). Diakses tanggal 2019-06-24.
- ^ Szabo, Nick (1997). "View of Formalizing and Securing Relationships on Public Networks | First Monday". First Monday. doi:10.5210/fm.v2i9.548. S2CID 33773111. Diarsipkan dari website aslinya pada 10 April 2022.
- ^ Zhou, Haozhe; Milani Fard, Amin; Makanju, Adetokunbo (2022-05-27). "The State of Ethereum Smart Contracts Security: Vulnerabilities, Countermeasures, and Tool Support". Journal of Cybersecurity and Privacy. 2 (2): 358–378. doi:10.3390/jcp2020019. ISSN 2624-800X.
- ^ "All You Need to Know About NFT Smart Contracts". Binance.com. Binance. Diarsipkan dari website aslinya pada 26 September 2022
- ^ Zainuddin, Muhmmad A, dkk (November 2023). Pengenalan dan Implementasi Teknologi Blockchain Pada Web 3.0. Yogyakarta: Penerbit Deepublish. hlm. 36–37. ISBN 978-623-02-7535-7.
- ^ "White Paper· ethereum/wiki Wiki · GitHub". GitHub. Diarsipkan dari website aslinya pada 11 Januari 2014
- ^ Alharby, Maher; van Moorsel, Aad (26 August 2017). "Blockchain-based Smart Contracts: A Systematic Mapping Study". Computer Science & Information Technology: 125–140. arXiv:1710.06372. doi:10.5121/csit.2017.71011. ISBN 9781921987700. S2CID 725413.
- ^ a b Cannarsa, Michel (1 December 2018). "Interpretation of Contracts and Smart Contracts: Smart Interpretation or Interpretation of Smart Contracts?". European Review of Private Law. 26 (6): 773–785. doi:10.54648/ERPL2018054. S2CID 188017977. Diarsipkan dari website asli pada 10 Agustus 2020.
- ^ Drummer, Daniel; Neumann, Dirk (5 August 2020). "Is code law? Current legal and technical adoption issues and remedies for blockchain-enabled smart contracts". Journal of Information Technology. 35 (4): 337–360. doi:10.1177/0268396220924669. ISSN 0268-3962. S2CID 225409384. Diarsipkan dari website aslinya pada 9 Maret 2021
- ^ Morris, David Z. (21 January 2014). "Bitcoin is not just digital currency. It's Napster for finance". Fortune. Diarsipkan dari website aslinya pada 20 Oktober 2014. Diakses kembali pada 7 November 2018.
- ^ Schulpen, Ruben R.W.H.G. (1 August 2018). "Smart contracts in the Netherlands - University of Tilburg". uvt.nl. Twente University. Diarsipkan dari website aslinya pada 19 Februari 2021. Diakses kembali pada 26 Oktober 2019.
- ^ Mik, Eliza, Smart Contracts: A Requiem (December 7, 2019). Journal of Contract Law (2019) Volume 36 bagian 1 di hal. 72
- ^ Governatori, Guido; Idelberger, Florian; Milosevic, Zoran; Riveret, Regis; Sartor, Giovanni; Xu, Xiwei (2018). "On legal contracts, imperative and declarative smart contracts, and blockchain systems". Artificial Intelligence and Law. 26 (4): 33. doi:10.1007/s10506-018-9223-3. S2CID 3663005.
- ^ D J Yaga et al., Blockchain Technology Overview, National Institute of Standards and Technology Internal/Interagency Report 8202, 2018, p 54, cited in Mik, Eliza, Smart Contracts: A Requiem (December 7, 2019). Journal of Contract Law (2019) Volume 36 bagian 1 pada hal. 71
- ^ Vo, Hoang Tam; Kundu, Ashish; Mohania, Mukesh (2018). "Research Directions in Blockchain Data Management and Analytics" (PDF). Advances in Database Technology - Extending Database Technology (EDBT). 21. OpenProceedings: 446. Diarsipkan dari sumber asli pada 2 November 2019. kutipannya "Some distributed ledger technologies support an additional capability called a smart contract, which is similar to the concept of stored procedure in classical relational databases to some extent. Smart contracts allow the shared business processes within a business network to be standardised, automated and enforced via computer programs to increase the integrity of the ledger."
- ^ Chapter 9: Building a Secure Future, One blockchain at a time Diarsipkan dengan Wayback Machine pada 14 Mei 2020, US Senate Joint Economic Committee, Maret 2018
- ^ Morgan, Herbert Smith Freehills LLP-Charlie; Parker, Chris; Livingston, Dorothy; Naish, Vanessa; Tevendale, Craig (23 April 2021). "Arbitration of digital disputes in smart contracts and the release of the digital dispute resolution rules from the UK jurisdiction taskforce | Lexology". www.lexology.com. Diarsipkan dari sumber aslinya pada 25 April 2021. Diakses kembali pada 25 April 2021.
- ^ a b c Soloro, Kevin; Kanna, Randall; Hoover, David (December 2019). Hands-On Smart Contract Development With Solidity and Ethereum: From Fundamentals to Deployment. California, U.S.A.: O'Reilly. hal. 73. ISBN 978-1-492-04526-7. Diarsipkan dari sumber aslinya pada 25 Oktober 2023. Diakses kembali pada 1 Noveber 2020.
- ^ a b Sergey, Ilya; Nagaraj, Vaivaswatha; Johannsen, Jacob; Kumar, Amrit; Trunov, Anton; Hao, Ken Chan Guan (10 October 2019). "Safer smart contract programming with Scilla". Proceedings of the ACM on Programming Languages. 3 (OOPSLA): 1–30. doi:10.1145/3360611. ISSN 2475-1421.
- ^ Wohrer, Maximilian; Zdun, Uwe (20 March 2018). "Smart contracts: Security patterns in the ethereum ecosystem and solidity". 2018 International Workshop on Blockchain Oriented Software Engineering (IWBOSE). hal. 2–8. doi:10.1109/IWBOSE.2018.8327565. ISBN 978-1-5386-5986-1. S2CID 4567923. Diarsipkan dari sumber aslinya pada 9 Oktober 2020. Diakses kembali pada 4 Oktober 2020.
- ^ Atzei, Nicola; Bartoletti, Massimo; Cimoli, Tiziana (2017), "A survey of attacks on Ethereum smart contracts" (PDF), 6th International Conference on Principles of Security and Trust (POST), European Joint Conferences on Theory and Practice of Software, diarsipkan (PDF) dari sumber aslinya pada 10 Juli 2017, diakses kembali pada 20 Juni 2017.
- ^ Atzei, Nicola; Bartoletti, Massimo; Cimoli, Tiziana; Lande, Stefano; Zunino, Roberto (2018), "SoK: unraveling Bitcoin smart contracts" (PDF), 7th International Conference on Principles of Security and Trust (POST), European Joint Conferences on Theory and Practice of Software, diarsipkan (PDF) dari sumber aslinya pada 23 Februari 2018, diakses kembali pada 22 Februari 2018.