blockchain

Blockchain: Cara Kerja Stellar Network

Decentralized network

decentralization

Decentralized network terdiri dari server yang berjalan secara independent dari satu sama lain. Kekuasaan untuk mengirimkan informasi terdistribusi pada setiap titik, dan bukan tersentral pada server pusat seperti pada Centralized network.

Ini artinya bahwa Stellar network tidak tergantung pada satu titik entity tertentu. Maksudnya adalah untuk membuat sebanyak-banyaknya server independent yang berpartisipasi pada Stellar network, sehingga network akan tetap dapat berjalan walaupun beberapa server tidak berfungsi.

Ledger

ledger

Seperti halnya traditional ledger, Stellar ledger mencatat daftar data saldo dan detail transaksi milik setiap account yang ada pada network. Copy lengkap dari Stellar ledger (global ledger) disimpan pada setiap server yang menjalankan Stellar software. Setiap titik pada network dapat menjalankan Stellar server.

Server-server ini membentuk formasi decentralized Stellar network, yang memungkinkan ledger didistribusikan seluas-luasnya. Server-server ini akan melakukan sinkronisasi dan validasi ledger dengan suatu mekanisme yang disebut consensus.

Consensus

consensus

Stellar server melalukan komunikasi dan sinkronisasi satu sama lain untuk memastikan bahwa transaksi yang terjadi adalah valid dan bisa disimpan ke global ledger dengan benar.

Misalnya kita ingin mengirim $5 ke seseorang di network, maka sejumlah trusted servers akan memulai proses persetujuan atas validitas $5 yang akan kita kirimkan tersebut. Mayoritas dari server-server ini akan harus menyetujui (mencapai consensus) bahwa kita benar-benar punya $5 ini pada network sebelum server-server ini menandai bahwa transaksi ini valid.

Keseluruhan proses untuk mencapai consensus pada Stellar network terjadi kira-kira hanya dalam 2-5 detik.

Prof. David Mazières menjelaskan proses teknis consensus ini pada white paper, The Stellar Consensus Protocol (SCP). Kita bisa cek juga ini: penjelasan SCP.

Anchors, trust, dan credit

anchor

Anchor adalah entitas yang dapat dipercaya (trusted) oleh masyarakat untuk menyimpan uang (deposit) dan mengeluarkannya (credit) kedalam Stellar network. Anchor berfungsi sebagai jembatan antara bermacam mata uang dengan Stellar network. Semua transaksi uang pada Stellar network (kecuali native digital currency lumens) terjadi dalam bentuk credit yang dikeluarkan oleh anchor.

Anchor hanya melakukan 2 tugas sederhana:

  1. Menerima deposit kita dan mengeluarkan credit yang terkait ke account address kita pada Stellar ledger.
  2. Kita bisa menarik uang kita dari anchor berdasarkan credit yang mereka keluarkan.

Kita mesti mempunyai trust terhadap anchor untuk memastikan bahwa deposit kita dan penarikan uang atas credit yang mereka keluarkan dapat dipercaya.

Anchor sebenarnya sudah ada saat ini (sebelum Stellar muncul). Misalnya, untuk bisa menggunakan Paypal, kita deposit sejumlah uang dari account bank ke Paypal. Paypal lalu memberikan kita credit pada Paypal account kita. Lalu kita bisa kirimkan Paypal credit tadi kepada semua orang yang punya trust juga ke Paypal (yaitu semua orang yang punya Paypal account). Seseorang yang menerima Paypal credit yang kita kirimkan bisa menkonversinya menjadi uang beneran dengan cara menariknya (withdrawal) dari Paypal ke rekening banknya.

Pada Stellar, anchor menjalankan fungsi yang sama dengan itu. Bedanya, semua “Paypals” dan anchor lainnya beroperasi pada network yang sama sehingga mereka bisa bertransaksi satu sama lain – inilah yang membuat system ini semakin powerful. Masyarakat dapat dengan mudah mengirim dan menukarkan uang (credit) yang ada pada setiap anchor.

Distributed Exchange

distributed-exchange

Stellar ledger bisa menyimpan offers atas jual atau beli currency yang dibuat oleh masyarakat. Offer adalah komitmen public untuk mempertukarkan satu jenis credit dengan jenis lainnya pada rate yang sudah ditentukan. Ledger menjadi semacam marketplace global yang menyimpan semua offers.

Semua offer ini akan membentuk orderbook. Ada satu orderbook untuk setiap pasangan currency/issuer. Jadi jika kita ingin menukarkan Virgin Bank/EUR terhadap bitstamp/BTC, maka kita cari pada orderbook terkait pada ledger untuk melihat berapa yang dibeli dan dijual oleh masyarakat atas currency tersebut.

Ini memungkinkan masyarakat bukan hanya bisa membeli dan menjual suatu currency dalam currency lainnya seperti halnya pada foreign exchange biasa, tapi juga bisa melakukan konversi langsung pada saat transaksi terjadi.

Tranksaksi Multi-currency

multicurrency

Stellar memungkinkan kita mengirim currency apapun ke orang lain dalam currency lainnya melalui  built-in distributed exchange. Masyarakat dapat menerima uang dalam currency apapun melalui anchor.

Misalnya, Amy mau kirim EUR ke Bob, menggunakan USD yang dimilikinya. Stellar secara otomatis men-submit offer tersebut kedalam distributed exchange untuk menjual USD ke EUR. Network mencarikan rate yang paling baik untuk transaksi ini.

Ada beberapa kemungkinan yang terjadi atas transaksi ini:

Konversi melalui offer lain

Stellar mencarikan offer lain atas offer USD/EUR dari transaksi orang lain yang ingin membeli EUR dari USD dan secara otomatis membuat transaksi exchange antara kedua belah pihak.

Menggunakan lumens sebagai currency antara

Stellar mencarikan offer lain pada network yang menginginkan USD untuk ditukar dengan lumens (native — purely digital — currency). Secara simultan Stellar juga akan mencarikan offer yang menginginkan lumens ditukar dengan EUR. Network membuat transaksi pertukaran itu semua terjadi dan mengirim hasilnya ke Bob berupa euro credit.

Serangkaian konversi

Jika tidak ada hubungan explicit antara offers untuk buy dan sell seperti di atas, Stellar akan mencoba mencarikan offers dari network yang berujung pada serangkaian conversions dari EUR ke USD. Misalnya EUR ke AUD, AUD ke BTC, BTC ke XLM, lalu XLM ke USD

 

Akhmad D. Sembiring
CEO vitraining.com
Blockchain Expert Indonesia