Hyperledger Sawtooth di Blockchain

Pemula6/3/2024, 3:07:33 PM
Hyperledger Sawtooth adalah platform blockchain perusahaan yang dapat membuat jaringan dan aplikasi buku besar terdistribusi. Artikel ini akan memperkenalkan bagaimana platform beroperasi dan atribut inti, serta menyajikan skenario aplikasinya.

Hyperledger Sawtooth adalah platform blockchain perusahaan yang membuat jaringan dan aplikasi buku besar terdistribusi. Filosofi desainnya berfokus pada memelihara buku besar terdistribusi dan mengamankan kontrak pintar, terutama untuk aplikasi perusahaan. Sawtooth menggunakan teknologi blockchain sebagai layanan (BaaS).
Sawtooth juga sangat modular. Modularitas ini memungkinkan perusahaan dan konsorsium untuk menentukan kebijakan di bidang kompetensi masing-masing. Aplikasi dapat memilih algoritma transaksional, izin, dan konsensus yang paling cocok dengan persyaratan bisnis unik mereka karena desain fundamental Sawtooth. Sebagian besar sistem berbasis blockchain yang digunakan saat ini meng-host dan menjalankan inti dan aplikasi mereka pada platform yang sama, yang mungkin berdampak pada keamanan dan kinerja.

Apa itu Hyperledger Sawtooth?

Hyperledger sawtooth adalah platform layanan blockchain-as-a-service open-source yang dapat menjalankan kontrak pintar yang disesuaikan tanpa perlu mengetahui desain inti dari sistem tersebut.

  • Platform ini mendukung berbagai algoritma konsensus termasuk PBFT dan PoET.
  • Desain yang ramah pengguna memberikan kinerja yang sempurna untuk penggunaan perusahaan.
  • Dukung pemisahan izin yaitu tidak ada layanan terpusat yang dapat mengungkap informasi rahasia.

Bagaimana Hyperledger Sawtooth Bekerja?

Hyperledger Sawtooth adalah platform modular untuk membangun, mendeploy, dan menjalankan buku besar terdistribusi (juga disebut blockchain). Ini mencakup algoritma konsensus inovatif yang disebut "Proof of Elapsed Time" (PoET), yang menggunakan lingkungan eksekusi terpercaya (TEEs) untuk memastikan bahwa konsensus tercapai dengan adil dan efisien. Sawtooth juga memiliki desain modular yang memungkinkan penggunaan algoritma konsensus yang dapat disematkan dan mendukung jaringan berizin dan tanpa izin.

  • Komponen inti Sawtooth adalah buku besar terdistribusi yang mencatat log dari semua transaksi dan eksekusi kontrak pintar. Buku besar direplikasi di seluruh node dalam jaringan, dan transaksi diproses secara paralel untuk meningkatkan kinerja.
  • Sawtooth juga mencakup mesin kontrak pintar yang disebut “Sawtooth Lake” yang memungkinkan untuk penyebaran dan pelaksanaan kontrak pintar dengan mudah. Platform ini juga menyediakan RESTful API untuk berinteraksi dengan ledger dan mengirimkan transaksi.
  • Sawtooth dirancang untuk sangat dapat diskalakan dan dapat mendukung jaringan dengan ribuan node dan jutaan transaksi per detik.
  • Secara keseluruhan, Hyperledger Sawtooth adalah platform yang fleksibel dan kuat untuk membangun dan mendeploy buku besar terdistribusi yang dapat digunakan untuk berbagai aplikasi, seperti manajemen rantai pasokan, pelacakan aset digital, dan sistem pemungutan suara.
  • Hyperledger Sawtooth membuat lebih mudah untuk mengembangkan aplikasi sambil tetap menjaga keamanan sistem dengan memisahkan sistem ledger inti dari lingkungan yang relevan untuk setiap aplikasi.
  • Pengembang aplikasi dapat menggambarkan aturan bisnis yang sesuai untuk aplikasi mereka tanpa perlu mengenal arsitektur dasar dari sistem inti. Desain ini memungkinkan pengembang untuk membangun aplikasi yang dapat dihoskan, dikelola, dan digunakan di luar jaringan blockchain inti dalam bahasa pemrograman favorit mereka.

Algoritma Konsensus Hyperledger Sawtooth

Hyperledger Sawtooth mencakup desain modular yang memungkinkan algoritma konsensus yang dapat dicolokkan. Beberapa algoritma konsensus yang didukung oleh Sawtooth termasuk:

SKIP

  1. PoET (Proof of Elapsed Time): Ini adalah algoritma konsensus default di Sawtooth. Ini menggunakan lingkungan eksekusi yang terpercaya (TEEs) untuk memastikan bahwa konsensus tercapai secara adil dan efisien. PoET menggunakan proses pemilihan pemimpin acak dan waktu tunggu untuk memastikan bahwa semua peserta memiliki kesempatan yang sama untuk dipilih sebagai pemimpin.
  2. PBFT (Practical Byzantine Fault Tolerance): Ini adalah algoritma konsensus klasik yang banyak digunakan dalam sistem terdistribusi. Ini menggunakan proses voting replika untuk memastikan bahwa jaringan mencapai konsensus. PBFT cocok untuk jaringan berizin dengan seperangkat peserta yang diketahui.
  3. Raft: Dirancang untuk sistem terdistribusi dengan tingkat perubahan tinggi, Raft adalah algoritma konsensus. Ini menggunakan metodologi berbasis pemimpin dan memungkinkan pemulihan partisi jaringan yang cepat.
  4. Devmode: Teknik konsensus yang langsung ini dimaksudkan untuk pengujian dan pengembangan. Tanpa memerlukan konsensus, itu memungkinkan pemrosesan transaksi secara paralel.

Algoritma konsensus yang lebih canggih seperti PoA (Proof of Authority), PoS (Proof of Stake), dll juga dapat digunakan dengan Sawtooth dengan menginstal mesin konsensus yang sesuai.
Secara keseluruhan, desain modular Sawtooth memungkinkan penggunaan berbagai algoritma konsensus berdasarkan persyaratan spesifik dari aplikasi, seperti kinerja, keamanan, dan model kepercayaan.

Fitur dari Hyperledger Sawtooth

1. Pemisahan Antara Tingkat Aplikasi dan Sistem Inti

Sawtooth memisahkan level aplikasi dari level sistem inti, sehingga lebih mudah untuk merancang dan mendeploy program. Pengembang aplikasi dapat merancang logika kontrak dalam bahasa pilihan mereka dengan bantuan Sawtooth. Sawtooth menawarkan abstraksi untuk kontrak pintar. Aplikasi mencakup logika bisnis asli atau mesin virtual untuk kontrak pintar. Sebenarnya, sebuah blockchain tunggal dapat mendukung kedua jenis aplikasi tersebut. Opsi arsitektural ini dimungkinkan oleh Sawtooth pada lapisan pemrosesan transaksi, memungkinkan adanya beberapa jenis aplikasi dalam satu instansi jaringan blockchain yang sama.

2. Fitur Izin Sawtooth di Jaringan Pribadi

Sawtooth diciptakan untuk mengatasi masalah yang terkait dengan jaringan berizin (privat). Klaster node Sawtooth dapat dengan mudah diterapkan dengan izin independen. Tidak ada layanan terpusat yang mungkin secara tidak sengaja mengungkapkan pola transaksional atau data pribadi lainnya. Peran dan identitas termasuk parameter yang menentukan izin yang disimpan di blockchain sehingga semua orang yang menggunakan jaringan dapat mengaksesnya.

3. Eksekusi Transaksi Paralel

Sebagian besar blockchain menuntut pemrosesan transaksi serial untuk memastikan urutan konsisten di setiap node jaringan. Sebuah penjadwal paralel mutakhir di Sawtooth membagi transaksi ke dalam aliran paralel. Sawtooth mengisolasi eksekusi transaksi satu sama lain sambil mempertahankan perubahan kontekstual berdasarkan lokasi dalam status yang diakses oleh transaksi. Meskipun memungkinkan, transaksi dilakukan secara paralel untuk menghindari pengeluaran ganda bahkan ketika status yang sama dimodifikasi lebih dari satu kali. Dibandingkan dengan eksekusi serial, penjadwalan paralel menawarkan peningkatan kecepatan potensial yang signifikan.

4. Kompatibilitas Kontrak Ethereum dengan Seth

Platform Sawtooth sekarang dapat saling beroperasi dengan Ethereum berkat proyek integrasi Sawtooth-Ethereum, Seth. Keluarga transaksi Seth memungkinkan implementasi kontrak pintar EVM (Ethereum Virtual Machine) pada Sawtooth.

5. Konsensus Dinamis

Konsensus dalam blockchain mengacu pada mencapai pemahaman di antara peserta jaringan. Untuk mencapai konsensus dengan cacat sembarangan, algoritma biasanya memilih di antara kelompok peserta yang telah ditentukan. Baik konsensus gaya Nakamoto maupun variasi dari algoritma Byzantine Fault Tolerance (BFT) konvensional menggunakan banyak putaran pemungutan suara eksplisit untuk mencapai konsensus. Yang pertama memilih seorang pemimpin melalui sistem lotere tertentu. Sawtooth memisahkan konsensus dari semantik transaksi dan mengabstraksi ide-ide dasar di balik konsensus. Sebagai mesin konsensus yang berkomunikasi dengan validator melalui API konsensus, antarmuka konsensus Sawtooth memungkinkan penyisipan berbagai implementasi konsensus.

6. Keluarga Transaksi Contoh

Sebuah keluarga transaksi, yang berfungsi sebagai pemroses transaksi pada node Sawtooth, mengimplementasikan model data dan bahasa transaksi dalam aplikasi Sawtooth. Sawtooth mencakup banyak keluarga transaksi fundamental sebagai model, sementara sebagian besar pengembang aplikasi membuat keluarga transaksi khusus untuk memenuhi kebutuhan khusus ledger mereka:

  • Untuk menguji buku besar yang diterapkan, pengembang menggunakan kunci bilangan bulat.
  • Pengaturan konfigurasi on-chain dapat disimpan menggunakan implementasi referensi yang disediakan oleh Pengaturan.
  • Identity-Manages pada izin-on-chain untuk kunci pengirim dan validator untuk menyederhanakan penanganan identitas untuk kumpulan daftar kunci publik.
  • Sistem Acara: Acara dapat dibuat dan disiarkan menggunakan Hyperledger Sawtooth. Ini memungkinkan aplikasi untuk:
    • Dapatkan pemberitahuan ketika peristiwa terkait blockchain terjadi, seperti ketika blok baru dikonfirmasi atau terjadi fork.
    • Berlangganan acara yang spesifik untuk sebuah aplikasi dan ditentukan oleh sebuah keluarga transaksi.
    • Informasikan kepada klien bagaimana transaksi dilakukan tanpa menyimpan rincian di dalam status.
    • Melalui Soket ZMQ, langganan diajukan dan dipertahankan.

Elemen Arsitektur Hyperledger Sawtooth

Mari kita bahas elemen inti dari arsitektur Hyperledger Sawtooth:

1. Sistem Acara

Dengan melihat contoh Hyperledger Sawtooth apa pun, Anda dapat mengamati bahwa sistem acara terutama memastikan bahwa acara dibuat tanpa masalah dan ditransmisikan ke node. Akibatnya, jika Anda menggunakan sistem acara, Anda dapat membuat aplikasi yang berlangganan acara dan secara otomatis mengambil informasi baru. Hal-hal ini biasanya membuat platform Sawtooth berjalan lebih lancar. Membantu node dalam mengumpulkan informasi yang mereka butuhkan dari acara berkontribusi pada pemeliharaan konsensus penuh.

Proyek Integrasi Sawtooth-Ethereum (Seth) 2.

Ini salah satu karakteristik utama Sawtooth. Anda perlu akrab dengan fungsionalitas ini jika Anda ingin memahami Hyperledger Sawtooth. Ini muncul dalam setiap contoh Hyperledger Sawtooth yang menggabungkan fitur Ethereum. Tapi apa sebenarnya fungsinya? Aplikasi apa yang mereka miliki untuk properti Ethereum? Jadi, komponen kecil ini membantu menjembatani kesenjangan antara kedua platform. Akibatnya, elemen ini dapat digunakan untuk mencapai kompatibilitas antara kedua platform tersebut. Apakah Anda memiliki ide berapa banyak kesempatan yang bisa ditawarkan Seth? Ini adalah tambahan fantastis untuk desain Hyperledger Sawtooth, jadi gunakanlah jika proyek komersial Anda memerlukannya.

3. Algoritma Konsensus yang Dapat Dicolokkan

Menyertakan algoritma konsensus yang dapat disematkan dalam arsitektur Hyperledger Sawtooth adalah fitur lain yang menarik. Mekanisme konsensus yang dapat disematkan adalah kemajuan baru yang fantastis untuk sektor Blockchain. Ini memungkinkan Anda memilih mekanisme konsensus yang diperlukan platform Anda. Secara alami, hanya beberapa konsensus yang sesuai untuk beberapa situasi penggunaan. Untuk membangun produk berbasis Bisnis Blockchain, Anda harus memiliki fleksibilitas. Akibatnya, konsensus yang dapat disematkan Sawtooth membawa dinamika ke depan.

4. Model Keluarga Transaksi

Kelompok transaksi menyediakan berbagai operasi, termasuk memberikan fungsionalitas kontrak pintar Anda. Anda tidak dapat menggunakan sistem Hyperledger Sawtooth tanpa menggunakan kelompok transaksi, seperti yang dapat Anda lihat dari contoh.

  • Keluarga Transaksi Info Blok: Keluarga transaksi Info Blok memungkinkan Anda menyimpan informasi terkait blok.
  • Keluarga Transaksi Bank Kecil: Secara praktis, keluarga ini sangat cocok untuk mengevaluasi dan menguji kelayakan perusahaan Anda.
  • Mengatur Keluarga Transaksi: Anda dapat menyimpan pengaturan on-chain dengan bantuan keluarga Pengaturan, yang juga memberi Anda model referensi untuk melakukannya.
  • Kelompok Transaksi Pendaftaran Validator: Gunakan ini untuk memperluas validator sistem dengan menambahkan anggota baru. Anda tidak dapat menambahkan validator apa pun tanpa menggunakan ini. Oleh karena itu, mutlak diperlukan.
  • Keluarga Transaksi Kunci Integer: Salah satu keluarga transaksi terbaik yang memungkinkan pengujian tanpa sumber daya dari semua buku besar yang diterapkan.
  • Kelompok Transaksi XO: Ini adalah interpretasi yang lebih menghibur dari seluruh jaringan. Permainan tic-tac-toe juga disertakan dalam Sawtooth karena para pencipta jaringan ingin memberikan sedikit kilauan ekstra. Dengan demikian, Anda dapat bermain dengan node mana pun menggunakan ini.
  • Kelompok Transaksi Identifikasi: Ini sebagian besar untuk pelestarian data. Secara khusus, data yang diperbolehkan diakses oleh validator. Lebih penting lagi, ini melacak detail tentang node, termasuk kunci publik mereka dan hal-hal lainnya.

Ada juga dua keluarga transaksi tambahan pada sistem. Mereka adalah tambahan yang relatif baru:

  • Keluarga Transaksi Seth: Berkat keluarga transaksi Seth, Anda dapat menggunakan aplikasi yang dibuat untuk blockchain Ethereum di jaringan. Ini berarti Anda dapat menggunakan kontrak pintar yang dibangun di Solidity atau aplikasi lain.
  • Keluarga Transaksi Sabre: Keluarga Transaksi Sabre adalah metode lain untuk menggunakan kontrak pintar. Ini dapat digunakan untuk menjalankan kontrak pintar di mesin WASM atau mesin WebAssembly virtual. Ini juga memungkinkan kontrak pintar untuk dilaksanakan di rantai.

Aplikasi dari Hyperledger Sawtooth

  • X O: Memainkan permainan tic tac toe untuk mengilustrasikan bagaimana membuat transaksi sederhana. Konstruksi dan mengambil transaksi dalam keluarga transaksi X O menyediakan perintah X O yang memungkinkan dua pemain untuk bermain game. Anda dapat memeriksa Keluarga Transaksi X O untuk detail tambahan.
  • Rantai Pasok Sawtooth: Rantai pasok Sawtooth menunjukkan cara melacak asal dan data kontekstual relevan dari setiap barang. Rantai Pasok menawarkan aplikasi contoh yang mencakup aplikasi web, REST API khusus, dan prosesor transaksi. Aplikasi contoh ini menunjukkan cara untuk menyinkronkan status blockchain ke database lokal untuk kueri yang rumit serta cara terdesentralisasi untuk menandatangani transaksi di browser.
  • Marketplace Sawtooth: Pada blockchain, marketplace Sawtooth memberi instruksi kepada pengguna tentang bagaimana menukar jumlah khusus aset yang spesifik. Dengan bantuan validator Sawtooth dan beberapa komponen lainnya, aplikasi contoh ini akan menjalankan blockchain Sawtooth dan menawarkan RESTful API yang sederhana untuk berkomunikasi dengannya.

Bahasa yang Didukung untuk Proses Transaksi

Hyperledger Sawtooth mendukung penggunaan beberapa bahasa pemrograman untuk proses transaksi. Beberapa bahasa yang didukung termasuk:

  1. Python: Sawtooth menyediakan perpustakaan Python yang disebut “Sawtooth SDK” yang memungkinkan pengembang berinteraksi dengan ledger dan mengirimkan transaksi.
  2. JavaScript: Sawtooth mendukung JavaScript melalui penggunaan “Sawtooth JavaScript SDK” yang menyediakan seperangkat API untuk berinteraksi dengan ledger.
  3. Go: Sawtooth juga menyediakan dukungan untuk Go melalui “Sawtooth Go SDK” yang memungkinkan integrasi mudah dengan aplikasi berbasis Go.
  4. C ++: Sawtooth juga menyediakan dukungan untuk C ++, melalui "Sawtooth C ++ SDK" yang menyediakan C ++ API untuk berinteraksi dengan buku besar.

Bahasa lain seperti Java, Rust, Shell, dll. juga dapat digunakan dengan menggunakan API RESTful yang disediakan oleh Sawtooth. Dukungan Sawtooth untuk berbagai bahasa pemrograman membuat integrasinya menjadi mudah dengan sistem yang sudah ada dan memungkinkan untuk berbagai kasus penggunaan.

Arsitektur Pengembangan Hyperledger Sawtooth

Arsitektur modular dari Hyperledger Sawtooth memungkinkan pembagian perhatian di antara berbagai komponen sistem. Komponen utama dari arsitektur Sawtooth adalah:

  • Ledger Terdistribusi: Komponen ini bertanggung jawab untuk mempertahankan log dari semua transaksi dan eksekusi kontrak cerdas. Ledger direplikasi di seluruh node dalam jaringan dan transaksi diproses secara paralel untuk meningkatkan kinerja.
  • Pengolah Transaksi: Komponen ini bertanggung jawab untuk memproses transaksi dan memperbarui status buku besar. Ini juga termasuk mesin kontrak pintar yang disebut “Sawtooth Lake” yang memungkinkan untuk penyebaran dan eksekusi kontrak pintar dengan mudah.
  • Algoritma Konsensus: Komponen ini bertanggung jawab untuk memastikan bahwa jaringan mencapai kesepakatan tentang keadaan buku besar. Sawtooth mendukung beberapa algoritma konsensus, termasuk PoET, PBFT, Raft, dan Devmode.
  • REST API: Komponen ini menyediakan API RESTful untuk berinteraksi dengan ledger dan mengirimkan transaksi. Ini memungkinkan integrasi yang mudah dengan sistem-sistem yang ada dan mendukung beberapa bahasa pemrograman.
  • Validator: Komponen ini bertanggung jawab untuk memvalidasi transaksi dan blok sebelum ditambahkan ke buku besar. Ini memastikan bahwa transaksi terbentuk dengan baik dan sesuai dengan aturan kontrak cerdas.
  • Penjadwal Transaksi: Komponen ini bertanggung jawab untuk menjadwalkan urutan di mana transaksi diproses oleh jaringan. Hal ini memastikan bahwa transaksi yang bertentangan diproses dengan cara yang menghindari konflik dan menjaga konsistensi dalam ledger.
  • Mesin Konsensus: Setiap algoritma konsensus memiliki mesinnya sendiri yang menjalankan protokol konsensus dan berkomunikasi dengan komponen lain dari sistem.

Hyperledger Sawtooth bekerja

Hyperledger Sawtooth dapat digunakan untuk membangun berbagai aplikasi buku besar terdistribusi. Beberapa contoh bagaimana Sawtooth dapat digunakan dalam berbagai industri termasuk:

  • Manajemen Rantai Pasok: Sawtooth dapat digunakan untuk membangun sistem manajemen rantai pasok yang tidak dapat dipalsukan dan transparan. Ini dapat digunakan untuk melacak pergerakan barang, dari titik asal ke tujuan akhir, memberikan visibilitas dan akuntabilitas bagi semua pihak yang terlibat.
  • Layanan Keuangan: Sawtooth dapat digunakan untuk membangun sistem yang aman dan efisien untuk transaksi keuangan dan pencatatan. Ini dapat digunakan untuk kegiatan seperti pembiayaan perdagangan, manajemen aset digital, dan pelaporan kepatuhan
  • Pelayanan kesehatan: Sawtooth dapat digunakan untuk membangun sistem yang aman dan pribadi untuk berbagi catatan medis di antara penyedia layanan kesehatan. Hal ini dapat digunakan untuk memastikan bahwa data pasien hanya dapat diakses oleh pihak yang berwenang, sambil tetap menyediakan cara yang efisien untuk berbagi data di antara dokter, rumah sakit, dan perusahaan asuransi
  • Manajemen Identitas: Sawtooth dapat digunakan untuk membangun sistem manajemen identitas yang terdesentralisasi dan tahan terhadap manipulasi. Ini dapat digunakan untuk menyimpan dan memvalidasi identitas dan kredensial serta memberikan akses yang aman dan privat ke layanan dan sumber daya.
  • Manajemen Energi: Sawtooth dapat digunakan untuk membangun sistem untuk mengelola dan melacak produksi, distribusi, dan konsumsi energi. Ini dapat digunakan untuk memungkinkan perdagangan energi antar rekan, melacak dan memverifikasi kredit energi terbarukan, dan mengelola distribusi energi dari mikrogri.

Ini hanya beberapa contoh, dan Sawtooth cukup fleksibel untuk digunakan dalam berbagai industri dan aplikasi lainnya juga. Arsitektur modular Sawtooth dan dukungannya untuk berbagai algoritma konsensus menjadikannya platform yang kuat untuk membangun dan mendeploy buku besar terdistribusi yang dapat digunakan untuk berbagai kasus penggunaan.

Musim panas sudah tiba dan saatnya untuk meningkatkan keterampilan! Lebih dari 5.000 pembelajar kini telah menyelesaikan perjalanan dari dasar DSA hingga program pengembangan tingkat lanjut seperti Full-Stack, Pengembangan Backend, Ilmu Data. \
\
Dan mengapa pergi ke tempat lain ketika kita DSA ke Pengembangan: Panduan Kodeakan membantu Anda menguasai semua ini dalam beberapa bulan! Daftar sekarang ke DSA ke Program Pengembangandan konselor kami akan terhubung dengan Anda untuk panduan & dukungan lebih lanjut.

Penafian:

  1. Artikel ini dicetak ulang dari [ geeksforgeeks]. Semua hak cipta milik penulis asli [geeksforgeeks]. Jika ada keberatan terhadap pencetakan ulang ini, silakan hubungi Pintu Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penafian Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau melakukan plagiarisme terhadap artikel yang diterjemahkan dilarang.

Hyperledger Sawtooth di Blockchain

Pemula6/3/2024, 3:07:33 PM
Hyperledger Sawtooth adalah platform blockchain perusahaan yang dapat membuat jaringan dan aplikasi buku besar terdistribusi. Artikel ini akan memperkenalkan bagaimana platform beroperasi dan atribut inti, serta menyajikan skenario aplikasinya.

Hyperledger Sawtooth adalah platform blockchain perusahaan yang membuat jaringan dan aplikasi buku besar terdistribusi. Filosofi desainnya berfokus pada memelihara buku besar terdistribusi dan mengamankan kontrak pintar, terutama untuk aplikasi perusahaan. Sawtooth menggunakan teknologi blockchain sebagai layanan (BaaS).
Sawtooth juga sangat modular. Modularitas ini memungkinkan perusahaan dan konsorsium untuk menentukan kebijakan di bidang kompetensi masing-masing. Aplikasi dapat memilih algoritma transaksional, izin, dan konsensus yang paling cocok dengan persyaratan bisnis unik mereka karena desain fundamental Sawtooth. Sebagian besar sistem berbasis blockchain yang digunakan saat ini meng-host dan menjalankan inti dan aplikasi mereka pada platform yang sama, yang mungkin berdampak pada keamanan dan kinerja.

Apa itu Hyperledger Sawtooth?

Hyperledger sawtooth adalah platform layanan blockchain-as-a-service open-source yang dapat menjalankan kontrak pintar yang disesuaikan tanpa perlu mengetahui desain inti dari sistem tersebut.

  • Platform ini mendukung berbagai algoritma konsensus termasuk PBFT dan PoET.
  • Desain yang ramah pengguna memberikan kinerja yang sempurna untuk penggunaan perusahaan.
  • Dukung pemisahan izin yaitu tidak ada layanan terpusat yang dapat mengungkap informasi rahasia.

Bagaimana Hyperledger Sawtooth Bekerja?

Hyperledger Sawtooth adalah platform modular untuk membangun, mendeploy, dan menjalankan buku besar terdistribusi (juga disebut blockchain). Ini mencakup algoritma konsensus inovatif yang disebut "Proof of Elapsed Time" (PoET), yang menggunakan lingkungan eksekusi terpercaya (TEEs) untuk memastikan bahwa konsensus tercapai dengan adil dan efisien. Sawtooth juga memiliki desain modular yang memungkinkan penggunaan algoritma konsensus yang dapat disematkan dan mendukung jaringan berizin dan tanpa izin.

  • Komponen inti Sawtooth adalah buku besar terdistribusi yang mencatat log dari semua transaksi dan eksekusi kontrak pintar. Buku besar direplikasi di seluruh node dalam jaringan, dan transaksi diproses secara paralel untuk meningkatkan kinerja.
  • Sawtooth juga mencakup mesin kontrak pintar yang disebut “Sawtooth Lake” yang memungkinkan untuk penyebaran dan pelaksanaan kontrak pintar dengan mudah. Platform ini juga menyediakan RESTful API untuk berinteraksi dengan ledger dan mengirimkan transaksi.
  • Sawtooth dirancang untuk sangat dapat diskalakan dan dapat mendukung jaringan dengan ribuan node dan jutaan transaksi per detik.
  • Secara keseluruhan, Hyperledger Sawtooth adalah platform yang fleksibel dan kuat untuk membangun dan mendeploy buku besar terdistribusi yang dapat digunakan untuk berbagai aplikasi, seperti manajemen rantai pasokan, pelacakan aset digital, dan sistem pemungutan suara.
  • Hyperledger Sawtooth membuat lebih mudah untuk mengembangkan aplikasi sambil tetap menjaga keamanan sistem dengan memisahkan sistem ledger inti dari lingkungan yang relevan untuk setiap aplikasi.
  • Pengembang aplikasi dapat menggambarkan aturan bisnis yang sesuai untuk aplikasi mereka tanpa perlu mengenal arsitektur dasar dari sistem inti. Desain ini memungkinkan pengembang untuk membangun aplikasi yang dapat dihoskan, dikelola, dan digunakan di luar jaringan blockchain inti dalam bahasa pemrograman favorit mereka.

Algoritma Konsensus Hyperledger Sawtooth

Hyperledger Sawtooth mencakup desain modular yang memungkinkan algoritma konsensus yang dapat dicolokkan. Beberapa algoritma konsensus yang didukung oleh Sawtooth termasuk:

SKIP

  1. PoET (Proof of Elapsed Time): Ini adalah algoritma konsensus default di Sawtooth. Ini menggunakan lingkungan eksekusi yang terpercaya (TEEs) untuk memastikan bahwa konsensus tercapai secara adil dan efisien. PoET menggunakan proses pemilihan pemimpin acak dan waktu tunggu untuk memastikan bahwa semua peserta memiliki kesempatan yang sama untuk dipilih sebagai pemimpin.
  2. PBFT (Practical Byzantine Fault Tolerance): Ini adalah algoritma konsensus klasik yang banyak digunakan dalam sistem terdistribusi. Ini menggunakan proses voting replika untuk memastikan bahwa jaringan mencapai konsensus. PBFT cocok untuk jaringan berizin dengan seperangkat peserta yang diketahui.
  3. Raft: Dirancang untuk sistem terdistribusi dengan tingkat perubahan tinggi, Raft adalah algoritma konsensus. Ini menggunakan metodologi berbasis pemimpin dan memungkinkan pemulihan partisi jaringan yang cepat.
  4. Devmode: Teknik konsensus yang langsung ini dimaksudkan untuk pengujian dan pengembangan. Tanpa memerlukan konsensus, itu memungkinkan pemrosesan transaksi secara paralel.

Algoritma konsensus yang lebih canggih seperti PoA (Proof of Authority), PoS (Proof of Stake), dll juga dapat digunakan dengan Sawtooth dengan menginstal mesin konsensus yang sesuai.
Secara keseluruhan, desain modular Sawtooth memungkinkan penggunaan berbagai algoritma konsensus berdasarkan persyaratan spesifik dari aplikasi, seperti kinerja, keamanan, dan model kepercayaan.

Fitur dari Hyperledger Sawtooth

1. Pemisahan Antara Tingkat Aplikasi dan Sistem Inti

Sawtooth memisahkan level aplikasi dari level sistem inti, sehingga lebih mudah untuk merancang dan mendeploy program. Pengembang aplikasi dapat merancang logika kontrak dalam bahasa pilihan mereka dengan bantuan Sawtooth. Sawtooth menawarkan abstraksi untuk kontrak pintar. Aplikasi mencakup logika bisnis asli atau mesin virtual untuk kontrak pintar. Sebenarnya, sebuah blockchain tunggal dapat mendukung kedua jenis aplikasi tersebut. Opsi arsitektural ini dimungkinkan oleh Sawtooth pada lapisan pemrosesan transaksi, memungkinkan adanya beberapa jenis aplikasi dalam satu instansi jaringan blockchain yang sama.

2. Fitur Izin Sawtooth di Jaringan Pribadi

Sawtooth diciptakan untuk mengatasi masalah yang terkait dengan jaringan berizin (privat). Klaster node Sawtooth dapat dengan mudah diterapkan dengan izin independen. Tidak ada layanan terpusat yang mungkin secara tidak sengaja mengungkapkan pola transaksional atau data pribadi lainnya. Peran dan identitas termasuk parameter yang menentukan izin yang disimpan di blockchain sehingga semua orang yang menggunakan jaringan dapat mengaksesnya.

3. Eksekusi Transaksi Paralel

Sebagian besar blockchain menuntut pemrosesan transaksi serial untuk memastikan urutan konsisten di setiap node jaringan. Sebuah penjadwal paralel mutakhir di Sawtooth membagi transaksi ke dalam aliran paralel. Sawtooth mengisolasi eksekusi transaksi satu sama lain sambil mempertahankan perubahan kontekstual berdasarkan lokasi dalam status yang diakses oleh transaksi. Meskipun memungkinkan, transaksi dilakukan secara paralel untuk menghindari pengeluaran ganda bahkan ketika status yang sama dimodifikasi lebih dari satu kali. Dibandingkan dengan eksekusi serial, penjadwalan paralel menawarkan peningkatan kecepatan potensial yang signifikan.

4. Kompatibilitas Kontrak Ethereum dengan Seth

Platform Sawtooth sekarang dapat saling beroperasi dengan Ethereum berkat proyek integrasi Sawtooth-Ethereum, Seth. Keluarga transaksi Seth memungkinkan implementasi kontrak pintar EVM (Ethereum Virtual Machine) pada Sawtooth.

5. Konsensus Dinamis

Konsensus dalam blockchain mengacu pada mencapai pemahaman di antara peserta jaringan. Untuk mencapai konsensus dengan cacat sembarangan, algoritma biasanya memilih di antara kelompok peserta yang telah ditentukan. Baik konsensus gaya Nakamoto maupun variasi dari algoritma Byzantine Fault Tolerance (BFT) konvensional menggunakan banyak putaran pemungutan suara eksplisit untuk mencapai konsensus. Yang pertama memilih seorang pemimpin melalui sistem lotere tertentu. Sawtooth memisahkan konsensus dari semantik transaksi dan mengabstraksi ide-ide dasar di balik konsensus. Sebagai mesin konsensus yang berkomunikasi dengan validator melalui API konsensus, antarmuka konsensus Sawtooth memungkinkan penyisipan berbagai implementasi konsensus.

6. Keluarga Transaksi Contoh

Sebuah keluarga transaksi, yang berfungsi sebagai pemroses transaksi pada node Sawtooth, mengimplementasikan model data dan bahasa transaksi dalam aplikasi Sawtooth. Sawtooth mencakup banyak keluarga transaksi fundamental sebagai model, sementara sebagian besar pengembang aplikasi membuat keluarga transaksi khusus untuk memenuhi kebutuhan khusus ledger mereka:

  • Untuk menguji buku besar yang diterapkan, pengembang menggunakan kunci bilangan bulat.
  • Pengaturan konfigurasi on-chain dapat disimpan menggunakan implementasi referensi yang disediakan oleh Pengaturan.
  • Identity-Manages pada izin-on-chain untuk kunci pengirim dan validator untuk menyederhanakan penanganan identitas untuk kumpulan daftar kunci publik.
  • Sistem Acara: Acara dapat dibuat dan disiarkan menggunakan Hyperledger Sawtooth. Ini memungkinkan aplikasi untuk:
    • Dapatkan pemberitahuan ketika peristiwa terkait blockchain terjadi, seperti ketika blok baru dikonfirmasi atau terjadi fork.
    • Berlangganan acara yang spesifik untuk sebuah aplikasi dan ditentukan oleh sebuah keluarga transaksi.
    • Informasikan kepada klien bagaimana transaksi dilakukan tanpa menyimpan rincian di dalam status.
    • Melalui Soket ZMQ, langganan diajukan dan dipertahankan.

Elemen Arsitektur Hyperledger Sawtooth

Mari kita bahas elemen inti dari arsitektur Hyperledger Sawtooth:

1. Sistem Acara

Dengan melihat contoh Hyperledger Sawtooth apa pun, Anda dapat mengamati bahwa sistem acara terutama memastikan bahwa acara dibuat tanpa masalah dan ditransmisikan ke node. Akibatnya, jika Anda menggunakan sistem acara, Anda dapat membuat aplikasi yang berlangganan acara dan secara otomatis mengambil informasi baru. Hal-hal ini biasanya membuat platform Sawtooth berjalan lebih lancar. Membantu node dalam mengumpulkan informasi yang mereka butuhkan dari acara berkontribusi pada pemeliharaan konsensus penuh.

Proyek Integrasi Sawtooth-Ethereum (Seth) 2.

Ini salah satu karakteristik utama Sawtooth. Anda perlu akrab dengan fungsionalitas ini jika Anda ingin memahami Hyperledger Sawtooth. Ini muncul dalam setiap contoh Hyperledger Sawtooth yang menggabungkan fitur Ethereum. Tapi apa sebenarnya fungsinya? Aplikasi apa yang mereka miliki untuk properti Ethereum? Jadi, komponen kecil ini membantu menjembatani kesenjangan antara kedua platform. Akibatnya, elemen ini dapat digunakan untuk mencapai kompatibilitas antara kedua platform tersebut. Apakah Anda memiliki ide berapa banyak kesempatan yang bisa ditawarkan Seth? Ini adalah tambahan fantastis untuk desain Hyperledger Sawtooth, jadi gunakanlah jika proyek komersial Anda memerlukannya.

3. Algoritma Konsensus yang Dapat Dicolokkan

Menyertakan algoritma konsensus yang dapat disematkan dalam arsitektur Hyperledger Sawtooth adalah fitur lain yang menarik. Mekanisme konsensus yang dapat disematkan adalah kemajuan baru yang fantastis untuk sektor Blockchain. Ini memungkinkan Anda memilih mekanisme konsensus yang diperlukan platform Anda. Secara alami, hanya beberapa konsensus yang sesuai untuk beberapa situasi penggunaan. Untuk membangun produk berbasis Bisnis Blockchain, Anda harus memiliki fleksibilitas. Akibatnya, konsensus yang dapat disematkan Sawtooth membawa dinamika ke depan.

4. Model Keluarga Transaksi

Kelompok transaksi menyediakan berbagai operasi, termasuk memberikan fungsionalitas kontrak pintar Anda. Anda tidak dapat menggunakan sistem Hyperledger Sawtooth tanpa menggunakan kelompok transaksi, seperti yang dapat Anda lihat dari contoh.

  • Keluarga Transaksi Info Blok: Keluarga transaksi Info Blok memungkinkan Anda menyimpan informasi terkait blok.
  • Keluarga Transaksi Bank Kecil: Secara praktis, keluarga ini sangat cocok untuk mengevaluasi dan menguji kelayakan perusahaan Anda.
  • Mengatur Keluarga Transaksi: Anda dapat menyimpan pengaturan on-chain dengan bantuan keluarga Pengaturan, yang juga memberi Anda model referensi untuk melakukannya.
  • Kelompok Transaksi Pendaftaran Validator: Gunakan ini untuk memperluas validator sistem dengan menambahkan anggota baru. Anda tidak dapat menambahkan validator apa pun tanpa menggunakan ini. Oleh karena itu, mutlak diperlukan.
  • Keluarga Transaksi Kunci Integer: Salah satu keluarga transaksi terbaik yang memungkinkan pengujian tanpa sumber daya dari semua buku besar yang diterapkan.
  • Kelompok Transaksi XO: Ini adalah interpretasi yang lebih menghibur dari seluruh jaringan. Permainan tic-tac-toe juga disertakan dalam Sawtooth karena para pencipta jaringan ingin memberikan sedikit kilauan ekstra. Dengan demikian, Anda dapat bermain dengan node mana pun menggunakan ini.
  • Kelompok Transaksi Identifikasi: Ini sebagian besar untuk pelestarian data. Secara khusus, data yang diperbolehkan diakses oleh validator. Lebih penting lagi, ini melacak detail tentang node, termasuk kunci publik mereka dan hal-hal lainnya.

Ada juga dua keluarga transaksi tambahan pada sistem. Mereka adalah tambahan yang relatif baru:

  • Keluarga Transaksi Seth: Berkat keluarga transaksi Seth, Anda dapat menggunakan aplikasi yang dibuat untuk blockchain Ethereum di jaringan. Ini berarti Anda dapat menggunakan kontrak pintar yang dibangun di Solidity atau aplikasi lain.
  • Keluarga Transaksi Sabre: Keluarga Transaksi Sabre adalah metode lain untuk menggunakan kontrak pintar. Ini dapat digunakan untuk menjalankan kontrak pintar di mesin WASM atau mesin WebAssembly virtual. Ini juga memungkinkan kontrak pintar untuk dilaksanakan di rantai.

Aplikasi dari Hyperledger Sawtooth

  • X O: Memainkan permainan tic tac toe untuk mengilustrasikan bagaimana membuat transaksi sederhana. Konstruksi dan mengambil transaksi dalam keluarga transaksi X O menyediakan perintah X O yang memungkinkan dua pemain untuk bermain game. Anda dapat memeriksa Keluarga Transaksi X O untuk detail tambahan.
  • Rantai Pasok Sawtooth: Rantai pasok Sawtooth menunjukkan cara melacak asal dan data kontekstual relevan dari setiap barang. Rantai Pasok menawarkan aplikasi contoh yang mencakup aplikasi web, REST API khusus, dan prosesor transaksi. Aplikasi contoh ini menunjukkan cara untuk menyinkronkan status blockchain ke database lokal untuk kueri yang rumit serta cara terdesentralisasi untuk menandatangani transaksi di browser.
  • Marketplace Sawtooth: Pada blockchain, marketplace Sawtooth memberi instruksi kepada pengguna tentang bagaimana menukar jumlah khusus aset yang spesifik. Dengan bantuan validator Sawtooth dan beberapa komponen lainnya, aplikasi contoh ini akan menjalankan blockchain Sawtooth dan menawarkan RESTful API yang sederhana untuk berkomunikasi dengannya.

Bahasa yang Didukung untuk Proses Transaksi

Hyperledger Sawtooth mendukung penggunaan beberapa bahasa pemrograman untuk proses transaksi. Beberapa bahasa yang didukung termasuk:

  1. Python: Sawtooth menyediakan perpustakaan Python yang disebut “Sawtooth SDK” yang memungkinkan pengembang berinteraksi dengan ledger dan mengirimkan transaksi.
  2. JavaScript: Sawtooth mendukung JavaScript melalui penggunaan “Sawtooth JavaScript SDK” yang menyediakan seperangkat API untuk berinteraksi dengan ledger.
  3. Go: Sawtooth juga menyediakan dukungan untuk Go melalui “Sawtooth Go SDK” yang memungkinkan integrasi mudah dengan aplikasi berbasis Go.
  4. C ++: Sawtooth juga menyediakan dukungan untuk C ++, melalui "Sawtooth C ++ SDK" yang menyediakan C ++ API untuk berinteraksi dengan buku besar.

Bahasa lain seperti Java, Rust, Shell, dll. juga dapat digunakan dengan menggunakan API RESTful yang disediakan oleh Sawtooth. Dukungan Sawtooth untuk berbagai bahasa pemrograman membuat integrasinya menjadi mudah dengan sistem yang sudah ada dan memungkinkan untuk berbagai kasus penggunaan.

Arsitektur Pengembangan Hyperledger Sawtooth

Arsitektur modular dari Hyperledger Sawtooth memungkinkan pembagian perhatian di antara berbagai komponen sistem. Komponen utama dari arsitektur Sawtooth adalah:

  • Ledger Terdistribusi: Komponen ini bertanggung jawab untuk mempertahankan log dari semua transaksi dan eksekusi kontrak cerdas. Ledger direplikasi di seluruh node dalam jaringan dan transaksi diproses secara paralel untuk meningkatkan kinerja.
  • Pengolah Transaksi: Komponen ini bertanggung jawab untuk memproses transaksi dan memperbarui status buku besar. Ini juga termasuk mesin kontrak pintar yang disebut “Sawtooth Lake” yang memungkinkan untuk penyebaran dan eksekusi kontrak pintar dengan mudah.
  • Algoritma Konsensus: Komponen ini bertanggung jawab untuk memastikan bahwa jaringan mencapai kesepakatan tentang keadaan buku besar. Sawtooth mendukung beberapa algoritma konsensus, termasuk PoET, PBFT, Raft, dan Devmode.
  • REST API: Komponen ini menyediakan API RESTful untuk berinteraksi dengan ledger dan mengirimkan transaksi. Ini memungkinkan integrasi yang mudah dengan sistem-sistem yang ada dan mendukung beberapa bahasa pemrograman.
  • Validator: Komponen ini bertanggung jawab untuk memvalidasi transaksi dan blok sebelum ditambahkan ke buku besar. Ini memastikan bahwa transaksi terbentuk dengan baik dan sesuai dengan aturan kontrak cerdas.
  • Penjadwal Transaksi: Komponen ini bertanggung jawab untuk menjadwalkan urutan di mana transaksi diproses oleh jaringan. Hal ini memastikan bahwa transaksi yang bertentangan diproses dengan cara yang menghindari konflik dan menjaga konsistensi dalam ledger.
  • Mesin Konsensus: Setiap algoritma konsensus memiliki mesinnya sendiri yang menjalankan protokol konsensus dan berkomunikasi dengan komponen lain dari sistem.

Hyperledger Sawtooth bekerja

Hyperledger Sawtooth dapat digunakan untuk membangun berbagai aplikasi buku besar terdistribusi. Beberapa contoh bagaimana Sawtooth dapat digunakan dalam berbagai industri termasuk:

  • Manajemen Rantai Pasok: Sawtooth dapat digunakan untuk membangun sistem manajemen rantai pasok yang tidak dapat dipalsukan dan transparan. Ini dapat digunakan untuk melacak pergerakan barang, dari titik asal ke tujuan akhir, memberikan visibilitas dan akuntabilitas bagi semua pihak yang terlibat.
  • Layanan Keuangan: Sawtooth dapat digunakan untuk membangun sistem yang aman dan efisien untuk transaksi keuangan dan pencatatan. Ini dapat digunakan untuk kegiatan seperti pembiayaan perdagangan, manajemen aset digital, dan pelaporan kepatuhan
  • Pelayanan kesehatan: Sawtooth dapat digunakan untuk membangun sistem yang aman dan pribadi untuk berbagi catatan medis di antara penyedia layanan kesehatan. Hal ini dapat digunakan untuk memastikan bahwa data pasien hanya dapat diakses oleh pihak yang berwenang, sambil tetap menyediakan cara yang efisien untuk berbagi data di antara dokter, rumah sakit, dan perusahaan asuransi
  • Manajemen Identitas: Sawtooth dapat digunakan untuk membangun sistem manajemen identitas yang terdesentralisasi dan tahan terhadap manipulasi. Ini dapat digunakan untuk menyimpan dan memvalidasi identitas dan kredensial serta memberikan akses yang aman dan privat ke layanan dan sumber daya.
  • Manajemen Energi: Sawtooth dapat digunakan untuk membangun sistem untuk mengelola dan melacak produksi, distribusi, dan konsumsi energi. Ini dapat digunakan untuk memungkinkan perdagangan energi antar rekan, melacak dan memverifikasi kredit energi terbarukan, dan mengelola distribusi energi dari mikrogri.

Ini hanya beberapa contoh, dan Sawtooth cukup fleksibel untuk digunakan dalam berbagai industri dan aplikasi lainnya juga. Arsitektur modular Sawtooth dan dukungannya untuk berbagai algoritma konsensus menjadikannya platform yang kuat untuk membangun dan mendeploy buku besar terdistribusi yang dapat digunakan untuk berbagai kasus penggunaan.

Musim panas sudah tiba dan saatnya untuk meningkatkan keterampilan! Lebih dari 5.000 pembelajar kini telah menyelesaikan perjalanan dari dasar DSA hingga program pengembangan tingkat lanjut seperti Full-Stack, Pengembangan Backend, Ilmu Data. \
\
Dan mengapa pergi ke tempat lain ketika kita DSA ke Pengembangan: Panduan Kodeakan membantu Anda menguasai semua ini dalam beberapa bulan! Daftar sekarang ke DSA ke Program Pengembangandan konselor kami akan terhubung dengan Anda untuk panduan & dukungan lebih lanjut.

Penafian:

  1. Artikel ini dicetak ulang dari [ geeksforgeeks]. Semua hak cipta milik penulis asli [geeksforgeeks]. Jika ada keberatan terhadap pencetakan ulang ini, silakan hubungi Pintu Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penafian Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau melakukan plagiarisme terhadap artikel yang diterjemahkan dilarang.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!