Bosagora: Pembaruan Deveveloper tim Sprint 32

0
157

Pengembangan Validator dan Implementasi Multi-Signature Schnorr Resmi Selesai!

Implementasi Fungsionalitas

Menerapkan dukungan untuk tanda tangan ambang non-interaktif (kompleksitas linier, bukan MuSig) #1428 (Mesin Eksekusi Skrip Dasar, Fitur)


Saat ini, hanya ada beberapa (mungkin hanya satu?) Skema tanda tangan ambang batas Schnorr non-interaktif yang ada. Salah satunya adalah MuSig. Karena menerapkan dukungan untuk MuSig bukanlah hal yang sepele, bukan ide yang buruk untuk menerapkan ukuran stop-gap dengan menambahkan dukungan untuk multi-sig dengan cara yang sama seperti CHECK_MULTI_SIG Bitcoin.

Mendesain & menerapkan aturan pemotongan untuk gambar awal #1076 yang hilang (Protokol Pemotongan, Fitur)

Image for post

Saat ini, kami sedang membangun aturan berdasarkan ketersediaan gambar awal: skema tanda tangan dan keseimbangan kuorum. Kami juga memiliki pengatur waktu untuk memastikan gambar awal kami tersedia jauh sebelum kami membutuhkannya. Sekarang kita perlu menambahkan cara untuk mendeteksi dan mencatat setiap kali gambar awal hilang, memutuskan kebijakan tentang apa yang harus dilakukan dengannya, dan menerapkannya.

Deteksi

Langkah pertama adalah mendeteksi setiap kali kita kehilangan gambar awal. Ini akan memungkinkan kami untuk memastikan bahwa kami telah menerapkan semuanya dengan benar saat ini. Setelah ini masalahnya, kita dapat melanjutkan ke menulis kasus uji. Kasus uji tersebut harus memiliki setidaknya satu node di jaringan yang melakukan hal berikut:

  • Jangan pernah mengirim gambar awal apa pun setelah pendaftaran awalnya;
  • Hanya mengirim satu gambar awal setelah mendaftar, lalu tidak lagi;
  • Kirim gambar awal untuk setengah dari siklusnya (berpotensi dalam satu burst) kemudian hentikan pengiriman gambar awal;
  • Kirim gambar awal untuk setengah siklusnya, hentikan selama seperempat siklus, lanjutkan hingga akhir; Keempat situasi tersebut harus diuji secara independen, jadi tidak selama siklus yang sama, dan tidak menggunakan kunci utxo / kunci publik yang sama.

Ini akan memungkinkan kami untuk melihat bagaimana jaringan saat ini berperilaku ketika dihadapkan dengan situasi tersebut, dan memperbaiki masalah yang tersisa.

Keputusan Kebijakan

Setelah kami memiliki dasar itu, kami perlu membuat kebijakan pemotongan untuk gambar awal yang hilang. Seperti yang dibahas dalam pertemuan sebelumnya, gambar awal yang hilang adalah salah satu kesalahan terbesar yang dapat dilakukan validator, selain tindakan bermusuhan langsung (seperti menandatangani dua blok untuk ketinggian yang sama).

Berikut ini dibahas sebelum implementasi apapun terjadi:

  • Hukuman bertahap bagi validator yang tidak menyampaikan citra awal mereka, sehingga mereka masih memiliki insentif untuk kembali dan menyebarkannya jika melewati tenggat waktu. Semakin banyak gambar awal, semakin aman fungsi keacakan.
  • Menerapkan penalti kehilangan pendapatan ke kuorum: ini memberikan insentif yang kuat kepada kuorum untuk menjaga dan menyebarkan gambar awal untuk node dalam kuorum mereka, memastikan bahwa mereka tidak akan mengabaikannya begitu saja untuk memaksimalkan hukuman dari validator;

Tampilkan API dasar #15 (Faucet,Fitur)

Faucet harus mengekspos API dasar sehingga dapat dipanggil dari layanan frontend (situs web) untuk melakukan Transaksi. Selain itu, beberapa fungsionalitas dapat berguna untuk debugging atau manajemen.

API dasar terdiri dari:

  • GET / utxos => Kembalikan larik dari semua UTXO yang diketahui;
  • POST / kirim? Recv = KEY & jumlah = 1234: Kirim jumlah BOA ke KEY, menggunakan UTXO yang dimiliki;

Schnorr multi-tanda tangan dari blok #1319 (Pembuatan Blok, Fitur)

Operator node sekarang memiliki kemampuan untuk melakukan multi-tanda tangan Schnorr untuk tanda tangan blok. Agar acara ini berlangsung, lebih dari setengah validator harus menandatangani blok yang telah mencapai konsensus sebelum dieksternalisasi.

Validator “menggosipkan” tanda tangan blok mereka setelah blok dieksternalisasi, yang berarti bahwa bahkan setelah konsensus tercapai, dan blok tersebut dieksternalisasi, lebih banyak validator dapat menambahkan tanda tangan mereka ke blok tersebut.

Pengembangan Berkelanjutan

  • Pisahkan TxBuilder dari KeyPair #1348 yang terkenal
  • Menerapkan pengumpulan biaya transaksi #1435
  • Agora mengalami error pada input yang terlalu besar #1278
  • Menerapkan saluran pembayaran tidak langsung melalui HTLC #1419
  • libexecinfo (digunakan di Alpine Linux) bermasalah #1407
  • Penelitian & pengembangan lapisan flash #1266 (berkelanjutan)

LEAVE A REPLY

Please enter your comment!
Please enter your name here