Membongkar Kendala Bitcoin: Panduan Audit Komprehensif untuk Teknologi Skala Layer2 BTC

Menengah8/27/2024, 8:04:59 AM
Artikel ini membahas solusi perluasan Layer2 BTC, termasuk Jaringan Lightning, side chain, Rollup, dan teknologi lainnya, yang mencapai transaksi cepat dan biaya rendah melalui mekanisme yang berbeda, sambil juga memastikan desentralisasi dan keamanan jaringan BTC. Jaringan Lightning meningkatkan kecepatan transaksi dan privasi dengan saluran pembayaran dan transaksi di luar rantai, sementara sidechain seperti CKB dan Stacks menyediakan fungsionalitas mandiri dan inovatif melalui pasangan dua arah. Teknologi Rollup meningkatkan throughput dengan memproses volume transaksi di luar rantai, meskipun menghadapi tantangan dalam waktu penyelesaian dan sumber daya komputasi.

Bitcoin (BTC), sebagai cryptocurrency pertama di dunia, secara bertahap menjadi dasar aset digital dan keuangan terdesentralisasi sejak diperkenalkan pada tahun 2009. Namun, seiring dengan peningkatan jumlah pengguna dan volume transaksi, masalah jaringan BTC semakin terlihat, terutama sebagai berikut::

  • Biaya transaksi tinggi: Saat jaringan Bitcoin padat, pengguna perlu membayar biaya lebih tinggi untuk memastikan transaksi dikonfirmasi secepat mungkin.
  • Waktu konfirmasi transaksi: Blockchain Bitcoin menghasilkan blok baru setiap 10 menit rata-rata, artinya transaksi on-chain sering perlu menunggu konfirmasi blok berulang sebelum dianggap final.
  • Keterbatasan kontrak pintar: Bahasa scripting Bitcoin memiliki fungsi terbatas dan sulit untuk mengimplementasikan kontrak pintar yang kompleks.

Dalam artikel ini, kita akanJaringan Lightning(Lightning Network), Sidechain, Rollup, dan teknologi lainnya secara kolektif disebut sebagai solusi perluasan BTC Layer2. Mereka menjaga desentralisasi dan keamanan jaringan BTC sambil mencapai transaksi cepat dan murah. Pengenalan teknologi Layer2 dapat meningkatkan kecepatan transaksi dan mengurangi biaya transaksi, mengoptimalkan pengalaman pengguna, dan memperluas kapasitas jaringan. Ini memberikan dukungan teknis penting dan arah inovasi untuk perkembangan masa depan BTC.

Saat ini, Beosin telah menjadi mitra keamanan resmi BTC Layer2 seperti Merlin Chain., telah diaudit berbagai protokol ekologi BTC, seperti Bitmap.Games、Surf Protocol、Savmswap、Mineral. Dalam pemeriksaan sebelumnya, banyak rantai publik terkenal telah lulus pemeriksaan keamanan rantai publik Beosin, termasuk Ronin Network、Clover、Self Chain、Crust Network. Beosin sekarang meluncurkan solusi audit untuk BTC Layer2 untuk menyediakan layanan audit keamanan komprehensif dan dapat diandalkan untuk seluruh ekosistem BTC.

Lightning Network

Konsep awal Lightning Network disebut “saluran pembayaran”. Ide desainnya adalah untuk terus-menerus memperbarui status transaksi yang belum dikonfirmasi melalui penggantian transaksi sampai akhirnya disiarkan ke jaringan Bitcoin. Satoshi Nakamoto telah mengusulkan ide saluran pembayaran saat menciptakan Bitcoin pada tahun 2009, dan menyertakan kode draf untuk saluran pembayaran dalam Bitcoin 1.0, yang memungkinkan pengguna memperbarui status transaksi sebelum transaksi dikonfirmasi oleh jaringan. Namun, baru setelah rilis white paper “The Bitcoin Lightning Network: Scalable Off-Chain Instant Payment” bahwa Lightning Network benar-benar lahir dan memasuki perhatian publik.

Saat ini, implementasi saluran pembayaran dan Lightning Network sudah sangat matang. Saat ini, Lightning Network memiliki total 13.325 node, 49.417 saluran, dan total jumlah BTC yang dijamin mencapai 4.975.


https://1ml.com/

Dalam Jaringan Lightning, sangat penting untuk memastikan keamanan aset pengguna selama proses transfer. Berikut akan dijelaskan bagaimana Jaringan Lightning beroperasi dan bagaimana melindungi keamanan aset pengguna berdasarkan skala node jaringan.

Pengguna dari kedua belah pihak mengirimkan dua transaksi ke jaringan utama Bitcoin: satu untuk membuka saluran dan satu untuk menutup saluran. Secara kasar dibagi menjadi tiga langkah berikut:

1. Pembukaan saluran:

Pertama, pengguna dari kedua belah pihak menjanjikan Bitcoin ke dompet multi-tanda tangan Lightning Network di BTC. Setelah Bitcoin berhasil dijaminkan dan dikunci, saluran pembayaran dibuka, dan kedua belah pihak dapat melakukan transaksi off-chain di saluran ini.

2. Transaksi di luar rantai:

Setelah saluran terbuka, semua transaksi transfer antara pengguna akan diproses di Lightning Network, dan tidak ada batasan pada jumlah transaksi off-chain ini. Tentu saja, transaksi ini tidak perlu segera dikirimkan ke Bitcoin mainnet, tetapi diselesaikan secara instan melalui mekanisme off-chain dari Lightning Network.

Metode pemrosesan off-chain ini secara signifikan meningkatkan kecepatan dan efisiensi transaksi, menghindari kemacetan dan biaya transaksi tinggi di jaringan utama Bitcoin.

3. Penutupan saluran dan penyelesaian ledger:

Ketika pengguna di kedua sisi memutuskan untuk keluar dari saluran, penyelesaian ledger akhir akan terjadi. Proses ini memastikan bahwa semua dana di saluran dialokasikan hingga saat ini. Pada saat yang sama, pengguna di kedua sisi akan menarik saldo pasca-penyelesaian dari dompet multi-tanda tangan, yang mencerminkan distribusi dana aktual saat saluran ditutup. Akhirnya, saluran akan mengirimkan keadaan akhir transaksi ledger ke Bitcoin mainnet.

Keuntungan dari Jaringan Lightning adalah bahwa:

  • Kecepatan transaksi yang lebih tinggi. Jaringan Lightning memungkinkan pengguna untuk melakukan transaksi di luar rantai, yang berarti transaksi dapat diselesaikan hampir instan tanpa harus menunggu waktu konfirmasi blok. Ini dapat mencapai kecepatan transaksi tingkat kedua, yang sangat meningkatkan pengalaman pengguna.
  • Privasi yang ditingkatkan. Transaksi off-chain Lightning Network tidak perlu dicatat secara publik di rantai utama Bitcoin, yang meningkatkan privasi transaksi. Hanya pembukaan dan penutupan saluran yang perlu dicatat di rantai utama, sehingga perilaku transaksi pengguna tidak akan sepenuhnya diungkapkan.
  • Dukungan micropayment. Lightning Network sangat cocok untuk memproses pembayaran kecil (micropayments), seperti pembayaran konten, pembayaran perangkat IoT, dll. Transaksi Bitcoin tradisional tidak cocok untuk pembayaran kecil yang sering terjadi karena biaya penanganan yang tinggi, sedangkan Lightning Network mengatasi masalah ini.

Tantangan yang dihadapi Jaringan Petir:

  • masalah likuiditas jaringan: Jaringan Lightning bergantung pada Bitcoin yang telah terkunci di saluran. Ini berarti pengguna harus menyetor cukup Bitcoin ke saluran pembayaran mereka terlebih dahulu untuk melakukan transaksi. Likuiditas yang tidak memadai dapat menyebabkan pembayaran gagal, terutama pada pembayaran yang lebih besar.
  • masalah routing: Menemukan jalur yang efisien dari pengirim pembayaran ke penerima bisa menjadi masalah yang kompleks, terutama pada jaringan yang lebih besar. Semakin banyak jumlah node jaringan dan saluran yang ada, semakin sulit untuk memastikan kelancaran penyelesaian pembayaran juga meningkat.
  • Masalah kepercayaan asuhan dana: Node dapat menjadi sasaran serangan berbahaya dan pengguna perlu mempercayai bahwa node yang terhubung tidak akan mencoba mencuri dana. Dapatkah node mencegah kebocoran kunci pribadi?
  • Standar teknis dan interoperabilitas: Diperlukan standar teknis dan protokol yang konsisten antara implementasi Lightning Network yang berbeda untuk memastikan interoperabilitas. Saat ini, beberapa tim pengembangan sedang bekerja pada implementasi Lightning Network yang berbeda, yang dapat menyebabkan masalah kompatibilitas.
  • masalah privasi: Meskipun Jaringan Lightning meningkatkan privasi transaksi Bitcoin, informasi transaksi masih dapat dilacak atau dianalisis. Selain itu, operator node jaringan dapat melihat transaksi yang melewati node mereka, yang berpotensi mengungkapkan informasi pribadi tertentu.

Keamanan Jaringan Lightning secara langsung memengaruhi skalabilitas off-chain Bitcoin dan keamanan dana pengguna. Oleh karena itu, selain item audit umum dari rantai publik (Lihat lampiran di akhir artikel ini untuk detailnya), Jaringan Lightning juga perlu memperhatikan risiko keamanan penting berikut:

  • Kepadatan saluran: Periksa kelengkapan desain sistem Lightning Network dan apakah akan menyebabkan kepadatan saluran karena serangan duka.
  • Gangguan saluran: Periksa keamanan struktur saluran Jaringan Petir dan apakah akan terkena serangan gangguan saluran.
  • Penguncian dan pembukaan aset saluran: Tinjau proses penguncian dan pembukaan aset dalam Jaringan Lightning untuk memastikan bahwa saat membuka atau menutup saluran pembayaran, transfer dana on dan off chain aman dan dapat diandalkan.
  • Pembaruan status dan penutupan: Evaluasi proses pembaruan status dan mekanisme penutupan paksa saluran untuk memastikan bahwa status terbaru dapat diidentifikasi dan dieksekusi dengan benar ketika kondisi abnormal terjadi.
  • Kontrak Time Lock dan Hash Lock (HTLC): Evaluasi implementasi HTLC untuk memastikan bahwa kondisi time lock dan hash lock dapat dieksekusi dengan benar untuk mencegah kerugian dana yang disebabkan oleh masalah jendela waktu.
  • Ketergantungan timestamp Blockchain: Evaluasi ketergantungan Lightning Network pada timestamp blockchain Bitcoin untuk memastikan bahwa waktu on-chain dan off-chain dapat dikoordinasikan dengan benar untuk mencegah serangan waktu.
  • Keamanan algoritma routing: Periksa efisiensi dan keamanan algoritma routing untuk mencegah eksposur privasi pengguna dan risiko manipulasi routing jahat.
  • Penyimpanan saluran dan pemulihan data: Periksa mekanisme penyimpanan saluran dan strategi pemulihan data untuk memastikan bahwa status saluran dapat dipulihkan dalam kejadian kegagalan node atau putus tak terduga untuk menghindari kehilangan dana.

side chain

Tidak seperti Jaringan Lightning, side chain adalah blockchain independen yang berjalan sejajar dengan rantai utama (seperti rantai BTC) dan berinteroperasi dengan rantai utama melalui pengikatan dua arah (Two-Way Peg). Tujuan dari side chain adalah untuk mencapai lebih banyak fungsi dan meningkatkan skalabilitas tanpa mengubah protokol rantai utama.

Sebagai blockchain independen, side chain memiliki mekanisme konsensus, node, dan aturan pemrosesan transaksi sendiri. Ini dapat mengadopsi teknologi dan protokol yang berbeda dari main chain sesuai dengan kebutuhan skenario aplikasi tertentu. Melalui mekanisme pengikatan dua arah (2WP), side chain berkomunikasi dengan main chain untuk memastikan aset dapat ditransfer dengan bebas dan aman antara keduanya. Mekanisme operasi mekanisme pengikatan dua arah (2WP) secara kasar seperti berikut:

  1. Pengguna mengunci BTC pada rantai utama, dan lembaga terpercaya 1 memperoleh dan menggunakan verifikasi SPV 2 untuk memastikan apakah transaksi terkunci pengguna dikonfirmasi.

  2. Institusi terpercaya akan mengeluarkan token yang setara kepada pengguna di sisi rantai.

  3. Setelah transaksi gratis, pengguna mengunci sisa token di sisi rantai.

  4. Setelah memverifikasi legalitas transaksi, institusi terpercaya membuka kunci BTC pada rantai utama dan melepaskan nilai BTC yang sesuai kepada pengguna.

Catatan 1: Otoritas terpercaya memainkan peran kunci dalam mekanisme penambatan dua arah dan bertanggung jawab atas pengelolaan penguncian dan pelepasan aset. Institusi-institusi ini perlu memiliki tingkat kredibilitas dan kemampuan teknis yang tinggi untuk memastikan keamanan aset pengguna.

Catatan 2: Verifikasi SPVMemungkinkan node untuk memverifikasi validitas transaksi tertentu tanpa mengunduh seluruh blockchain. Node SPV hanya perlu mengunduh header blok dan memverifikasi apakah transaksi tersebut termasuk dalam blok melalui Pohon Merkle.

Proyek representatif dari side chain:

CKB (Jaringan Nervos)

Nervos Network adalah ekosistem blockchain publik sumber terbuka yang bertujuan untuk memanfaatkan keamanan dan keuntungan desentralisasi dari mekanisme konsensus POW BTC sambil memperkenalkan model UTXO yang lebih scalable dan fleksibel untuk memproses transaksi. Inti dari Nervos Network adalah Common Knowledge Base (CKB), yang merupakan blockchain Layer 1 yang dibangun di atas RISC-V dan menggunakan PoW (Proof of Work) sebagai konsensusnya. Nervos Network memperluas model UTXO menjadi model Cell, memungkinkannya untuk menyimpan data apa pun dan mendukung penulisan skrip dalam bahasa apa pun untuk dieksekusi di rantai sebagai kontrak pintar.


Stacks

Stacks menghubungkan setiap blok Stacks ke blok Bitcoin melalui mekanisme PoX (Proof of Transfer)-nya. Untuk mengembangkan kontrak pintar, Stacks merancang bahasa pemrograman khusus bernama Clarity. Dalam Clarity, fungsi get-burn-block-info? memungkinkan pengiriman tinggi blok Bitcoin dan mendapatkan hash header blok. Pada saat yang sama, kata kunci burn-block-height bisa mendapatkan tinggi blok saat ini dari rantai Bitcoin. Dua fungsi ini memungkinkan kontrak pintar Clarity membaca keadaan rantai dasar Bitcoin, memungkinkan transaksi Bitcoin berfungsi sebagai pemicu kontrak. Dengan mengotomatiskan eksekusi kontrak pintar ini, Stacks memperluas kemampuan Bitcoin.

Untuk analisis terperinci tentang Stacks, Anda dapat membaca artikel penelitian sebelumnya dari Beosin: "Apa itu Stacks? Tantangan apa yang mungkin dihadapi Stacks jaringan lapisan 2 BTC?

Keuntungan dari sisi rantai adalah bahwa:

  • Side chain dapat menggunakan berbagai teknologi dan protokol untuk melakukan berbagai eksperimen dan inovasi tanpa memengaruhi stabilitas dan keamanan rantai utama.
  • Side chain dapat memperkenalkan fungsi yang tidak dimiliki oleh rantai utama, seperti kontrak pintar, perlindungan privasi, penerbitan token, dll., untuk memperkaya skenario aplikasi dari ekosistem blockchain.

Tantangan yang dihadapi oleh sidechain:

  • Rantai samping memiliki mekanisme konsensus independen, mungkin tidak seaman rantai utama BTC. Jika mekanisme konsensus rantai samping lemah atau memiliki celah, hal itu dapat menyebabkan serangan 51% atau bentuk serangan lainnya, yang mempengaruhi keamanan aset pengguna. Keamanan rantai utama BTC bergantung pada daya komputasi besar dan distribusi node yang luas, sementara rantai samping mungkin tidak memenuhi standar keamanan yang sama.
  • Implementasi mekanisme penambatan dua arah membutuhkan algoritma enkripsi dan protokol yang kompleks. Jika ada celah di dalamnya, hal ini dapat menyebabkan masalah dalam transfer aset antara rantai utama dan rantai samping, bahkan dapat menyebabkan hilangnya atau pencurian aset.
  • Untuk menemukan keseimbangan antara kecepatan dan keamanan, sebagian besar sidechain memiliki tingkat sentralisasi yang lebih tinggi daripada rantai utama.

Layer2 adalah sistem blockchain lengkap, jadi item audit umum dari rantai publik juga berlaku untuk rantai samping. Untuk detailnya, lihat lampiran di akhir artikel ini.

juga, Karena sifatnya yang khusus, sidechains juga memerlukan beberapa audit tambahan:

  • Keamanan protokol konsensus: Tinjau apakah protokol konsensus dari side chain (seperti PoW, PoS, DPoS) sudah sepenuhnya diverifikasi dan diuji, dan apakah ada kerentanan potensial atau vektor serangan, seperti serangan 51%, serangan jarak jauh, dll.
  • Keamanan node konsensus: Evaluasi keamanan node konsensus, termasuk manajemen kunci, perlindungan node, dan cadangan redundan, untuk mencegah node dari diretas atau disalahgunakan.
  • Penguncian aset dan pelepasan: Tinjau mekanisme penambatan dua arah aset antara rantai samping dan rantai utama untuk memastikan kontrak pintar untuk penguncian dan pelepasan aset aman dan dapat diandalkan, mencegah pengeluaran ganda, kerugian aset, atau kegagalan penguncian.
  • Verifikasi lintas-rantai: Periksa akurasi dan keamanan verifikasi lintas-rantai, pastikan bahwa proses verifikasi terdesentralisasi dan tahan terhadap pemalsuan, serta mencegah kegagalan verifikasi atau verifikasi yang bersifat jahat.
  • Audit kode kontrak: Audit mendalam dari semua kontrak pintar yang berjalan di sisi rantai untuk mendeteksi celah atau pintu belakang yang mungkin ada, terutama logika kontrak saat menangani operasi lintas-rantai.
  • Mekanisme Pembaruan: Periksa apakah mekanisme pembaruan kontrak pintar aman dan apakah ada proses audit dan konsensus komunitas yang tepat untuk mencegah pembaruan jahat atau pengubahan kontrak.
  • Komunikasi antar node: Periksa apakah protokol komunikasi antara node side chain aman dan apakah saluran terenkripsi digunakan untuk mencegah serangan man-in-the-middle atau kebocoran data.
  • Komunikasi lintas rantai: Periksa saluran komunikasi antara rantai samping dan rantai utama untuk memastikan integritas dan keaslian data serta mencegah komunikasi direbut atau dimanipulasi.
  • Waktu cap waktu dan blok: Verifikasi mekanisme sinkronisasi waktu dari sisi rantai untuk memastikan konsistensi dan akurasi waktu pembangkitan blok dan mencegah serangan atau penggulungan blok yang disebabkan oleh perbedaan waktu.
  • Keamanan tata kelola on-chain: Tinjau mekanisme tata kelola dari side chain untuk memastikan transparansi dan keamanan proses pemungutan suara, proposal, dan pengambilan keputusan, serta mencegah pengendalian atau serangan yang jahat.
  • Audit ekonomi token: Periksa model ekonomi token sidechain, termasuk alokasi token, mekanisme insentif, dan model inflasi, untuk memastikan insentif ekonomi tidak akan menyebabkan perilaku jahat atau ketidakstabilan sistem.
  • Mekanisme biaya: Periksa mekanisme biaya transaksi dari sisi rantai untuk memastikan bahwa sesuai dengan kebutuhan pengguna rantai utama dan sisi untuk mencegah manipulasi biaya atau kemacetan jaringan.
  • Keamanan aset: Memeriksa mekanisme manajemen aset di rantai untuk memastikan bahwa proses penyimpanan, transfer, dan penghancuran aset aman dan dapat diandalkan, dan tidak ada risiko akses tidak sah atau pencurian.
  • Manajemen kunci: Periksa kebijakan manajemen kunci dari rantai samping untuk memastikan keamanan dan kontrol akses kunci privat serta mencegah kunci dari bocor atau dicuri.

Rollup

Rollup adalah solusi penskalaan Layer 2 yang dirancang untuk meningkatkan throughput dan efisiensi transaksi blockchain. Ini secara signifikan mengurangi beban pada rantai utama dengan mengemas ("Rollup") sejumlah besar transaksi dan memprosesnya di luar rantai, hanya mengirimkan hasil akhir ke rantai utama.

Rollup terutama dibagi menjadi zk-Rollup dan op-Rollup. Tetapi berbeda dengan ETH, karena ketidaklengkapan Turing dari BTC, tidak mungkin menggunakan kontrak pada BTC untuk verifikasi bukti pengetahuan nol. Solusi zk-Rollup tradisional tidak dapat diimplementasikan pada BTC. Jadi bagaimana cara mengimplementasikan Layer2 BTC menggunakan zk-Rollup? Selanjutnya, ambil proyek Jaringan B² sebagai contoh:

Untuk menyelesaikan verifikasi bukti nol pengetahuan pada BTC, B² Network menciptakan skrip Taproot, yang menggabungkan verifikasi bukti nol pengetahuan dari zk-Rollup dan tantangan insentif dari op-Rollup. Mekanisme operasinya kurang lebih sebagai berikut:

  1. B² Network pertama kali menggulung semua transaksi yang dimulai oleh pengguna.

  2. Setelah menggunakan sorter untuk menyortir transaksi Rollup, simpan transaksi Rollup menggunakan penyimpanan terdesentralisasi dan serahkan pada zkEVM untuk diproses pada saat yang sama.

  3. Setelah zkEVM menyinkronkan status rantai BTC, itu memproses transaksi seperti eksekusi kontrak, menggabungkan dan mengemas hasilnya, lalu mengirimkannya ke pengumpul data.

  4. Prover menghasilkan bukti pengetahuan nol dan mengirimkannya ke pengumpul. Pengumpul mengumpulkan transaksi dan mengirimkan bukti ke Node B².

  5. Node B² melakukan verifikasi bukti nol dan membuat skrip Taproot berdasarkan data Rollup di penyimpanan terdesentralisasi.

  6. Taproot adalah UTXO dengan nilai 1 satoshi. Inscription B² dalam struktur datanya menyimpan semua data Rollup, dan Tapleaf menyimpan semua data verifikasi. Setelah melewati mekanisme tantangan insentif, itu akan dikirim ke BTC sebagai komitmen yang diverifikasi berdasarkan bukti zk.

Keuntungan dari Rollup adalah bahwa:

  • RollupMewarisi fitur keamanan dan desentralisasi dari rantai utama. Dengan secara teratur mengirimkan data transaksi dan status ke rantai utama, integritas data dan transparansi terjamin.
  • Rollup dapat diintegrasikan secara mulus ke dalam jaringan blockchain yang ada seperti Ethereum, memungkinkan pengembang untuk dengan mudah memanfaatkan manfaatnya tanpa secara signifikan memodifikasi kontrak pintar dan aplikasi yang sudah ada.
  • Dengan memproses sejumlah besar transaksi off-chain dan mengemasnya menjadi satu batch untuk diserahkan ke main chain, Rollup sangat meningkatkan kemampuan pemrosesan transaksi dan secara signifikan meningkatkan jumlah transaksi per detik (TPS).
  • Transaksi rollup hanya perlu diproses di luar rantai, yang sangat mengurangi sumber daya komputasi dan ruang penyimpanan yang diperlukan untuk transaksi di rantai, sehingga secara signifikan mengurangi biaya transaksi pengguna.

Tantangan yang dihadapi oleh Rollup:

  • Jika data di luar rantai tidak tersedia, pengguna mungkin tidak dapat memverifikasi transaksi dan mengembalikan status.
  • Transaksi Rollup perlu diproses dalam batch dan akhirnya dikirimkan ke rantai utama, yang dapat mengakibatkan waktu penyelesaian yang lebih lama. Terutama dalam op-Rollup, ada periode perselisihan dan pengguna mungkin harus menunggu lama sebelum transaksi akhirnya dikonfirmasi.
  • Meskipun ZK Rollup menyediakan keamanan yang lebih tinggi dan konfirmasi instan, persyaratan komputasi dan penyimpanannya tinggi, dan menghasilkan bukti tanpa pengetahuan memerlukan sejumlah besar sumber daya komputasi.

Karena solusi yang diadopsi adalah Rollup, item audit keamanannya yang utama pada dasarnya sama dengan Layer2 ETH.

Lainnya (Babel)

Selain Layer2 BTC tradisional, baru-baru ini ada beberapa protokol pihak ketiga berkonsep baru yang terkait dengan ekosistem BTC, seperti Babylon:

Tujuan Babylon adalah mengubah 21 juta BTC menjadi aset staking terdesentralisasi. Tidak seperti Layer 2 BTC lainnya, Babylon tidak memperluas rantai BTC. Ini adalah rantai unik itu sendiri, dengan protokol hipotek BTC khusus. Tujuan utamanya adalah untuk terhubung dengan rantai PoS. Hipotek BTC untuk memberikan keamanan yang lebih kuat untuk rantai PoS dan memecahkan risiko serangan dari ujung rantai yang jauh dan pertanyaan terpusat.

Arsitektur ini terbagi menjadi tiga lapisan:

Layer Bitcoin: Ini adalah fondasi yang kokoh dari Babilon, memanfaatkan keamanan Bitcoin yang terkenal untuk memastikan semua transaksi sangat aman, sama seperti di jaringan Bitcoin.

Lapisan Babylon: Di tengah-tengah Babylon adalah lapisan Babylon, sebuah blockchain kustom yang menghubungkan Bitcoin ke berbagai rantai Proof-of-Stake (PoS). Ia memproses transaksi, menjalankan kontrak pintar, dan memastikan semuanya berjalan lancar di seluruh ekosistem.

Lapisan rantai PoS: Lapisan teratas terdiri dari beberapa rantai PoS, setiap rantai PoS dipilih karena keunggulan uniknya. Ini memberikan BabylonChain skalabilitas dan fleksibilitas yang luar biasa, memungkinkan pengguna menikmati fitur terbaik dari berbagai blockchain PoS.

Cara kerjanya adalah mengamankan rantai PoS menggunakan blok akhir yang ditandatangani pada rantai BTC. Ini pada dasarnya memperluas protokol dasar dengan putaran penandatanganan tambahan. Tanda tangan ini di babak +1 final memiliki karakteristik unik: mereka adalah Tanda Tangan Satu Kali yang Dapat Diekstraksi (EOTS). Tujuannya adalah untuk mengintegrasikan pos pemeriksaan PoS ke BTC untuk menyelesaikan periode tidak mengikat yang panjang dan masalah serangan jarak jauh dari PoS.

Keuntungan Babylon adalah bahwa:

  • Percepat periode pembatalan PoS
  • Karena BTC dijaminkan, harga terhubung dengan BTC, yang dapat mengurangi tekanan inflasi pada jaringan PoS yang sesuai.
  • Membuka peluang baru untuk mendapatkan BTC

Tantangan yang dihadapi Babylon:

  • Desain ekonomi seperti tingkat pengembalian staking memiliki dampak yang lebih besar pada antusiasme staking BTC
  • Ketidaksesuaian ketentuan konsistensi reward antara rantai PoS

Protokol pihak ketiga memiliki titik keamanan yang berbeda tergantung pada implementasinya. Mengambil Babylon sebagai contoh, beberapa item audit keamanan yang perlu diperhatikan adalah sebagai berikut::

  1. Keamanan kontrak pintar: Kontrak jaminan pada BTC diimplementasikan melalui skrip UTXO, dan keamanannya perlu diperhatikan.

  2. Keamanan algoritma tanda tangan: Tanda tangan digunakan dalam kontrak untuk mengelola jaminan pengguna, dan keamanan algoritmanya terkait dengan pembuatan dan verifikasi tanda tangan.

  3. Desain model ekonomi protokol: Apakah model ekonomi protokol tersebut diatur dengan baik dalam hal imbalan dan hukuman, dan apakah itu akan menyebabkan hilangnya aset pengguna.

lampiran:

Item audit jaringan publik & Layer2 umum

  • Integer overflow: Periksa overflow integer dan underflow integer
  • Loop tak terbatas: Periksa apakah kondisi penilaian loop dari program tersebut masuk akal
  • Panggilan rekursif tak terbatas: Periksa apakah kondisi keluar dari panggilan rekursif program masuk akal
  • Kondisi balapan: Periksa operasi akses ke sumber daya bersama dalam kondisi konkuren
  • Crash abnormal: Periksa kode pengecualian yang memungkinkan program keluar secara aktif
  • Vulnerabilitas pembagian dengan 0: Periksa apakah ada pembagian dengan 0
  • Konversi tipe: Periksa apakah konversi tipe sudah benar dan apakah informasi penting hilang selama proses konversi
  • Array di luar batas: Periksa apakah elemen di luar batas array diakses
  • Kerentanan deserialisasi: periksa apakah ada masalah selama proses deserialisasi
  • Keamanan implementasi fungsional: Periksa apakah ada risiko keamanan dalam setiap implementasi antarmuka RPC dan apakah sesuai dengan fungsi antarmuka RPC.
  • Dapat dirancang untuk cocok
  • Apakah pengaturan izin antarmuka RPC sensitif sudah wajar: Periksa pengaturan izin akses antarmuka RPC sensitif
  • Mekanisme transmisi terenkripsi: Periksa apakah protokol transmisi terenkripsi digunakan, seperti TLS, dll.
  • Minta penguraian format data: Periksa proses penguraian format data permintaan
  • Serangan membuka kunci dompet: Ketika sebuah node membuka kunci dompetnya, ia diminta oleh RPC untuk mencuri dana.
  • Keamanan Web Tradisional: Periksa kerentanan berikut: Cross-site scripting (XSS) / Template injection
  • Kerentanan komponen pihak ketiga / polusi parameter HTTP / injeksi SQL / injeksi entitas XXE deserialisasi
  • kerentanan/kerentanan SSRF/injeksi kode/inklusi file lokal/inklusi file remote/injeksi eksekusi perintah dan kerentanan tradisional lainnya
  • Mekanisme otentikasi dan identifikasi identitas node jaringan: Periksa apakah ada mekanisme identifikasi node dan apakah mekanisme identifikasi node dapat dilewati.
  • Polusi tabel routing: Periksa apakah tabel routing dapat secara acak dimasukkan atau ditimpa data
  • Algoritma penemuan node: Periksa apakah algoritma penemuan node seimbang dan tidak dapat diprediksi, seperti algoritma jarak yang tidak seimbang dan masalah lainnya
  • Audit hunian nomor koneksi: Periksa apakah batas dan pengelolaan jumlah node koneksi jaringan p2p masuk akal
  • Serangan gerhana: Mengevaluasi biaya dan bahaya serangan gerhana dan memberikan analisis kuantitatif jika perlu
  • Serangan Sybil: Mengevaluasi mekanisme konsensus pemungutan suara dan menganalisis strategi pemeriksaan kualifikasi pemungutan suara
  • Serangan penyadapan: Memeriksa protokol komunikasi untuk kebocoran privasi
  • Serangan makhluk asing: Nilai apakah node dapat mengidentifikasi node rantai serupa
  • Time Hijacking: Memeriksa mekanisme perhitungan waktu jaringan node
  • Memory Exhaustion Attack: Memeriksa Tempat Konsumsi Memori Besar
  • Serangan Kehabisan Ruang Penyimpanan Hard Drive: Periksa Di Mana File Besar Disimpan
  • Serangan tekanan soket: periksa kebijakan batas jumlah koneksi
  • Serangan kelelahan penanganan kernel: Periksa batas pembuatan penanganan kernel, seperti penanganan file, dll.
  • Kelebihan memori persisten: Periksa kelebihan memori
  • Keamanan Algoritma Hash: Memeriksa Ketahanan Benturan dari Algoritma Hash
  • Keamanan algoritma tanda tangan digital: Periksa keamanan algoritma tanda tangan dan keamanan implementasi algoritma
  • Keamanan algoritma enkripsi: Periksa keamanan algoritma enkripsi, keamanan implementasi algoritma
  • Keamanan generator angka acak: Memeriksa apakah algoritma pembangkit angka acak yang kritis aman
  • Keamanan implementasi BFT: Mengevaluasi keamanan implementasi algoritma BFT
  • Aturan pilihan garpu: Periksa aturan pilihan garpu untuk memastikan keamanan
  • Deteksi Sentralisasi: identifikasi apakah ada sentralisasi berlebih dalam desain sistem
  • Audit insentif: Menilai dampak insentif terhadap keamanan
  • Serangan pengeluaran ganda: Periksa apakah konsensus dapat membela diri dari serangan pengeluaran ganda
  • Audit serangan MEV: Periksa dampak MEV node pengemasan blok pada keadilan rantai
  • Audit proses sinkronisasi blok: Periksa masalah keamanan selama proses sinkronisasi
  • Audit proses pemformatan blok: Periksa masalah keamanan dalam proses pemformatan, seperti kesalahan pemformatan yang menyebabkan crash
  • Audit proses pembangkitan blok: Periksa masalah keamanan selama proses pembangkitan blok, termasuk apakah metode konstruksi akar pohon Merkle adalah wajar
  • Audit proses verifikasi blok: Periksa apakah item konten tanda tangan blok dan logika verifikasi memadai
  • Audit logika konfirmasi blok: Periksa apakah algoritma dan implementasi konfirmasi bloknya wajar
  • Block hash collision: Periksa metode konstruksi block hash collision dan apakah penanganan collision masuk akal.
  • Batas sumber daya pemrosesan blok: Periksa apakah batas sumber daya seperti kumpulan blok yatim piatu, perhitungan verifikasi, pengalamatan hard disk, dll. masuk akal.
  • Audit proses sinkronisasi transaksi: Periksa isu keamanan selama proses sinkronisasi
  • Tabrakan hash transaksi: Periksa metode konstruksi tabrakan hash transaksi dan pemrosesan tabrakan
  • Penguraian format transaksi: Periksa masalah keamanan selama proses penguraian format, seperti kesalahan penguraian yang menyebabkan kerusakan
  • Verifikasi Legalitas Transaksi: Periksa apakah setiap jenis item konten tanda tangan transaksi dan logika verifikasi sudah memadai
  • Batasan sumber daya pemrosesan transaksi: Periksa apakah batasan sumber daya seperti kolam transaksi, perhitungan verifikasi, alamat hard disk, dll. wajar.
  • Serangan manipulasi transaksi: Bisakah sebuah transaksi mengubah bidang internal (seperti ScriptSig) untuk mengubah hash transaksi tanpa mempengaruhi validitas transaksi?
  • Audit serangan replay transaksi: Periksa deteksi sistem replay transaksi
  • Verifikasi bytecode kontrak: Periksa masalah keamanan proses verifikasi mesin virtual kontrak, seperti integer overflow, infinite loop, dll.
  • Eksekusi bytecode kontrak: Periksa masalah keamanan dalam proses eksekusi bytecode mesin virtual, seperti integer overflow, infinite loop, dll.
  • Model Gas: Periksa apakah biaya penanganan yang sesuai dengan setiap operasi atom transaksi pemrosesan/eksekusi kontrak proporsional dengan konsumsi sumber daya
  • Integritas logging: Periksa apakah informasi kunci telah dicatat
  • Keamanan catatan log: Periksa apakah ada masalah keamanan yang disebabkan oleh penanganan yang tidak tepat selama pemrosesan log, seperti integer overflow, dll.
  • Log berisi informasi pribadi: Periksa apakah log berisi informasi pribadi seperti kunci
  • Penyimpanan log: Periksa apakah catatan log terlalu banyak konten, menyebabkan konsumsi sumber daya node
  • Keamanan Rantai Pasok Kode Node: Periksa masalah yang diketahui dari semua pustaka, komponen pihak ketiga, dan versi yang sesuai dari kerangka rantai publik

Beosin adalah salah satu perusahaan keamanan blockchain pertama di dunia yang terlibat dalam verifikasi formal. Berfokus pada bisnis ekologi penuh "keamanan + kepatuhan", ia telah mendirikan cabang di lebih dari 10 negara dan wilayah di seluruh dunia. Bisnisnya mencakup audit keamanan kode sebelum proyek online, pemantauan dan pemblokiran risiko keamanan selama operasi proyek, pemulihan pencurian, produk kepatuhan blockchain "One-stop" + layanan keamanan seperti aset virtual anti pencucian uang (AML) dan penilaian kepatuhan yang mematuhi persyaratan peraturan setempat. Pihak proyek dengan kebutuhan audit dipersilakan untuk menghubungi tim keamanan Beosin.

Disclaimer:

  1. Artikel ini dicetak ulang dari [Beosin]. Semua hak cipta adalah milik penulis asli [Beosin]. Jika ada keberatan terhadap cetakan ulang ini, silakan hubungi Gerbang Belajar tim, dan mereka akan segera menanganinya.
  2. Penyangkalan Tanggung Jawab: Pandangan dan pendapat yang tercantum dalam artikel ini sepenuhnya merupakan milik penulis dan tidak merupakan saran investasi.
  3. Penerjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.

Membongkar Kendala Bitcoin: Panduan Audit Komprehensif untuk Teknologi Skala Layer2 BTC

Menengah8/27/2024, 8:04:59 AM
Artikel ini membahas solusi perluasan Layer2 BTC, termasuk Jaringan Lightning, side chain, Rollup, dan teknologi lainnya, yang mencapai transaksi cepat dan biaya rendah melalui mekanisme yang berbeda, sambil juga memastikan desentralisasi dan keamanan jaringan BTC. Jaringan Lightning meningkatkan kecepatan transaksi dan privasi dengan saluran pembayaran dan transaksi di luar rantai, sementara sidechain seperti CKB dan Stacks menyediakan fungsionalitas mandiri dan inovatif melalui pasangan dua arah. Teknologi Rollup meningkatkan throughput dengan memproses volume transaksi di luar rantai, meskipun menghadapi tantangan dalam waktu penyelesaian dan sumber daya komputasi.

Bitcoin (BTC), sebagai cryptocurrency pertama di dunia, secara bertahap menjadi dasar aset digital dan keuangan terdesentralisasi sejak diperkenalkan pada tahun 2009. Namun, seiring dengan peningkatan jumlah pengguna dan volume transaksi, masalah jaringan BTC semakin terlihat, terutama sebagai berikut::

  • Biaya transaksi tinggi: Saat jaringan Bitcoin padat, pengguna perlu membayar biaya lebih tinggi untuk memastikan transaksi dikonfirmasi secepat mungkin.
  • Waktu konfirmasi transaksi: Blockchain Bitcoin menghasilkan blok baru setiap 10 menit rata-rata, artinya transaksi on-chain sering perlu menunggu konfirmasi blok berulang sebelum dianggap final.
  • Keterbatasan kontrak pintar: Bahasa scripting Bitcoin memiliki fungsi terbatas dan sulit untuk mengimplementasikan kontrak pintar yang kompleks.

Dalam artikel ini, kita akanJaringan Lightning(Lightning Network), Sidechain, Rollup, dan teknologi lainnya secara kolektif disebut sebagai solusi perluasan BTC Layer2. Mereka menjaga desentralisasi dan keamanan jaringan BTC sambil mencapai transaksi cepat dan murah. Pengenalan teknologi Layer2 dapat meningkatkan kecepatan transaksi dan mengurangi biaya transaksi, mengoptimalkan pengalaman pengguna, dan memperluas kapasitas jaringan. Ini memberikan dukungan teknis penting dan arah inovasi untuk perkembangan masa depan BTC.

Saat ini, Beosin telah menjadi mitra keamanan resmi BTC Layer2 seperti Merlin Chain., telah diaudit berbagai protokol ekologi BTC, seperti Bitmap.Games、Surf Protocol、Savmswap、Mineral. Dalam pemeriksaan sebelumnya, banyak rantai publik terkenal telah lulus pemeriksaan keamanan rantai publik Beosin, termasuk Ronin Network、Clover、Self Chain、Crust Network. Beosin sekarang meluncurkan solusi audit untuk BTC Layer2 untuk menyediakan layanan audit keamanan komprehensif dan dapat diandalkan untuk seluruh ekosistem BTC.

Lightning Network

Konsep awal Lightning Network disebut “saluran pembayaran”. Ide desainnya adalah untuk terus-menerus memperbarui status transaksi yang belum dikonfirmasi melalui penggantian transaksi sampai akhirnya disiarkan ke jaringan Bitcoin. Satoshi Nakamoto telah mengusulkan ide saluran pembayaran saat menciptakan Bitcoin pada tahun 2009, dan menyertakan kode draf untuk saluran pembayaran dalam Bitcoin 1.0, yang memungkinkan pengguna memperbarui status transaksi sebelum transaksi dikonfirmasi oleh jaringan. Namun, baru setelah rilis white paper “The Bitcoin Lightning Network: Scalable Off-Chain Instant Payment” bahwa Lightning Network benar-benar lahir dan memasuki perhatian publik.

Saat ini, implementasi saluran pembayaran dan Lightning Network sudah sangat matang. Saat ini, Lightning Network memiliki total 13.325 node, 49.417 saluran, dan total jumlah BTC yang dijamin mencapai 4.975.


https://1ml.com/

Dalam Jaringan Lightning, sangat penting untuk memastikan keamanan aset pengguna selama proses transfer. Berikut akan dijelaskan bagaimana Jaringan Lightning beroperasi dan bagaimana melindungi keamanan aset pengguna berdasarkan skala node jaringan.

Pengguna dari kedua belah pihak mengirimkan dua transaksi ke jaringan utama Bitcoin: satu untuk membuka saluran dan satu untuk menutup saluran. Secara kasar dibagi menjadi tiga langkah berikut:

1. Pembukaan saluran:

Pertama, pengguna dari kedua belah pihak menjanjikan Bitcoin ke dompet multi-tanda tangan Lightning Network di BTC. Setelah Bitcoin berhasil dijaminkan dan dikunci, saluran pembayaran dibuka, dan kedua belah pihak dapat melakukan transaksi off-chain di saluran ini.

2. Transaksi di luar rantai:

Setelah saluran terbuka, semua transaksi transfer antara pengguna akan diproses di Lightning Network, dan tidak ada batasan pada jumlah transaksi off-chain ini. Tentu saja, transaksi ini tidak perlu segera dikirimkan ke Bitcoin mainnet, tetapi diselesaikan secara instan melalui mekanisme off-chain dari Lightning Network.

Metode pemrosesan off-chain ini secara signifikan meningkatkan kecepatan dan efisiensi transaksi, menghindari kemacetan dan biaya transaksi tinggi di jaringan utama Bitcoin.

3. Penutupan saluran dan penyelesaian ledger:

Ketika pengguna di kedua sisi memutuskan untuk keluar dari saluran, penyelesaian ledger akhir akan terjadi. Proses ini memastikan bahwa semua dana di saluran dialokasikan hingga saat ini. Pada saat yang sama, pengguna di kedua sisi akan menarik saldo pasca-penyelesaian dari dompet multi-tanda tangan, yang mencerminkan distribusi dana aktual saat saluran ditutup. Akhirnya, saluran akan mengirimkan keadaan akhir transaksi ledger ke Bitcoin mainnet.

Keuntungan dari Jaringan Lightning adalah bahwa:

  • Kecepatan transaksi yang lebih tinggi. Jaringan Lightning memungkinkan pengguna untuk melakukan transaksi di luar rantai, yang berarti transaksi dapat diselesaikan hampir instan tanpa harus menunggu waktu konfirmasi blok. Ini dapat mencapai kecepatan transaksi tingkat kedua, yang sangat meningkatkan pengalaman pengguna.
  • Privasi yang ditingkatkan. Transaksi off-chain Lightning Network tidak perlu dicatat secara publik di rantai utama Bitcoin, yang meningkatkan privasi transaksi. Hanya pembukaan dan penutupan saluran yang perlu dicatat di rantai utama, sehingga perilaku transaksi pengguna tidak akan sepenuhnya diungkapkan.
  • Dukungan micropayment. Lightning Network sangat cocok untuk memproses pembayaran kecil (micropayments), seperti pembayaran konten, pembayaran perangkat IoT, dll. Transaksi Bitcoin tradisional tidak cocok untuk pembayaran kecil yang sering terjadi karena biaya penanganan yang tinggi, sedangkan Lightning Network mengatasi masalah ini.

Tantangan yang dihadapi Jaringan Petir:

  • masalah likuiditas jaringan: Jaringan Lightning bergantung pada Bitcoin yang telah terkunci di saluran. Ini berarti pengguna harus menyetor cukup Bitcoin ke saluran pembayaran mereka terlebih dahulu untuk melakukan transaksi. Likuiditas yang tidak memadai dapat menyebabkan pembayaran gagal, terutama pada pembayaran yang lebih besar.
  • masalah routing: Menemukan jalur yang efisien dari pengirim pembayaran ke penerima bisa menjadi masalah yang kompleks, terutama pada jaringan yang lebih besar. Semakin banyak jumlah node jaringan dan saluran yang ada, semakin sulit untuk memastikan kelancaran penyelesaian pembayaran juga meningkat.
  • Masalah kepercayaan asuhan dana: Node dapat menjadi sasaran serangan berbahaya dan pengguna perlu mempercayai bahwa node yang terhubung tidak akan mencoba mencuri dana. Dapatkah node mencegah kebocoran kunci pribadi?
  • Standar teknis dan interoperabilitas: Diperlukan standar teknis dan protokol yang konsisten antara implementasi Lightning Network yang berbeda untuk memastikan interoperabilitas. Saat ini, beberapa tim pengembangan sedang bekerja pada implementasi Lightning Network yang berbeda, yang dapat menyebabkan masalah kompatibilitas.
  • masalah privasi: Meskipun Jaringan Lightning meningkatkan privasi transaksi Bitcoin, informasi transaksi masih dapat dilacak atau dianalisis. Selain itu, operator node jaringan dapat melihat transaksi yang melewati node mereka, yang berpotensi mengungkapkan informasi pribadi tertentu.

Keamanan Jaringan Lightning secara langsung memengaruhi skalabilitas off-chain Bitcoin dan keamanan dana pengguna. Oleh karena itu, selain item audit umum dari rantai publik (Lihat lampiran di akhir artikel ini untuk detailnya), Jaringan Lightning juga perlu memperhatikan risiko keamanan penting berikut:

  • Kepadatan saluran: Periksa kelengkapan desain sistem Lightning Network dan apakah akan menyebabkan kepadatan saluran karena serangan duka.
  • Gangguan saluran: Periksa keamanan struktur saluran Jaringan Petir dan apakah akan terkena serangan gangguan saluran.
  • Penguncian dan pembukaan aset saluran: Tinjau proses penguncian dan pembukaan aset dalam Jaringan Lightning untuk memastikan bahwa saat membuka atau menutup saluran pembayaran, transfer dana on dan off chain aman dan dapat diandalkan.
  • Pembaruan status dan penutupan: Evaluasi proses pembaruan status dan mekanisme penutupan paksa saluran untuk memastikan bahwa status terbaru dapat diidentifikasi dan dieksekusi dengan benar ketika kondisi abnormal terjadi.
  • Kontrak Time Lock dan Hash Lock (HTLC): Evaluasi implementasi HTLC untuk memastikan bahwa kondisi time lock dan hash lock dapat dieksekusi dengan benar untuk mencegah kerugian dana yang disebabkan oleh masalah jendela waktu.
  • Ketergantungan timestamp Blockchain: Evaluasi ketergantungan Lightning Network pada timestamp blockchain Bitcoin untuk memastikan bahwa waktu on-chain dan off-chain dapat dikoordinasikan dengan benar untuk mencegah serangan waktu.
  • Keamanan algoritma routing: Periksa efisiensi dan keamanan algoritma routing untuk mencegah eksposur privasi pengguna dan risiko manipulasi routing jahat.
  • Penyimpanan saluran dan pemulihan data: Periksa mekanisme penyimpanan saluran dan strategi pemulihan data untuk memastikan bahwa status saluran dapat dipulihkan dalam kejadian kegagalan node atau putus tak terduga untuk menghindari kehilangan dana.

side chain

Tidak seperti Jaringan Lightning, side chain adalah blockchain independen yang berjalan sejajar dengan rantai utama (seperti rantai BTC) dan berinteroperasi dengan rantai utama melalui pengikatan dua arah (Two-Way Peg). Tujuan dari side chain adalah untuk mencapai lebih banyak fungsi dan meningkatkan skalabilitas tanpa mengubah protokol rantai utama.

Sebagai blockchain independen, side chain memiliki mekanisme konsensus, node, dan aturan pemrosesan transaksi sendiri. Ini dapat mengadopsi teknologi dan protokol yang berbeda dari main chain sesuai dengan kebutuhan skenario aplikasi tertentu. Melalui mekanisme pengikatan dua arah (2WP), side chain berkomunikasi dengan main chain untuk memastikan aset dapat ditransfer dengan bebas dan aman antara keduanya. Mekanisme operasi mekanisme pengikatan dua arah (2WP) secara kasar seperti berikut:

  1. Pengguna mengunci BTC pada rantai utama, dan lembaga terpercaya 1 memperoleh dan menggunakan verifikasi SPV 2 untuk memastikan apakah transaksi terkunci pengguna dikonfirmasi.

  2. Institusi terpercaya akan mengeluarkan token yang setara kepada pengguna di sisi rantai.

  3. Setelah transaksi gratis, pengguna mengunci sisa token di sisi rantai.

  4. Setelah memverifikasi legalitas transaksi, institusi terpercaya membuka kunci BTC pada rantai utama dan melepaskan nilai BTC yang sesuai kepada pengguna.

Catatan 1: Otoritas terpercaya memainkan peran kunci dalam mekanisme penambatan dua arah dan bertanggung jawab atas pengelolaan penguncian dan pelepasan aset. Institusi-institusi ini perlu memiliki tingkat kredibilitas dan kemampuan teknis yang tinggi untuk memastikan keamanan aset pengguna.

Catatan 2: Verifikasi SPVMemungkinkan node untuk memverifikasi validitas transaksi tertentu tanpa mengunduh seluruh blockchain. Node SPV hanya perlu mengunduh header blok dan memverifikasi apakah transaksi tersebut termasuk dalam blok melalui Pohon Merkle.

Proyek representatif dari side chain:

CKB (Jaringan Nervos)

Nervos Network adalah ekosistem blockchain publik sumber terbuka yang bertujuan untuk memanfaatkan keamanan dan keuntungan desentralisasi dari mekanisme konsensus POW BTC sambil memperkenalkan model UTXO yang lebih scalable dan fleksibel untuk memproses transaksi. Inti dari Nervos Network adalah Common Knowledge Base (CKB), yang merupakan blockchain Layer 1 yang dibangun di atas RISC-V dan menggunakan PoW (Proof of Work) sebagai konsensusnya. Nervos Network memperluas model UTXO menjadi model Cell, memungkinkannya untuk menyimpan data apa pun dan mendukung penulisan skrip dalam bahasa apa pun untuk dieksekusi di rantai sebagai kontrak pintar.


Stacks

Stacks menghubungkan setiap blok Stacks ke blok Bitcoin melalui mekanisme PoX (Proof of Transfer)-nya. Untuk mengembangkan kontrak pintar, Stacks merancang bahasa pemrograman khusus bernama Clarity. Dalam Clarity, fungsi get-burn-block-info? memungkinkan pengiriman tinggi blok Bitcoin dan mendapatkan hash header blok. Pada saat yang sama, kata kunci burn-block-height bisa mendapatkan tinggi blok saat ini dari rantai Bitcoin. Dua fungsi ini memungkinkan kontrak pintar Clarity membaca keadaan rantai dasar Bitcoin, memungkinkan transaksi Bitcoin berfungsi sebagai pemicu kontrak. Dengan mengotomatiskan eksekusi kontrak pintar ini, Stacks memperluas kemampuan Bitcoin.

Untuk analisis terperinci tentang Stacks, Anda dapat membaca artikel penelitian sebelumnya dari Beosin: "Apa itu Stacks? Tantangan apa yang mungkin dihadapi Stacks jaringan lapisan 2 BTC?

Keuntungan dari sisi rantai adalah bahwa:

  • Side chain dapat menggunakan berbagai teknologi dan protokol untuk melakukan berbagai eksperimen dan inovasi tanpa memengaruhi stabilitas dan keamanan rantai utama.
  • Side chain dapat memperkenalkan fungsi yang tidak dimiliki oleh rantai utama, seperti kontrak pintar, perlindungan privasi, penerbitan token, dll., untuk memperkaya skenario aplikasi dari ekosistem blockchain.

Tantangan yang dihadapi oleh sidechain:

  • Rantai samping memiliki mekanisme konsensus independen, mungkin tidak seaman rantai utama BTC. Jika mekanisme konsensus rantai samping lemah atau memiliki celah, hal itu dapat menyebabkan serangan 51% atau bentuk serangan lainnya, yang mempengaruhi keamanan aset pengguna. Keamanan rantai utama BTC bergantung pada daya komputasi besar dan distribusi node yang luas, sementara rantai samping mungkin tidak memenuhi standar keamanan yang sama.
  • Implementasi mekanisme penambatan dua arah membutuhkan algoritma enkripsi dan protokol yang kompleks. Jika ada celah di dalamnya, hal ini dapat menyebabkan masalah dalam transfer aset antara rantai utama dan rantai samping, bahkan dapat menyebabkan hilangnya atau pencurian aset.
  • Untuk menemukan keseimbangan antara kecepatan dan keamanan, sebagian besar sidechain memiliki tingkat sentralisasi yang lebih tinggi daripada rantai utama.

Layer2 adalah sistem blockchain lengkap, jadi item audit umum dari rantai publik juga berlaku untuk rantai samping. Untuk detailnya, lihat lampiran di akhir artikel ini.

juga, Karena sifatnya yang khusus, sidechains juga memerlukan beberapa audit tambahan:

  • Keamanan protokol konsensus: Tinjau apakah protokol konsensus dari side chain (seperti PoW, PoS, DPoS) sudah sepenuhnya diverifikasi dan diuji, dan apakah ada kerentanan potensial atau vektor serangan, seperti serangan 51%, serangan jarak jauh, dll.
  • Keamanan node konsensus: Evaluasi keamanan node konsensus, termasuk manajemen kunci, perlindungan node, dan cadangan redundan, untuk mencegah node dari diretas atau disalahgunakan.
  • Penguncian aset dan pelepasan: Tinjau mekanisme penambatan dua arah aset antara rantai samping dan rantai utama untuk memastikan kontrak pintar untuk penguncian dan pelepasan aset aman dan dapat diandalkan, mencegah pengeluaran ganda, kerugian aset, atau kegagalan penguncian.
  • Verifikasi lintas-rantai: Periksa akurasi dan keamanan verifikasi lintas-rantai, pastikan bahwa proses verifikasi terdesentralisasi dan tahan terhadap pemalsuan, serta mencegah kegagalan verifikasi atau verifikasi yang bersifat jahat.
  • Audit kode kontrak: Audit mendalam dari semua kontrak pintar yang berjalan di sisi rantai untuk mendeteksi celah atau pintu belakang yang mungkin ada, terutama logika kontrak saat menangani operasi lintas-rantai.
  • Mekanisme Pembaruan: Periksa apakah mekanisme pembaruan kontrak pintar aman dan apakah ada proses audit dan konsensus komunitas yang tepat untuk mencegah pembaruan jahat atau pengubahan kontrak.
  • Komunikasi antar node: Periksa apakah protokol komunikasi antara node side chain aman dan apakah saluran terenkripsi digunakan untuk mencegah serangan man-in-the-middle atau kebocoran data.
  • Komunikasi lintas rantai: Periksa saluran komunikasi antara rantai samping dan rantai utama untuk memastikan integritas dan keaslian data serta mencegah komunikasi direbut atau dimanipulasi.
  • Waktu cap waktu dan blok: Verifikasi mekanisme sinkronisasi waktu dari sisi rantai untuk memastikan konsistensi dan akurasi waktu pembangkitan blok dan mencegah serangan atau penggulungan blok yang disebabkan oleh perbedaan waktu.
  • Keamanan tata kelola on-chain: Tinjau mekanisme tata kelola dari side chain untuk memastikan transparansi dan keamanan proses pemungutan suara, proposal, dan pengambilan keputusan, serta mencegah pengendalian atau serangan yang jahat.
  • Audit ekonomi token: Periksa model ekonomi token sidechain, termasuk alokasi token, mekanisme insentif, dan model inflasi, untuk memastikan insentif ekonomi tidak akan menyebabkan perilaku jahat atau ketidakstabilan sistem.
  • Mekanisme biaya: Periksa mekanisme biaya transaksi dari sisi rantai untuk memastikan bahwa sesuai dengan kebutuhan pengguna rantai utama dan sisi untuk mencegah manipulasi biaya atau kemacetan jaringan.
  • Keamanan aset: Memeriksa mekanisme manajemen aset di rantai untuk memastikan bahwa proses penyimpanan, transfer, dan penghancuran aset aman dan dapat diandalkan, dan tidak ada risiko akses tidak sah atau pencurian.
  • Manajemen kunci: Periksa kebijakan manajemen kunci dari rantai samping untuk memastikan keamanan dan kontrol akses kunci privat serta mencegah kunci dari bocor atau dicuri.

Rollup

Rollup adalah solusi penskalaan Layer 2 yang dirancang untuk meningkatkan throughput dan efisiensi transaksi blockchain. Ini secara signifikan mengurangi beban pada rantai utama dengan mengemas ("Rollup") sejumlah besar transaksi dan memprosesnya di luar rantai, hanya mengirimkan hasil akhir ke rantai utama.

Rollup terutama dibagi menjadi zk-Rollup dan op-Rollup. Tetapi berbeda dengan ETH, karena ketidaklengkapan Turing dari BTC, tidak mungkin menggunakan kontrak pada BTC untuk verifikasi bukti pengetahuan nol. Solusi zk-Rollup tradisional tidak dapat diimplementasikan pada BTC. Jadi bagaimana cara mengimplementasikan Layer2 BTC menggunakan zk-Rollup? Selanjutnya, ambil proyek Jaringan B² sebagai contoh:

Untuk menyelesaikan verifikasi bukti nol pengetahuan pada BTC, B² Network menciptakan skrip Taproot, yang menggabungkan verifikasi bukti nol pengetahuan dari zk-Rollup dan tantangan insentif dari op-Rollup. Mekanisme operasinya kurang lebih sebagai berikut:

  1. B² Network pertama kali menggulung semua transaksi yang dimulai oleh pengguna.

  2. Setelah menggunakan sorter untuk menyortir transaksi Rollup, simpan transaksi Rollup menggunakan penyimpanan terdesentralisasi dan serahkan pada zkEVM untuk diproses pada saat yang sama.

  3. Setelah zkEVM menyinkronkan status rantai BTC, itu memproses transaksi seperti eksekusi kontrak, menggabungkan dan mengemas hasilnya, lalu mengirimkannya ke pengumpul data.

  4. Prover menghasilkan bukti pengetahuan nol dan mengirimkannya ke pengumpul. Pengumpul mengumpulkan transaksi dan mengirimkan bukti ke Node B².

  5. Node B² melakukan verifikasi bukti nol dan membuat skrip Taproot berdasarkan data Rollup di penyimpanan terdesentralisasi.

  6. Taproot adalah UTXO dengan nilai 1 satoshi. Inscription B² dalam struktur datanya menyimpan semua data Rollup, dan Tapleaf menyimpan semua data verifikasi. Setelah melewati mekanisme tantangan insentif, itu akan dikirim ke BTC sebagai komitmen yang diverifikasi berdasarkan bukti zk.

Keuntungan dari Rollup adalah bahwa:

  • RollupMewarisi fitur keamanan dan desentralisasi dari rantai utama. Dengan secara teratur mengirimkan data transaksi dan status ke rantai utama, integritas data dan transparansi terjamin.
  • Rollup dapat diintegrasikan secara mulus ke dalam jaringan blockchain yang ada seperti Ethereum, memungkinkan pengembang untuk dengan mudah memanfaatkan manfaatnya tanpa secara signifikan memodifikasi kontrak pintar dan aplikasi yang sudah ada.
  • Dengan memproses sejumlah besar transaksi off-chain dan mengemasnya menjadi satu batch untuk diserahkan ke main chain, Rollup sangat meningkatkan kemampuan pemrosesan transaksi dan secara signifikan meningkatkan jumlah transaksi per detik (TPS).
  • Transaksi rollup hanya perlu diproses di luar rantai, yang sangat mengurangi sumber daya komputasi dan ruang penyimpanan yang diperlukan untuk transaksi di rantai, sehingga secara signifikan mengurangi biaya transaksi pengguna.

Tantangan yang dihadapi oleh Rollup:

  • Jika data di luar rantai tidak tersedia, pengguna mungkin tidak dapat memverifikasi transaksi dan mengembalikan status.
  • Transaksi Rollup perlu diproses dalam batch dan akhirnya dikirimkan ke rantai utama, yang dapat mengakibatkan waktu penyelesaian yang lebih lama. Terutama dalam op-Rollup, ada periode perselisihan dan pengguna mungkin harus menunggu lama sebelum transaksi akhirnya dikonfirmasi.
  • Meskipun ZK Rollup menyediakan keamanan yang lebih tinggi dan konfirmasi instan, persyaratan komputasi dan penyimpanannya tinggi, dan menghasilkan bukti tanpa pengetahuan memerlukan sejumlah besar sumber daya komputasi.

Karena solusi yang diadopsi adalah Rollup, item audit keamanannya yang utama pada dasarnya sama dengan Layer2 ETH.

Lainnya (Babel)

Selain Layer2 BTC tradisional, baru-baru ini ada beberapa protokol pihak ketiga berkonsep baru yang terkait dengan ekosistem BTC, seperti Babylon:

Tujuan Babylon adalah mengubah 21 juta BTC menjadi aset staking terdesentralisasi. Tidak seperti Layer 2 BTC lainnya, Babylon tidak memperluas rantai BTC. Ini adalah rantai unik itu sendiri, dengan protokol hipotek BTC khusus. Tujuan utamanya adalah untuk terhubung dengan rantai PoS. Hipotek BTC untuk memberikan keamanan yang lebih kuat untuk rantai PoS dan memecahkan risiko serangan dari ujung rantai yang jauh dan pertanyaan terpusat.

Arsitektur ini terbagi menjadi tiga lapisan:

Layer Bitcoin: Ini adalah fondasi yang kokoh dari Babilon, memanfaatkan keamanan Bitcoin yang terkenal untuk memastikan semua transaksi sangat aman, sama seperti di jaringan Bitcoin.

Lapisan Babylon: Di tengah-tengah Babylon adalah lapisan Babylon, sebuah blockchain kustom yang menghubungkan Bitcoin ke berbagai rantai Proof-of-Stake (PoS). Ia memproses transaksi, menjalankan kontrak pintar, dan memastikan semuanya berjalan lancar di seluruh ekosistem.

Lapisan rantai PoS: Lapisan teratas terdiri dari beberapa rantai PoS, setiap rantai PoS dipilih karena keunggulan uniknya. Ini memberikan BabylonChain skalabilitas dan fleksibilitas yang luar biasa, memungkinkan pengguna menikmati fitur terbaik dari berbagai blockchain PoS.

Cara kerjanya adalah mengamankan rantai PoS menggunakan blok akhir yang ditandatangani pada rantai BTC. Ini pada dasarnya memperluas protokol dasar dengan putaran penandatanganan tambahan. Tanda tangan ini di babak +1 final memiliki karakteristik unik: mereka adalah Tanda Tangan Satu Kali yang Dapat Diekstraksi (EOTS). Tujuannya adalah untuk mengintegrasikan pos pemeriksaan PoS ke BTC untuk menyelesaikan periode tidak mengikat yang panjang dan masalah serangan jarak jauh dari PoS.

Keuntungan Babylon adalah bahwa:

  • Percepat periode pembatalan PoS
  • Karena BTC dijaminkan, harga terhubung dengan BTC, yang dapat mengurangi tekanan inflasi pada jaringan PoS yang sesuai.
  • Membuka peluang baru untuk mendapatkan BTC

Tantangan yang dihadapi Babylon:

  • Desain ekonomi seperti tingkat pengembalian staking memiliki dampak yang lebih besar pada antusiasme staking BTC
  • Ketidaksesuaian ketentuan konsistensi reward antara rantai PoS

Protokol pihak ketiga memiliki titik keamanan yang berbeda tergantung pada implementasinya. Mengambil Babylon sebagai contoh, beberapa item audit keamanan yang perlu diperhatikan adalah sebagai berikut::

  1. Keamanan kontrak pintar: Kontrak jaminan pada BTC diimplementasikan melalui skrip UTXO, dan keamanannya perlu diperhatikan.

  2. Keamanan algoritma tanda tangan: Tanda tangan digunakan dalam kontrak untuk mengelola jaminan pengguna, dan keamanan algoritmanya terkait dengan pembuatan dan verifikasi tanda tangan.

  3. Desain model ekonomi protokol: Apakah model ekonomi protokol tersebut diatur dengan baik dalam hal imbalan dan hukuman, dan apakah itu akan menyebabkan hilangnya aset pengguna.

lampiran:

Item audit jaringan publik & Layer2 umum

  • Integer overflow: Periksa overflow integer dan underflow integer
  • Loop tak terbatas: Periksa apakah kondisi penilaian loop dari program tersebut masuk akal
  • Panggilan rekursif tak terbatas: Periksa apakah kondisi keluar dari panggilan rekursif program masuk akal
  • Kondisi balapan: Periksa operasi akses ke sumber daya bersama dalam kondisi konkuren
  • Crash abnormal: Periksa kode pengecualian yang memungkinkan program keluar secara aktif
  • Vulnerabilitas pembagian dengan 0: Periksa apakah ada pembagian dengan 0
  • Konversi tipe: Periksa apakah konversi tipe sudah benar dan apakah informasi penting hilang selama proses konversi
  • Array di luar batas: Periksa apakah elemen di luar batas array diakses
  • Kerentanan deserialisasi: periksa apakah ada masalah selama proses deserialisasi
  • Keamanan implementasi fungsional: Periksa apakah ada risiko keamanan dalam setiap implementasi antarmuka RPC dan apakah sesuai dengan fungsi antarmuka RPC.
  • Dapat dirancang untuk cocok
  • Apakah pengaturan izin antarmuka RPC sensitif sudah wajar: Periksa pengaturan izin akses antarmuka RPC sensitif
  • Mekanisme transmisi terenkripsi: Periksa apakah protokol transmisi terenkripsi digunakan, seperti TLS, dll.
  • Minta penguraian format data: Periksa proses penguraian format data permintaan
  • Serangan membuka kunci dompet: Ketika sebuah node membuka kunci dompetnya, ia diminta oleh RPC untuk mencuri dana.
  • Keamanan Web Tradisional: Periksa kerentanan berikut: Cross-site scripting (XSS) / Template injection
  • Kerentanan komponen pihak ketiga / polusi parameter HTTP / injeksi SQL / injeksi entitas XXE deserialisasi
  • kerentanan/kerentanan SSRF/injeksi kode/inklusi file lokal/inklusi file remote/injeksi eksekusi perintah dan kerentanan tradisional lainnya
  • Mekanisme otentikasi dan identifikasi identitas node jaringan: Periksa apakah ada mekanisme identifikasi node dan apakah mekanisme identifikasi node dapat dilewati.
  • Polusi tabel routing: Periksa apakah tabel routing dapat secara acak dimasukkan atau ditimpa data
  • Algoritma penemuan node: Periksa apakah algoritma penemuan node seimbang dan tidak dapat diprediksi, seperti algoritma jarak yang tidak seimbang dan masalah lainnya
  • Audit hunian nomor koneksi: Periksa apakah batas dan pengelolaan jumlah node koneksi jaringan p2p masuk akal
  • Serangan gerhana: Mengevaluasi biaya dan bahaya serangan gerhana dan memberikan analisis kuantitatif jika perlu
  • Serangan Sybil: Mengevaluasi mekanisme konsensus pemungutan suara dan menganalisis strategi pemeriksaan kualifikasi pemungutan suara
  • Serangan penyadapan: Memeriksa protokol komunikasi untuk kebocoran privasi
  • Serangan makhluk asing: Nilai apakah node dapat mengidentifikasi node rantai serupa
  • Time Hijacking: Memeriksa mekanisme perhitungan waktu jaringan node
  • Memory Exhaustion Attack: Memeriksa Tempat Konsumsi Memori Besar
  • Serangan Kehabisan Ruang Penyimpanan Hard Drive: Periksa Di Mana File Besar Disimpan
  • Serangan tekanan soket: periksa kebijakan batas jumlah koneksi
  • Serangan kelelahan penanganan kernel: Periksa batas pembuatan penanganan kernel, seperti penanganan file, dll.
  • Kelebihan memori persisten: Periksa kelebihan memori
  • Keamanan Algoritma Hash: Memeriksa Ketahanan Benturan dari Algoritma Hash
  • Keamanan algoritma tanda tangan digital: Periksa keamanan algoritma tanda tangan dan keamanan implementasi algoritma
  • Keamanan algoritma enkripsi: Periksa keamanan algoritma enkripsi, keamanan implementasi algoritma
  • Keamanan generator angka acak: Memeriksa apakah algoritma pembangkit angka acak yang kritis aman
  • Keamanan implementasi BFT: Mengevaluasi keamanan implementasi algoritma BFT
  • Aturan pilihan garpu: Periksa aturan pilihan garpu untuk memastikan keamanan
  • Deteksi Sentralisasi: identifikasi apakah ada sentralisasi berlebih dalam desain sistem
  • Audit insentif: Menilai dampak insentif terhadap keamanan
  • Serangan pengeluaran ganda: Periksa apakah konsensus dapat membela diri dari serangan pengeluaran ganda
  • Audit serangan MEV: Periksa dampak MEV node pengemasan blok pada keadilan rantai
  • Audit proses sinkronisasi blok: Periksa masalah keamanan selama proses sinkronisasi
  • Audit proses pemformatan blok: Periksa masalah keamanan dalam proses pemformatan, seperti kesalahan pemformatan yang menyebabkan crash
  • Audit proses pembangkitan blok: Periksa masalah keamanan selama proses pembangkitan blok, termasuk apakah metode konstruksi akar pohon Merkle adalah wajar
  • Audit proses verifikasi blok: Periksa apakah item konten tanda tangan blok dan logika verifikasi memadai
  • Audit logika konfirmasi blok: Periksa apakah algoritma dan implementasi konfirmasi bloknya wajar
  • Block hash collision: Periksa metode konstruksi block hash collision dan apakah penanganan collision masuk akal.
  • Batas sumber daya pemrosesan blok: Periksa apakah batas sumber daya seperti kumpulan blok yatim piatu, perhitungan verifikasi, pengalamatan hard disk, dll. masuk akal.
  • Audit proses sinkronisasi transaksi: Periksa isu keamanan selama proses sinkronisasi
  • Tabrakan hash transaksi: Periksa metode konstruksi tabrakan hash transaksi dan pemrosesan tabrakan
  • Penguraian format transaksi: Periksa masalah keamanan selama proses penguraian format, seperti kesalahan penguraian yang menyebabkan kerusakan
  • Verifikasi Legalitas Transaksi: Periksa apakah setiap jenis item konten tanda tangan transaksi dan logika verifikasi sudah memadai
  • Batasan sumber daya pemrosesan transaksi: Periksa apakah batasan sumber daya seperti kolam transaksi, perhitungan verifikasi, alamat hard disk, dll. wajar.
  • Serangan manipulasi transaksi: Bisakah sebuah transaksi mengubah bidang internal (seperti ScriptSig) untuk mengubah hash transaksi tanpa mempengaruhi validitas transaksi?
  • Audit serangan replay transaksi: Periksa deteksi sistem replay transaksi
  • Verifikasi bytecode kontrak: Periksa masalah keamanan proses verifikasi mesin virtual kontrak, seperti integer overflow, infinite loop, dll.
  • Eksekusi bytecode kontrak: Periksa masalah keamanan dalam proses eksekusi bytecode mesin virtual, seperti integer overflow, infinite loop, dll.
  • Model Gas: Periksa apakah biaya penanganan yang sesuai dengan setiap operasi atom transaksi pemrosesan/eksekusi kontrak proporsional dengan konsumsi sumber daya
  • Integritas logging: Periksa apakah informasi kunci telah dicatat
  • Keamanan catatan log: Periksa apakah ada masalah keamanan yang disebabkan oleh penanganan yang tidak tepat selama pemrosesan log, seperti integer overflow, dll.
  • Log berisi informasi pribadi: Periksa apakah log berisi informasi pribadi seperti kunci
  • Penyimpanan log: Periksa apakah catatan log terlalu banyak konten, menyebabkan konsumsi sumber daya node
  • Keamanan Rantai Pasok Kode Node: Periksa masalah yang diketahui dari semua pustaka, komponen pihak ketiga, dan versi yang sesuai dari kerangka rantai publik

Beosin adalah salah satu perusahaan keamanan blockchain pertama di dunia yang terlibat dalam verifikasi formal. Berfokus pada bisnis ekologi penuh "keamanan + kepatuhan", ia telah mendirikan cabang di lebih dari 10 negara dan wilayah di seluruh dunia. Bisnisnya mencakup audit keamanan kode sebelum proyek online, pemantauan dan pemblokiran risiko keamanan selama operasi proyek, pemulihan pencurian, produk kepatuhan blockchain "One-stop" + layanan keamanan seperti aset virtual anti pencucian uang (AML) dan penilaian kepatuhan yang mematuhi persyaratan peraturan setempat. Pihak proyek dengan kebutuhan audit dipersilakan untuk menghubungi tim keamanan Beosin.

Disclaimer:

  1. Artikel ini dicetak ulang dari [Beosin]. Semua hak cipta adalah milik penulis asli [Beosin]. Jika ada keberatan terhadap cetakan ulang ini, silakan hubungi Gerbang Belajar tim, dan mereka akan segera menanganinya.
  2. Penyangkalan Tanggung Jawab: Pandangan dan pendapat yang tercantum dalam artikel ini sepenuhnya merupakan milik penulis dan tidak merupakan saran investasi.
  3. Penerjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!