Skizofrenia arsitektur Facebook Libra

Sawise rong taun, aku bali menyang blog kanggo kirim sing beda saka kuliah boring biasanipun bab Haskell lan matématika. Aku wis nggarap fintech ing EU sajrone sawetara taun kepungkur lan kayane wis teka kanggo nulis babagan topik sing ora entuk perhatian saka media teknologi.

Facebook bubar ngeculake apa sing diarani "platform layanan finansial anyar" sing diarani Libra. Iki dipanggonke minangka sistem pemukiman digital adhedhasar bakul mata uang internasional sing dikelola ing "blockchain" lan disimpen ing blumbang dhuwit sing dikelola saka Swiss. Tujuan proyek kasebut ambisius lan nyebabake akibat geopolitik skala gedhe.

В Financial Times и New York Times Akeh artikel sing wicaksana babagan asumsi moneter lan ekonomi sing ora bener ing mburi sistem finansial sing diusulake. Nanging ora cukup spesialis sing bisa nganalisa saka sudut pandang teknis. Ora akeh wong sing kerja ing prasarana finansial lan ngomongake babagan karyane kanthi umum, mula proyek iki ora entuk akeh liputan ing media teknologi, sanajan jerone mbukak kanggo jagad iki. Maksudku mbukak sumber ing repositori Libra и Organisasi Kalibra.

Apa sing mbukak kanggo jagad iki minangka artefak skizofrenia arsitektur kanthi klaim minangka platform sing aman kanggo infrastruktur pambayaran global.

Yen sampeyan nyilem menyang basis kode, implementasine sistem sing bener-bener beda karo tujuan sing wis ditemtokake, lan kanthi cara sing paling aneh. Aku yakin proyek iki nduweni sejarah perusahaan sing menarik. Dadi logis kanggo nganggep manawa dirancang kanthi rajin, nanging nyatane aku ndeleng keputusan arsitektur sing aneh banget sing ngrusak kabeh sistem lan mbebayani pangguna.

Aku ora bakal pura-pura duwe pendapat objektif babagan Facebook minangka perusahaan. Sawetara wong ing industri IT ndeleng dheweke kanthi simpati. Nanging mbandhingake pratelan lan kode sing diterbitake kanthi jelas nuduhake yen tujuan sing dicritakake dhasar ngapusi. Cekakipun, proyek iki ora nguatake sapa wae. Dheweke bakal tetep ana ing kontrol perusahaan sing bisnis pariwara dadi skandal lan korupsi sing ora duwe pilihan nanging nyoba macem-macem pembayaran lan skor kredit supaya bisa urip. Tujuan jangka panjang sing jelas yaiku tumindak minangka broker data lan perantara ing akses konsumen menyang kredit adhedhasar data media sosial pribadhi. Iki minangka crita sing nggegirisi lan peteng sing ora entuk perhatian sing pantes.

Siji-sijine sih-rahmat sing nylametake crita iki yaiku artefak sing digawe banget ora cocog karo tugas sing ditindakake mung bisa dideleng minangka tumindak hubris. Ana sawetara kesalahan arsitektur utama ing proyek iki:

Ngatasi Masalah Jenderal Bizantium ing Jaringan Kontrol Akses minangka Desain sing Ora Konsisten

Masalah jenderal Bizantium minangka wilayah riset sistem sing disebarake. Iki nggambarake kemampuan sistem jaringan kanggo nahan kegagalan komponen acak nalika njupuk tindakan koreksi sing kritis kanggo operasi sistem kasebut. Jaringan sing tahan banter kudu tahan sawetara jinis serangan, kalebu miwiti maneh, mati, beban jahat, lan voting jahat ing pemilihan pimpinan. Iki minangka keputusan utama kanggo arsitektur Libra, lan ora ana gunane ing kene.

Kerumitan wektu overhead saka struktur tambahan iki gumantung ing algoritma. Ana akeh literatur babagan varian protokol Paxos lan Raft sing ngrampungake masalah jenderal Bizantium, nanging kabeh struktur kasebut ngenalake overhead tambahan kanggo komunikasi liwat. Skizofrenia arsitektur Facebook Libra kanggo njaga kuorum. Kanggo Libra, dheweke milih algoritma kanthi biaya komunikasi paling dhuwur Skizofrenia arsitektur Facebook Libra ing kasus kegagalan kepemimpinan. Lan ana tambahan nduwur sirah saka potensial maneh pemilihan pimpinan ing macem-macem jinis acara gagal jaringan.

Kanggo sistem sing beroperasi ing konsorsium perusahaan multinasional sing diatur banget, ing ngendi kabeh pangguna duwe kode sing ditandatangani dening Facebook lan akses menyang jaringan dikontrol dening Facebook, mung ora ana gunane kanggo nimbang peserta sing jahat ing tingkat konsensus. Ora jelas kenapa sistem iki bakal ngatasi masalah jenderal Bizantium, tinimbang mung njaga jejak audit sing konsisten kanggo mriksa kepatuhan. Kamungkinan simpul Libra sing dikelola dening Mastercard utawa Andressen Horrowitz dumadakan wiwit mbukak kode angkoro minangka skenario aneh sing kudu direncanakake lan luwih ditangani kanthi mung njamin integritas protokol lan sarana non-teknis (yaiku legal).

Kesaksian marang Kongres menehi tagihan produk kasebut minangka saingan kanggo protokol pembayaran internasional anyar kayata WeChat, Alipay lan M-Pesa. Nanging, ora ana sistem iki sing dirancang kanggo mbukak ing pools validator kanggo ngatasi masalah jenderal Bizantium. Dheweke mung dirancang ing bis bandwidth dhuwur tradisional sing nggawe kabel miturut aturan tetep. Iki minangka pendekatan alami kanggo ngrancang sistem pembayaran. Dirancang apik sistem pembayaran mung ora bakal nemokke masalah mbuwang pindho lan garpu.

Overhead algoritma konsensus ora ngrampungake masalah lan mung mbatesi throughput sistem tanpa alesan liyane saka kultus kargo saka blockchain umum, sing ora dimaksudake kanggo kasus panggunaan iki.

Libra ora duwe privasi transaksi

Miturut dokumentasi, sistem kasebut dirancang kanthi nimbang jeneng samaran, yaiku, alamat sing digunakake ing protokol dijupuk saka kunci umum ing kurva elips lan ora ngemot metadata babagan akun. Nanging, ora ana ing katrangan babagan struktur pamrentah kanggo organisasi utawa ing protokol kasebut dhewe nuduhake kepiye data ekonomi sing ana ing transaksi bakal didhelikake saka validator. Sistem kasebut dirancang kanggo niru transaksi kanthi skala gedhe menyang sawetara pihak eksternal sing, miturut undang-undang rahasia bank Eropa lan AS, ora kudu ngerti rincian ekonomi.

Kabijakan data ing saindenging negara angel dikoordinasi, utamane amarga hukum lan peraturan sing beda-beda ing yurisdiksi sing beda-beda kanthi pandangan budaya sing beda babagan perlindungan lan privasi data. Protokol kasebut kanthi standar mbukak kanggo anggota konsorsium, yaiku kekurangan teknis sing jelas sing ora nyukupi syarat sing dirancang.

Libra HotStuff BFT ora bisa entuk throughput sing dibutuhake kanggo sistem pembayaran

Ing Inggris, sistem kliring kaya BAC bisa nangani udakara 580 transaksi saben wulan. Ing wektu sing padha, sistem sing dioptimalake banget kaya Visa bisa ngolah 000 transaksi saben dina. Kinerja beda-beda gumantung saka ukuran transaksi, rute jaringan, beban sistem, lan AML mriksa (anti pencucian uang, skema pencucian uang).

Libra nyoba ngrampungake masalah sing dudu masalah kanggo transfer domestik, amarga negara-negara wis modernisasi infrastruktur pembersihan sajrone dekade kepungkur. Kanggo konsumen ritel ing Uni Eropa, mindhah dhuwit ora dadi masalah. Ing infrastruktur tradisional, iki bisa ditindakake kanthi smartphone standar sajrone sawetara detik. Kanggo transfer perusahaan gedhe, ana macem-macem mekanisme lan aturan sing digandhengake karo pamindhahan dhuwit sing akeh.

Ora ana alesan teknis kenapa pembayaran lintas-wewatesan uga ora bisa diproses kanthi cepet, kajaba bedane aturan lan syarat antarane yuridiksi sing cocog. Yen langkah-langkah pencegahan sing dibutuhake (teliti amarga pelanggan, mriksa sanksi, lsp.) ditindakake kaping pirang-pirang ing tahapan rantai transaksi sing beda-beda, iki bisa nyebabake wektu tundha transaksi kasebut. Nanging, wektu tundha iki mung minangka fungsi saka peraturan lan kepatuhan peraturan, dudu teknologi.

Kanggo konsumen, ora ana alesan kenapa transaksi Inggris ora bakal jelas sajrone sawetara detik. Transaksi eceran ing EU pancen saya suwe saya suwe KYC mriksa (Ngerti Pelanggan) lan Watesan AML sing dileksanakake dening pemerintah lan regulator, sing ditrapake kanggo pembayaran Libra. Sanajan Facebook kudu ngatasi alangan kanggo transfer lintas-wewatesan lan transfer data pribadi, model sing diusulake atusan wong-taun adoh saka throughput transaksi global lan kamungkinan kudu didesain ulang saka awal.

Basa Libra Move ora bener

Kertas putih nggawe pratelan sing kandel babagan basa anyar sing durung diuji sing diarani Move. Pernyataan kasebut cukup diragukan saka sudut pandang teori basa pemrograman (PLT).

Move minangka basa pamrograman anyar kanggo ngetrapake logika transaksi khusus lan kontrak cerdas ing pamblokiran Libra. Amarga Libra duwe tujuan kanggo nglayani milyaran wong, Move dirancang kanthi keamanan minangka prioritas utama.

Fitur utama Move yaiku kemampuan kanggo nemtokake jinis sumber daya kanthi semantik sing diilhami dening logika linear.

Ing blockchain umum, kontrak cerdas ngadhepi logika jaringan umum kanthi akun escrow, pencucian dhuwit, penerbitan token OTC, lan gambling. Kabeh iki ditindakake ing basa sing dirancang kanthi apik sing diarani Solidity, sing saka sudut pandang akademik ndadekake penulis PHP katon kaya genius. Anehe, basa anyar saka Facebook kayane ora ana hubungane karo teknologi kasebut, amarga sejatine basa skrip sing dimaksudake kanggo tujuan perusahaan sing ora jelas.

Ing buku gedhe sing disebarake pribadi, kontrak cerdas minangka salah sawijining istilah sing dibuwang dening konsultan tanpa nggatekake definisi utawa tujuan sing jelas. Konsultan piranti lunak perusahaan biasane entuk dhuwit saka ambiguitas, lan kontrak cerdas minangka apotheosis saka obscurantism perusahaan amarga bisa ditetepake minangka apa wae.

Sawise nggawe pratelan babagan keamanan, kita kudu ndeleng semantik basa kasebut. Correctness ing teori basa pemrograman biasane kasusun saka rong bukti sing beda: "kemajuan" lan "pengawetan", sing nemtokake konsistensi kabeh ruang aturan evaluasi kanggo basa kasebut. Luwih khusus, ing teori jinis, fungsi minangka "linear" yen nggunakake argumentasine persis sapisan, lan "affine" yen nggunakake paling akeh sapisan. Sistem jinis linear nyedhiyakake jaminan statis yen fungsi linear sing diumumake pancen linier kanthi menehi jinis kanggo kabeh subekspresi fungsi lan nglacak ing ngendi panggilan digawe. Iki minangka properti subtle kanggo mbuktekake lan ora gampang dileksanakake kanggo kabeh program. Ketik linear isih dadi bidang studi akademik banget, dipengaruhi dening implementasine keunikan tipe ing Clean lan kepemilikan jinis ing Rust. Ana sawetara usulan awal kanggo nambah jinis linear menyang Glasgow Haskell Compiler.

Pernyataan Move babagan nggunakake jinis linear katon kaya nyilem sing ora dikarepake menyang kompiler, wiwit ana ora ana logika mriksa jinis kasebut. Minangka adoh minangka siji bisa ngomong, whitepaper nyebut literatur kanonik saka Girard lan Peirce, lan ora ana sing padha ing implementasine nyata.

Kajaba iku, semantik formal saka basa sing dianggep aman ora katon ing implementasine utawa dokumen. Basa kasebut cukup cilik kanggo nemokake bukti lengkap babagan semantik sing bener ing Coq utawa Isabelle. Ing kasunyatan, compiler konversi lengkap end-to-end kanthi transfer bukti menyang bytecode cukup bisa ditindakake kanthi alat modern sing diciptakake ing dekade pungkasan. Kita ngerti carane nindakake iku, miwiti karo karya George Necula lan Peter Lee bali ing 1996.

Saka perspektif téori basa pamrograman, mokal kanggo nguji pratelan manawa Move minangka basa sing bisa dipercaya lan aman, amarga klaim kasebut minangka waving tangan lan pemasaran sing murni tinimbang bukti nyata. Iki minangka kahanan sing nguwatirake kanggo proyek basa sing dijaluk ngolah transaksi milyaran dolar.

Kriptografi Libra cacat

Mbangun cryptosystems aman iku masalah engineering banget angel, lan iku tansah paling apik kanggo pendekatan nggarap kode mbebayani karo dosis apik saka paranoia sehat. Ana terobosan utama ing wilayah iki, kaya proyek Microsoft Everest, sing mbangun aman sing bisa diverifikasi tumpukan TLS. Piranti wis ana kanggo nggawe primitif sing bisa diverifikasi. Sanajan iki larang, jelas ora ngluwihi kemampuan ekonomi Facebook. Nanging, tim mutusake ora melu ing proyek kasebut, sing diumumake minangka dhasar sing dipercaya kanggo sistem finansial global.

proyek libra gumantung saka sawetara perpustakaan sing cukup anyar kanggo nggawe cryptosystem eksperimen sing mung muncul ing sawetara taun kepungkur. Ora bisa dingerteni manawa katergantungan ing piranti ing ngisor iki aman utawa ora, amarga ora ana perpustakaan kasebut sing wis diaudit lan ora duwe kabijakan pambocoran standar. Utamane, kanggo sawetara perpustakaan inti ora ana kepastian babagan perlindungan marang serangan saluran sisih lan serangan wektu.

  1. ed25519-dalek
  2. kurva25519-dalek

Perpustakaan libra dadi luwih eksperimen lan ngluwihi model standar, ngetrapake teknik anyar banget kayata fungsi acak sing bisa diverifikasi (VRF), pasangan bilinear, lan tandha ambang. Cara lan perpustakaan iki bisa uga cukup, nanging nggabungake kabeh dadi siji sistem nyebabake keprihatinan serius babagan area permukaan serangan. Kombinasi kabeh alat lan teknik anyar iki nambah kerumitan bukti keamanan.

Sampeyan kudu dianggep yen kabeh tumpukan kriptografi iki rentan marang macem-macem serangan nganti bisa dibuktekake. Model 'Move Fast and Break Things' sing misuwur ing Facebook ora bisa ditrapake kanggo alat kriptografi sing ngolah data finansial pelanggan.

Libra gagal ngetrapake mekanisme perlindungan konsumen

Fitur khas saka sistem pembayaran yaiku kemampuan kanggo mbalekake transaksi yen pembayaran dibatalake kanthi tuntutan hukum utawa nyebabake kegagalan sistem utawa ora sengaja. Sistem Libra dirancang kanggo "lengkap" lan ora kalebu jinis transaksi kanggo pembatalan pembayaran. Ing Inggris, kabeh pembayaran antarane £100 lan £30,000 tundhuk marang Undhang-undhang Kredit Konsumen. Iki tegese sistem pembayaran nuduhake tanggung jawab karo bakul yen ana masalah karo produk sing dituku utawa yen panampa pembayaran ora nyedhiyakake layanan kasebut. Aturan sing padha ditrapake ing EU, Asia lan Amerika Utara.

Desain Libra saiki ora kalebu protokol kanggo tundhuk karo hukum kasebut lan ora duwe rencana sing jelas kanggo nggawe. Malah luwih elek, saka perspektif arsitektur, finalitas struktur data asli kernel, adhedhasar negara drive Merkle, ora ngidini mekanisme apa wae kanggo nggawe protokol kasebut tanpa ngrancang ulang kernel.

Sawise nganakake tinjauan teknis babagan proyek iki, kita bisa nyimpulake manawa ora bakal ditindakake ing riset sistem distribusi utawa jurnal teknik finansial sing dihormati. Kanggo nyoba ngganti kabijakan moneter global, akeh karya teknis kudu ditindakake kanggo nggawe jaringan sing dipercaya lan ngolah data pangguna sing aman sing bisa dipercaya masarakat lan regulator.

Aku ora weruh alesan kanggo pracaya yen Facebook wis nindakake karya sing perlu ing desain kanggo ngatasi masalah teknis iki utawa duwe kaluwihan teknis liwat infrastruktur saiki. Ngomong manawa perusahaan butuh keluwesan regulasi kanggo njelajah inovasi ora dadi alesan kanggo ora nindakake dhisik.

Source: www.habr.com

Add a comment