Atom Swap Singkatnya

Pada Juli 2019, ada sekitar 2.000 cryptocurrency, tetapi tidak ada mekanisme pertukaran tunggal antara berbagai blockchain. Dalam artikel ini, kami secara sederhana mempertimbangkan bagaimana salah satu teknologi pertukaran tanpa perantara diatur - pertukaran atom.
Selamat membaca!


logo


Atomic Swaps: dengan apa dan dengan apa ia makan?


Pergantian atom adalah serangkaian transaksi pada kedua blockchain yang memungkinkan Anda untuk bertukar koin tanpa partisipasi pihak ketiga dan percaya pada peserta kedua dari pertukaran tersebut. Intinya, transaksi semacam itu dibuat, yang hasilnya dapat dihabiskan di hadapan kunci tertentu, atau setelah beberapa waktu.
Tidak semua blockchains memungkinkan AtomicSwap diimplementasikan. Ada dua persyaratan utama:


  • dukungan untuk kontrak pintar (generator dari transaksi "awal" ini);
  • penggunaan cryptomagy yang sama (fungsi hash).

Kontrak pintar? Tidak, tidak terdengar

Kontrak pintar, dalam arti luas, adalah algoritma "tidak patuh" yang melakukan tindakan dalam kondisi yang diketahui dan tidak ada yang lain. Dalam kasus kami, kontrak pintar dapat dianggap sebagai kotak hitam besar, yang diumpankan ke alamat penerima, alamat pengirim, jumlah pengiriman, waktu penyimpanan uang dan menetapkan pengidentifikasi unik (hash). Outputnya adalah transaksi yang diinginkan dengan ketentuan.


Hash dan teman-temannya

Fungsi hash adalah karakter lain dari kisah matematika yang lebih tinggi. Mengonversi aliran input ke nilai yang berbeda. Data yang sama memberikan hasil yang sama. Biasanya, input adalah sejumlah besar yang disebut kunci rahasia, dan outputnya adalah hash. Mengubah hash kembali ke kunci rahasia tidak mungkin.


Ketika semuanya berjalan lancar


Pertimbangkan pertukaran antara Alice (ya, ya, Alice tidak lagi sama) dan Bob. Alice memiliki Bitcoin (btc), Bob memiliki Ether (eth). Kedua karakter memiliki alamat di kedua blockchains. Contoh: tanda cryptocurrency besar melambangkan blockchains.



Alice menghasilkan kunci (banyak) dan tidak memberi tahu siapa pun:



Berdasarkan kuncinya, ia menganggap hash:



Membuat kontrak dengan pengidentifikasi unik yang sama dengan hash:



Mengirim uang ke kontrak. Sekarang dia tidak bisa menghabiskan waktu tertentu (timelock):


Waktu habis, atau kunci waktu

Timelock - waktu setelah pencipta kontrak akan dapat mengembalikan uang jika ia mengirim transaksi jenis tertentu (sebut saja "pengembalian dana"). Tidak diperlukan kunci rahasia untuk transaksi ini. Pengguna lain dapat menarik uang untuk alamat penerima yang ditentukan dalam kontrak (penting: bukan miliknya) jika ia mengirim transaksi dari jenis yang berbeda (sebut saja tebusan) dengan kunci rahasia.


Secara umum, mekanisme pemrosesan transaksi kontrak adalah sebagai berikut:


if (transaction_type == "refund" and sender == contract_creater and timelock < now()) { send_to(creator_address); } else if (transaction_type == "redeem" and hash(secret_key) == contract_id) { send_to(receiver_address); } 


Alice melaporkan hash ke Bob. Sekarang dia dapat mengaudit (memeriksa) semua bidang kontrak: pastikan alamatnya benar, jumlah pengiriman, waktu penyimpanan uang pada kontrak (periode di mana Alice tidak akan dapat menariknya):



Jika semuanya baik, Bob membuat kontrak pada blockchain kedua yang mirip dengan Alisinom (dengan pengidentifikasi yang sama). Penerima dan, mungkin, jumlahnya berubah (jika nilainya bukan 1 banding 1).



Alice mengaudit kontrak:



Jika dia melipattigakan segalanya, dia menciptakan transaksi pada Ethereum yang menghabiskan uang untuk kontrak Bob. Satu-satunya cara untuk melakukan ini adalah dengan memberikan kunci. Sekarang diketahui:



Alice mendapat et:



Bob melihat kunci dan menciptakan transaksi yang menghabiskan uang pada kontrak Alice menggunakan kuncinya:



Sukses! Serigala penuh, domba aman!


Saat dunia tidak sempurna


Namun, terkadang ada yang salah. Ada dua tempat di mana pertukaran bisa gagal. Untuk melakukan ini, ada mekanisme untuk mengembalikan uang kepada pemiliknya yang sah.


Misalkan Alice sebagai gadis yang baik mengirim uang untuk kontrak, tetapi setelah audit, Bob berubah pikiran tentang berpisah dengan mengudara:



Alice menunggu berakhirnya jangka waktu yang ditentukan dalam kontrak (misalnya, 48 jam) dan mengembalikan jangkrik darah:



Kisah lain bercerita tentang Alice yang berubah-ubah, yang tidak ingin melanjutkan pertukaran atom setelah Bob menciptakan kontrak. Skenario alternatif: Alice kehilangan kunci dan tidak bisa melakukan ini:



Bob menunggu waktu untuk memblokir uang (biasanya kurang dari Alice, sehingga Alice tidak menarik uang Bob pada menit terakhir, dan kemudian tidak mengembalikan miliknya; katakan 24 jam). Alice mengembalikan uangnya setelah timelock-nya.



Kesimpulan


Pertukaran atom sangat nyaman untuk pertukaran point-to-point, melewati pertukaran dan perantara. Peserta berjanji untuk hanya membayar komisi untuk pengiriman transaksi.


Kesimpulannya, dalam pertukaran antara A dan C pada blockchain B1 dan B2, langkah-langkah berikut dapat dibedakan:


  1. inisialisasi kontrak pada B1 oleh peserta A;
  2. mendengarkan kontrak pada B1 oleh bagian C;
  3. inisialisasi kontrak pada B2 oleh peserta C;
  4. Mendengarkan kontrak B2 oleh A;
  5. memberikan kunci dan menarik uang ke B2 oleh peserta A;
  6. mendapatkan kunci pada B2 oleh peserta C;
  7. Penarikan uang di B1 oleh pihak S.

Teknologi ini baru, tetapi sudah diperkenalkan secara aktif. Mungkin dalam waktu dekat dia akan dapat menggantikan alien yang terpusat dan secara ideologis untuk pertukaran blockchain.

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


All Articles