Pandangan yang lebih dalam pada berbagai platform kontrak pintar

Halo, Habr! Saya mempersembahkan kepada Anda terjemahan artikel " Pandangan yang Lebih Mendalam pada Berbagai Platform Kontrak Cerdas ".

Kita hidup di era kontrak yang cerdas. Sementara Bitcoin menunjukkan kepada kita bahwa sistem pembayaran dapat ada dalam jaringan peer-to-peer yang terdesentralisasi, itu Ethereum yang membuka kotak Pandchain blockchain generasi kedua, dan orang-orang akhirnya melihat potensi sebenarnya dari aplikasi terdistribusi (Dapps) dan kontrak pintar.

Pada artikel ini kita akan melihat salah satu platform kontrak pintar Cardano baru dan melihat apa bedanya.

Sebelum kita melakukan ini, mari kita bertanya pada diri sendiri.

Apa itu kontrak pintar?


Kontrak pintar adalah kontrak otomatis. Mereka mengeksekusi sendiri dengan instruksi spesifik yang ditulis dalam bahasa pemrograman yang dieksekusi ketika kondisi tertentu terpenuhi.

Apa sifat dari kontrak pintar yang akan memenuhi persyaratan penggunaan dalam registrasi terdistribusi?

Segala sesuatu yang bekerja di blockchain harus tidak berubah dan dapat bekerja pada beberapa node tanpa mengurangi integritas kondisi sistem. Akibatnya, fungsi kontrak pintar harus tiga hal:

- Determinisme
- Kemampuan untuk menyelesaikan tepat waktu
- isolasi

Fitur # 1: Determinisme


Suatu program bersifat deterministik jika setiap kali memberikan output yang sama untuk input yang diberikan. E.g. Jika 3 + 1 = 4, maka 3 + 1 akan selalu 4. Karena itu, ketika suatu program menghasilkan set input data yang sama pada komputer yang berbeda, program tersebut disebut deterministik.

Ada berbagai titik ketika suatu program dapat beroperasi secara non-deterministik:

- memanggil fungsi non-deterministik
- penggunaan data non-deterministik
- panggilan dinamis, karena fungsi atau program yang dipanggil ditentukan hanya pada saat runtime, panggilan itu sendiri bersifat non-deterministik.

Fungsi # 2: Kemampuan untuk menyelesaikan tepat waktu


Dalam logika matematika, kami memiliki kesalahan yang disebut "masalah shutdown". Dia mengklaim bahwa tidak ada cara untuk mengetahui apakah suatu program dapat memenuhi fungsinya selama periode waktu tertentu. Pada tahun 1936, Alan Turing terbukti menggunakan Cantor's Diagonal Problem bahwa tidak ada cara untuk mengetahui apakah suatu program dapat menyelesaikan pekerjaannya tepat waktu atau tidak ...
Ini jelas merupakan masalah dengan kontrak pintar karena kontrak, menurut definisi, harus dapat menyelesaikan tepat waktu. Ada beberapa cara untuk menyediakan cara mengakhiri kontrak dari luar dan menghindari memasuki siklus tanpa akhir yang melelahkan sumber daya:

  • Turing ketidaklengkapan : fungsi terbatas tidak akan memungkinkan lompatan dan / atau siklus. Akibatnya, kontrak pintar tidak akan bisa masuk ke loop tak terbatas.
  • Mengukur langkah dan biaya : program hanya dapat melacak jumlah perintah yang diselesaikan, dan kemudian menyelesaikan pekerjaan setelah menyelesaikan hitungan langkah tertentu. Metode lain adalah penghitung. Di sini, kontrak dibayar di muka. Setiap instruksi membutuhkan jumlah tertentu. Jika biaya yang dibayarkan melebihi biaya dibayar di muka, kontrak diakhiri.
  • Timer : jika pelaksanaan kontrak tidak sesuai dalam jangka waktu tertentu, maka diakhiri dengan paksa.

Fungsi No. 3: Isolasi


Di blockchain, setiap peserta dapat mengunggah kontrak pintar. Namun, kontrak mungkin, secara sadar dan tidak sadar, mengandung virus dan kesalahan.

Jika kontrak tidak diisolasi, ini dapat mengganggu operasi seluruh sistem. Oleh karena itu, sangat penting bahwa kontrak diisolasi untuk menyelamatkan seluruh ekosistem dari segala konsekuensi negatif. Biasanya, kontrak pintar dijalankan menggunakan salah satu dari dua sistem:

  • Mesin Virtual : (Ethereum dan Neo)
  • Docker : (Kain)

Mari kita bandingkan keduanya dan tentukan apa yang menciptakan ekosistem terbaik. Untuk mempermudah, kita akan membandingkan Ethereum (mesin virtual) dengan Fabric (Docker).

Mesin virtualDocker
Kontrak mengandung fungsi non-deterministik dan data terbatas pada informasi yang terkandung dalam blockchain. Selain itu, panggilan dinamis dapat bersifat non-deterministik. Data yang tersedia bersifat deterministikKarena fitur desain Docker, sistem bergantung pada pengguna yang membuat kontrak deterministik. Bukan solusi terbaik
Ethereum menggunakan "Meter Biaya" untuk menyelesaikan kontrak. Setiap langkah dari kontrak membutuhkan "gas" dan segera setelah biaya eksekusi melebihi jumlah prabayar, eksekusi diakhiri.Kain menggunakan timer. Karena node yang berbeda mungkin memiliki timer yang berbeda karena kapasitas komputasi yang berbeda, ada risiko melanggar proses konsensus.
Sifat isolasi yang baikIsolasi ditentukan oleh ekosistem buruh pelabuhan (isolasi tidak memadai)

Dengan demikian, mesin virtual memberikan determinisme yang lebih baik, penyelesaian dan isolasi lingkungan untuk kontrak pintar.

Kami memeriksa beberapa fitur penerapan kontrak pintar.

Saya harus mengatakan bahwa kontrak pintar menjadi bagian yang tidak terpisahkan dan komponen penting dari aplikasi terdistribusi modern.

Berikut adalah beberapa platform blockchain yang menyediakan fitur kontrak pintar:

  • Ethereum
  • Eos
  • Stellar
  • Cardano
  • Neo
  • Kain hyperledger
  • Riak
  • Gelombang
  • Platform ergo

Pada artikel berikut, kita akan melihat lebih dekat mekanisme kontrak pintar dari beberapa platform ini.

Source: https://habr.com/ru/post/id412803/


All Articles