ACINQ, pembangun Lightning Network Bitcoin, mengeluarkan Eclair 0.14.6 pada 27 Oktober bagi menangani isu yang boleh membolehkan nod berniat jahat mengeksploitasi dana saluran yang belum disahkan. Kemas kini ini menetapkan secara lalai bahawa input dana rakan saluran untuk splice mesti disahkan, selain memperbaiki proses penyelesaian dan pemulihan dana apabila saluran ditutup. ACINQ menggesa pengendali nod menaik taraf dengan segera. Setakat ini, tidak diketahui sama ada kelemahan berkenaan pernah dieksploitasi dalam operasi sebenar.
Dana belum disahkan boleh menjejaskan bayaran tertunggak
Lightning Network memproses pemindahan Bitcoin melalui saluran pembayaran, tanpa perlu merekodkan setiap transaksi pada blockchain Bitcoin. Pengendali juga boleh menambah atau mengeluarkan kecairan daripada saluran sedia ada melalui proses “splice”, yang memerlukan transaksi pada rantaian.
Risiko timbul apabila splice menerima input dana daripada pihak satu lagi yang belum disahkan oleh rangkaian Bitcoin. Nod berniat jahat berpotensi menggandakan perbelanjaan transaksi berkaitan selepas menandatangani transaksi splice. Jika aturan dana asal terbatal, penyelesaian saluran yang bergantung padanya juga boleh terjejas.
Jika saluran kemudian ditutup pada blockchain Bitcoin, bayaran tertunggak yang dijamin oleh kontrak bersyarat has (HTLC) mungkin berisiko kerana penyelesaiannya bergantung pada transaksi dana yang sudah tidak sah. ACINQ menyifatkan perkara ini sebagai potensi kelemahan keselamatan, namun tidak menyatakan bahawa kecurian dana telah disahkan berlaku.
Input dana splice perlu disahkan terlebih dahulu
Eclair 0.14.6 memperkenalkan tetapan keselamatan yang secara lalai mewajibkan input dana daripada rakan saluran disahkan sebelum digunakan untuk splice. Tetapan itu juga menghalang pengendali daripada membina transaksi splice baharu berdasarkan perubahan dana yang belum disahkan. Langkah ini mengurangkan risiko penyelesaian akibat keadaan dana yang tidak boleh dipercayai terkumpul.
ACINQ menjelaskan bahawa syarat baharu ini berbeza daripada perlindungan pendanaan berganda yang sedia ada. Perlindungan tersebut kini khusus untuk pembukaan saluran, manakala splice tertakluk pada keperluan pengesahan baharu. Bagi rakan saluran yang tidak dipercayai, ACINQ turut mengingatkan pengendali supaya tidak menggunakan ciri komitmen tanpa yuran yang pilihan ketika melakukan splice. Ciri itu sebelum ini telah dimatikan secara lalai.
Penutupan paksa kembali kepada dana yang disahkan
Kemas kini ini turut memperbaiki pengendalian apabila transaksi dana saluran masih belum disahkan tetapi saluran perlu ditutup. Di bawah logik penyelesaian baharu, Eclair memilih transaksi komitmen yang dikenal pasti oleh bahagian belakang Bitcoin Core sebagai mempunyai sokongan dana. Jika perlu, perisian akan kembali kepada keadaan dana terkini yang telah disahkan, dan tidak menggunakan transaksi dana yang sudah tiada dalam kolam transaksi tertangguh setempat.
Satu lagi pembaikan menangani keadaan yang boleh menyebabkan dana tidak dituntut. Sesetengah transaksi mungkin masih disahkan oleh pelombong selepas Eclair tidak lagi menganggapnya sebagai laluan penyelesaian pilihan. Logik lama boleh tersalah menganggap transaksi sedemikian sebagai transaksi pihak lawan, lalu membiarkan dana yang boleh dipulihkan dan output bayaran tertunggak tidak dituntut. Versi baharu mengenal pasti transaksi ini dan cuba memulihkan output berkaitan.
Saluran sedia ada tidak perlu ditutup untuk naik taraf
ACINQ menyatakan nod yang masih menggunakan versi Eclair lama perlu memasang tampalan dan mengekalkan perlindungan input disahkan yang diaktifkan secara lalai. Untuk menaik taraf, pengendali perlu menghentikan perisian, memasang versi baharu dan memulakan semula nod. Saluran pembayaran sedia ada boleh kekal terbuka sepanjang proses itu.
Isu yang ditangani dalam kemas kini ini didedahkan secara bertanggungjawab oleh penyelidik keselamatan Erick Cestari. ACINQ memberi amaran bahawa nod berniat jahat mungkin mengeksploitasi sebahagian isu tersebut, tetapi maklumat yang didedahkan tidak menyatakan jumlah nod yang terjejas atau sama ada serangan telah berlaku.