Bosagora – Pengembangan Lapisan Flash Secara Resmi Dimulai

0
271

Dev. Pembaruan Team Sprint 28

Implementasi Fungsionalitas

Menerapkan bukti konsep pembuatan kode QR #1229

Implementasi PoC dari 2 kode QR yang dihasilkan menggunakan dua API di dalam Agora. API pertama mengembalikan data yang akan diberikan untuk login, yang kedua untuk kunci enkripsi. Selain itu, parameter kueri telah digunakan untuk parameter.

  • Buat alat (atau perluas agora-cli) untuk mensimulasikan aktivitas di jaringan Agora #1227

Kami ingin mulai menguji Agora di lingkungan yang mensimulasikan jaringan dunia nyata. Anda mungkin menganggap ini sebagai TestNet, namun, sistem node ini tidak perlu dipublikasikan – oleh karena itu tidak perlu TestNet. Ini bisa berupa jaringan apa pun dengan blok genesis yang ditentukan khusus. Misalnya, ini bisa menjadi jaringan node Agora yang berjalan hanya di komputer pengembang untuk waktu yang singkat. Atau dapat berjalan pada layanan cloud khusus yang hanya dapat kami akses.

Tepat di mana jaringan berjalan tidak penting untuk masalah ini.

Sebelumnya, kami hanya mendapat dukungan untuk:

  • Memulai node Agora baru (buruh pelabuhan)
  • Membuat transaksi dan mengirimkannya ke node Agora (agora-cli #206)

Untuk mensimulasikan jaringan sepenuhnya, kami juga memerlukan beberapa fitur tambahan:

  • Kemampuan untuk terus menghasilkan transaksi baru yang valid dan mengirimkannya ke satu (atau lebih) node Agora
  • Kemampuan untuk dengan sengaja melakukan DDoS pada node Agora dengan permintaan API yang terbentuk dengan baik. Permintaan ini berisi parameter yang valid (misalnya transaksi yang valid)
  • Kemampuan untuk dengan sengaja melakukan DDoS pada node Agora dengan permintaan API yang salah. Ini akan membutuhkan penggunaan keacakan. Misalnya, alat tersebut dapat mencoba membalik bit acak atau mengirim data sampah ke titik akhir API. Alat tersebut juga dapat mencoba memanggil titik akhir yang tidak ada. Node Agora harus menangani semua kasus ini dengan benar.

Tujuan alat ini adalah untuk:

  • Temukan bug tersembunyi yang dapat menyebabkan simpul Agora menjadi rusak. Penting untuk menangkap sebanyak mungkin bug ini sebelum CoinNet diterapkan.
  • Temukan hambatan kinerja, dan kemudian optimalkan Agora.

Sebagai pengembang, tujuan kami adalah:

  • Temukan serangkaian fitur bagus yang harus didukung alat ini dan kasus penggunaan untuk fitur semacam itu. Beberapa di antaranya tercantum di atas.
  • Terapkan fitur tersebut. Jika cakupan penerapan fitur terlalu besar, silakan uraikan menjadi beberapa masalah kecil.

Refactor the testsuite untuk memulai dengan test block #1176

Sebelumnya, saat memulai test-suite (localrest) kami akan menentukan jumlah node. Ini berarti agora.test.Base diperlukan untuk membuat blok genesis yang berbeda per pengujian. Kami tidak yakin ini adalah sesuatu yang kami butuhkan. Jika pengujian perlu mendukung sejumlah validator tertentu, kami cukup menyediakan fungsi untuk memajukan blockchain ke siklus pendaftaran berikutnya, yang dapat menjadi apa pun yang kami inginkan.

Penelitian & pengembangan lapisan flash #1266

Masalah ini dibuat sebagai masalah berkelanjutan yang akan terus ditangani sebagai kemajuan penelitian dan pengembangan. Konten dalam masalah ini akan terus berkembang tetapi berikut ini adalah fokus kami saat ini.

Ringkasan tingkat tinggi

Kami ingin membangun solusi lapis kedua untuk membuat Agora dapat diskalakan dan memungkinkan pembayaran mikro.

Tujuan

Kami memiliki setidaknya tujuan berikut:

  • Skala ke banyak txs / dtk
  • Aktifkan transaksi berbiaya rendah
  • Aktifkan pembayaran cepat & transaksi mikro (menyiratkan biaya rendah)
  • Menjalankan node Flash seharusnya aman. Pencadangan / pemulihan seharusnya tidak menyebabkan hukuman yang tidak diinginkan.

Persyaratan

Insentif validator flash

Perlu ada insentif bagi validator untuk menjadi bagian dari lapisan flash. Apa pun yang dipertaruhkan lebih dari 40k akan digunakan untuk membuat saluran, kami perlu memberi insentif kepada operator untuk mempertaruhkan lebih banyak.

Script support

LN-Penalti vs Eltoo

Pahami bahwa saat ini Lightning Network sebenarnya adalah kumpulan protokol. Eltoo adalah implementasi lapisan Pembaruan bersaing yang memiliki banyak manfaat dibandingkan LN-Penalty. Lihat gambar ini: https://blockstream.com/img/blog/2018-04-30/lightning-layers.png

LN-Penalti

  • Memulihkan node yang dicadangkan dapat menyebabkan hukuman mandiri tanpa pengawasan. Node menerbitkan status lama, counterparty menerbitkan hukuman tx. Operator node kehilangan semua dana. Pengembang petir mengalaminya sendiri, mudah untuk membuat kesalahan.
  • Terlalu banyak risiko karena I / O bisa gagal.
  • Tidak dapat dengan mudah menjalankan node cadangan! Node harus tetap sinkron setiap saat.
  • Banyak sekali manajemen negara. Semua hukuman txs perlu disimpan dalam memori jika rekanan menerbitkan update tx yang lebih lama.
  • Keadaan asimetris yang perlu dirahasiakan.

Eltoo

  • Tidak ada sistem penalti
  • “Hukuman” untuk mencoba menyelesaikan transaksi sebelumnya adalah biaya yang dibayarkan untuk memasukkan transaksi tersebut. Tetapi tx ini kemudian dapat diganti dengan tx pembaruan yang lebih baru.
  • Keadaan simetris
  • Apalagi manajemen negara. Hanya simpan pembaruan & penyelesaian terakhir.
  • Mengaktifkan saluran multi-partai. Ini bisa bekerja sangat baik dengan sistem PoS kami.
  • Transaksi pemicu (disebutkan nanti di whitepaper) memungkinkan pembuatan saluran dengan umur yang panjang.
  • Membutuhkan SIGHASH_NOINPUT – BIP 118
  • Mengikat melalui kompatibilitas skrip, bukan melalui UTXO
  • Biaya dapat ditetapkan nanti, bukan di muka. Dan mereka bisa diganti. Ini penting untuk saluran yang berjalan lama.
  • Membutuhkan tag urutan yang meningkat secara monoton, untuk mendapatkan pasangan kunci dari dan mengelola pembaruan tx mana yang lebih baru. Dalam Bitcoin mereka menggunakan kembali nLockTime dengan nilai di masa lalu, ini dimungkinkan karena nLockTime saat ini sudah tinggi. Idealnya kami harus menerapkan nomor urut yang berbeda (juga direkomendasikan di whitepaper Eltoo).
  • Pembaruan skrip mengikat ke nomor urut.
  • Dengan menggunakan Schnorr kita mungkin dapat menyandikan derivasi kunci publik secara langsung dalam skrip dengan menjadikannya opcode.
  • Merilis skrip pembaruan awal tidak berarti apa-apa, itu masih terikat ke skrip pembaruan berikutnya.
  • Sumber daya pengetahuan

Bab Menguasai skrip Bitcoin (disarankan): https://cypherpunks-core.github.io/bitcoinbook/ch07.html

Sumber daya Eltoo

Prototipe Eltoo

Nekat

Mungkin sebaiknya tidak memotong lebih dari 40k. Jika sebuah node benar-benar terpotong, penandatangan saluran lain dengan node tersebut perlu mempublikasikan penyelesaian terakhir mereka yang diketahui sehingga mereka dapat memperoleh pengembalian dana.

Pengembangan Berkelanjutan

Website(Kor): https://bosagora.io/ko
Website(Eng): https://bosagora.io
Telegram(Kor): https://t.me/bpf_korea
Telegram(Eng): https://t.me/bpf_eng
BOSAGORA Official Announcement: https://t.me/boa_announcement
Medium: medium.com/bosagora
Twitter: https://twitter.com/BOSAGORA1
Reddit: https://www.reddit.com/r/BOSAGORA_BOA/
Facebook: https://www.facebook.com/BOSAGORA/
Linkedin: https://www.linkedin.com/company/bpf-korea/
Youtube: http://bit.ly/2YFpd5r
Github: https://github.com/bpfkorea

LEAVE A REPLY

Please enter your comment!
Please enter your name here