Arkitektura skizofrenio Facebook Libra

Post du jaroj, mi revenis al la blogo por afiŝo kiu diferencas de la kutimaj enuigaj prelegoj pri Haskell kaj matematiko. Mi laboris pri fintech en EU dum la lastaj jaroj kaj ŝajnas, ke venis la tempo por skribi pri temo, kiu ricevis malmulte da atento de la teknikaj amaskomunikiloj.

Facebook lastatempe publikigis tion, kion ĝi nomas "nova platformo pri financaj servoj" nomata Libra. Ĝi estas poziciigita kiel cifereca setlsistemo bazita sur korbo de internaciaj valutoj, kiuj estas administritaj sur "blokĉeno" kaj stokitaj en mona naĝejo administrita el Svislando. La celoj de la projekto estas ambiciaj kaj kunportas grandskalajn geopolitikajn sekvojn.

В financaj Tempoj и Nov-Jorko Prifriponas Multaj prudentaj artikoloj pri la malfortaj monaj kaj ekonomiaj supozoj malantaŭ la proponita financa sistemo. Sed ne estas sufiĉe da specialistoj kapablaj analizi el teknika vidpunkto. Ne multaj homoj laboras pri financa infrastrukturo kaj parolas publike pri sia laboro, do ĉi tiu projekto ne ricevas multe da kovrado en la teknikaj amaskomunikiloj, kvankam ĝiaj internoj estas malfermitaj al la mondo. Mi volas diri malferman fonton en deponejoj Pesilo и Organizo Calibra.

Kio estas malfermita al la mondo, estas arkitekture skizofrenia artefakto kun asertoj esti sekura platformo por la tutmonda paga infrastrukturo.

Se vi plonĝas en la kodan bazon, la reala efektivigo de la sistemo tute devias de la deklarita celo, kaj laŭ la plej bizaraj manieroj. Mi certas, ke ĉi tiu projekto havas interesan kompanian historion. Do estas logike supozi, ke ĝi estis desegnita kun iom da diligento, sed fakte mi vidas vere strangan aron da arkitekturaj decidoj, kiuj rompas la tutan sistemon kaj riskas uzantojn.

Mi ne ŝajnigos havi objektivan opinion pri Fejsbuko kiel kompanio. Malmultaj homoj en la IT-industrio rigardas ŝin kun simpatio. Sed komparo de ĝiaj deklaroj kaj la publikigita kodo klare montras, ke la deklarita celo estas esence trompa. Resume, ĉi tiu projekto ne povigas iun ajn. Li restos tute sub la kontrolo de firmao, kies reklam-komerco estas tiom enŝlimigita en skandalo kaj korupto, ke ĝi ne havas alian elekton ol provi diversigi siajn pagojn kaj kreditpoentadon por pluvivi. La klara longperspektiva celo estas agi kiel datumperanto kaj peranto en la aliro de konsumantoj al kredito surbaze de iliaj personaj sociaj amaskomunikilaj datumoj. Ĉi tio estas absolute terura kaj malhela rakonto, kiu ne ricevas la atenton, kiun ĝi meritas.

La nura sava gracio de ĉi tiu rakonto estas, ke la artefakto, kiun ili kreis, estas tiel ridige maltaŭga por la tasko, ke ĝi nur povas esti vidita kiel ago de hibrizo. Estas pluraj gravaj arkitekturaj eraroj en ĉi tiu projekto:

Solvi la Problemon de Bizancaj Generaloj en Alirkontrola Reto estas Malkonsekvenca Dezajno

La problemo de la bizancaj generaloj estas sufiĉe mallarĝa areo de esplorado de distribuitaj sistemoj. Ĝi priskribas la kapablon de retsistemo por elteni hazardajn komponentfiaskojn prenante korektajn agojn kritikajn al la operacio de la sistemo. Fortika reto devas elteni plurajn specojn de atakoj, inkluzive de rekomencoj, malfunkcioj, malicaj ŝarĝoj kaj malica voĉdonado en gvidaj elektoj. Ĉi tio estas la ĉefa decido por la Libra-arkitekturo, kaj ĝi estas tute sensignifa ĉi tie.

La tempa komplekseco de ĉi tiu kroma strukturo dependas de la algoritmo. Estas multe da literaturo pri variantoj de la protokoloj Paxos kaj Raft solvanta la problemon de bizancaj generaloj, sed ĉiuj tiuj strukturoj enkondukas kroman supraĵon por komunikado super. Arkitektura skizofrenio Facebook Libra konservi kvorumon. Por Libra, ili elektis algoritmon kun la plej alta ebla komunika kosto Arkitektura skizofrenio Facebook Libra en kazo de fiasko de gvidado. Kaj estas plia ŝarĝo de ebla reelekto de gvidantoj tra multoblaj specoj de retaj fiaskoj.

Por sistemo funkcianta ene de konsorcio de tre reguligitaj multnaciaj korporacioj, kie ĉiuj uzantoj havas kodon subskribitan de Facebook kaj aliro al la reto estas kontrolita de Facebook, simple ne havas sencon konsideri malicajn partoprenantojn ĉe la konsenta nivelo. Estas ne klare kial tiu sistemo eĉ solvus la problemon de bizancaj generaloj, prefere ol simple konservado de konsekvenca reviziovojo por kontroli observon. La ebleco de Libra nodo prizorgita de Mastercard aŭ Andressen Horrowitz subite ekfunkcianta malican kodon estas stranga scenaro por plani kaj estas pli bone traktita simple certigante protokolan integrecon kaj ne-teknikajn (t.e. laŭleĝajn) rimedojn.

Atesto al la Kongreso proklamis la produkton kiel konkuranto al novaj internaciaj pagprotokoloj kiel WeChat, Alipay kaj M-Pesa. Tamen, neniu el ĉi tiuj sistemoj estas dizajnitaj por funkcii per validigiloj por solvi la problemon de bizancaj generaloj. Ili estas simple dezajnitaj sur tradicia alt-bendolarĝa buso, kiu faras kablon laŭ fiksa aro de reguloj. Ĉi tio estas natura aliro al desegnado de pagsistemo. Bone desegnita la pagsistemo simple ne renkontos la problemon de duoblaj elspezoj kaj forkoj.

La superkompeto de la konsenta algoritmo ne solvas ajnan problemon kaj nur limigas la trairon de la sistemo sen kialo krom la kargo-kulto de la publika blokoĉeno, kiu ne estas destinita por ĉi tiu uzokazo.

Pesilo ne havas transakcian privatecon

Laŭ la dokumentado, la sistemo estas desegnita konsiderante pseŭdonimo, tio estas, la adresoj uzataj en la protokolo estas akiritaj de publikaj ŝlosiloj sur elipsaj kurboj kaj ne enhavas metadatenojn pri kontoj. Tamen, nenie en la priskribo de la regado-strukturo por la organizo aŭ en la protokolo mem ĝi indikas kiel la ekonomiaj datumoj implikitaj en transakcioj estos kaŝitaj de validigiloj. La sistemo estas desegnita por reprodukti transakciojn grandskale al gamo da eksteraj partioj, kiuj, laŭ ekzistantaj eŭropaj kaj usonaj banksekretaj leĝoj, ne devus esti konsciaj pri la ekonomiaj detaloj.

Datumpolitikoj trans landoj estas malfacile kunordigeblaj, precipe pro malsimilaj leĝoj kaj regularoj en malsamaj jurisdikcioj kun malsamaj kulturaj vidoj pri datumprotekto kaj privateco. La protokolo mem estas defaŭlte tute malfermita al konsorciaj membroj, kio estas klara teknika manko, kiu ne plenumas la postulojn por kiuj ĝi estas dizajnita.

Libra HotStuff BFT ne kapablas atingi la trairon necesan por pagsistemo

En Britio, purigsistemoj kiel BAC kapablas pritrakti ĉirkaŭ 580-transakciojn monate. Samtempe, tre optimumigitaj sistemoj kiel Visa povas procesi 000-transakciojn tage. Efikeco varias depende de transakcia grandeco, retvojigo, sistema ŝarĝo, kaj AML-kontroloj (kontraŭ-monlavado, monlavado-skemoj).

Libra provas solvi problemojn, kiuj ne vere estas problemoj por enlandaj translokigoj, ĉar naciaj ŝtatoj modernigis sian purigan infrastrukturon dum la pasinta jardeko. Por podetalaj konsumantoj en la Eŭropa Unio, movi monon tute ne estas problemo. Sur tradicia infrastrukturo, ĉi tio povas esti farita per norma inteligenta telefono en sekundoj. Por grandaj kompaniaj translokigoj, ekzistas diversaj mekanismoj kaj reguloj asociitaj kun movi grandajn kvantojn da mono.

Ne ekzistas teknika kialo kial translimaj pagoj ankaŭ ne povas esti procesitaj tuj, krom diferencoj en reguloj kaj postuloj inter la koncernaj jurisdikcioj. Se la necesaj preventaj mezuroj (kliento devita diligento, sankcioj, ktp.) estas faritaj plurfoje en malsamaj stadioj de la transakcia ĉeno, tio povas rezultigi malfruon en la transakcio. Tamen, ĉi tiu prokrasto estas nur funkcio de reguliga leĝaro kaj plenumo, ne teknologio.

Por konsumantoj, ne ekzistas kialo, kial UK-transakcio ne malbariĝus en demando de sekundoj. Podetalaj transakcioj en EU ja malrapidiĝas KYC-kontrolo (Konu Vian Klienton) kaj AML-limigoj truditaj de registaroj kaj reguligistoj, kiuj validas egale por Libra-pagoj. Eĉ se Facebook venkus la obstaklojn al translimaj translokigoj kaj privataj datumtranslokigoj, la proponita modelo estas centojn da personoj-jaroj for de tutmonda transakcia trairo kaj verŝajne bezonus esti restrukturita de nulo.

Libra Move lingvo estas malĝusta

La blanka libro faras aŭdacajn asertojn pri nova, neprovita lingvo nomita Movu. Ĉi tiuj deklaroj estas sufiĉe dubindaj el la vidpunkto de la teorio de programlingvoj (PLT).

Move estas nova programlingvo por efektivigi kutiman transakcian logikon kaj inteligentajn kontraktojn sur la blokĉeno de Libra. Ĉar Libra celas iam servi miliardojn da homoj, Move estas desegnita kun sekureco kiel ĉefa prioritato.

Ĉefa trajto de Move estas la kapablo difini arbitrajn rimedspecojn kun semantiko inspirita de lineara logiko.

En publikaj blokĉenoj, inteligentaj kontraktoj alfrontas la logikon de publikaj retoj kun escrow-kontoj, monlavado, OTC-ĵeton-emisio kaj hazardludo. Ĉio ĉi estas farita en mirige malbone desegnita lingvo nomata Solideco, kiu el akademia vidpunkto igas la aŭtoron de PHP aspekti kiel geniulo. Sufiĉe strange, la nova lingvo de Fejsbuko ŝajnas havi nenion komunan kun ĉi tiuj teknologioj, ĉar ĝi fakte estas skriptlingvo destinita por obskuraj entreprenaj celoj.

En privataj distribuitaj ĉeflibroj, inteligentaj kontraktoj estas unu el tiuj terminoj ĵetitaj de konsultistoj sen multe da konsidero por klara difino aŭ celo. Konsultistoj pri entreprena programaro kutime gajnas monon el ambigueco, kaj inteligentaj kontraktoj estas la apoteozo de kompania obskurantismo ĉar ili povas esti difinitaj kiel laŭvorte io ajn.

Post asertoj pri ĝia sekureco, ni devas rigardi la semantikon de la lingvo. Ĝusteco en programlingvoteorio tipe konsistas el du malsamaj pruvoj: "progreso" kaj "konservado", kiuj determinas la konsistencon de la tuta spaco de taksadreguloj por la lingvo. Pli specife, en teorio de tipoj, funkcio estas "linia" se ĝi uzas sian argumenton ekzakte unufoje, kaj "afina" se ĝi uzas ĝin maksimume unufoje. La lineara tipsistemo disponigas senmovan garantion ke deklarita linia funkcio estas vere linia asignante tipojn al ĉiuj funkciosubesprimoj kaj konservante trakon de kie vokoj estas faritaj. Ĉi tio estas subtila posedaĵo por pruvi kaj ne facilas efektivigi por tuta programo. Linia tajpado daŭre estas tre akademia kampo de studo, influita per la efektivigo de tipunikeco en Pura kaj tipposedo en Rust. Ekzistas kelkaj preparaj proponoj por aldoni liniajn tipojn al la Glasgova Haskell Kompililo.

La deklaro de Move pri uzado de linearaj tipoj ŝajnas nepravigebla plonĝo en la kompililon, ekde tie ne ekzistas tia tipkontrola logiko. Kiom oni povas diri, la blankpapero citas kanonan literaturon de Girard kaj Peirce, kaj ekzistas nenio simila en la efektiva efektivigo.

Aldone, la formala semantiko de la supozeble sekura lingvo aperas nenie nek en la efektivigo aŭ en la dokumento. La lingvo estas sufiĉe malgranda por trovi kompletan pruvon de ĝusta semantiko en Coq aŭ Isabelle. En realeco, fin-al-fina plena konverta kompililo kun pruva translokigo al bajtokodo estas sufiĉe ebla efektivigi per modernaj iloj inventitaj en la lasta jardeko. Ni scias kiel fari ĝin, komencante verkoj de George Necula kaj Peter Lee reen en 1996.

De programlingva teorioperspektivo, estas maleble testi la aserton ke Move estas fidinda kaj sekura lingvo, ĉar tiuj asertoj sumiĝas al pura man-svingado kaj merkatado prefere ol reala indico. Ĉi tio estas alarma situacio por lingvoprojekto, al kiu oni petas prilabori miliardojn da dolaroj da transakcioj.

Libra kriptografio estas misa

Konstrui sekurajn kriptajn sistemojn estas tre malfacila inĝeniera problemo, kaj ĉiam estas plej bone aliri labori kun danĝera kodo kun bona dozo de sana paranojo. Estas gravaj progresoj en ĉi tiu areo, kiel la Microsoft Everest-projekto, kiu konstruas kontroleblan sekuran. TLS-stako. Iloj jam ekzistas por krei kontroleblajn primitivaĵojn. Kvankam ĉi tio estas multekosta, ĝi klare ne superas la ekonomiajn kapablojn de Facebook. Tamen, la teamo decidis ne partopreni en la projekto, kiu estis anoncita kiel fidinda fundamento por la tutmonda financa sistemo.

libra projekto dependas el pluraj sufiĉe novaj bibliotekoj por krei eksperimentajn kriptajn sistemojn, kiuj nur aperis en la lastaj jaroj. Estas neeble diri ĉu la dependecoj de la sekvaj iloj estas sekuraj aŭ ne, ĉar neniu el ĉi tiuj bibliotekoj estis reviziita kaj ne havas normajn malkaŝajn politikojn. Aparte, por kelkaj kernbibliotekoj ekzistas neniu certeco koncerne protekton kontraŭ flankaj-kanalaj atakoj kaj tempaj atakoj.

  1. ed25519-dalek
  2. kurbo25519-dalek

La biblioteko biblioteko iĝas eĉ pli eksperimenta kaj iras pretere norma modelo, aplikante tre novajn teknikojn kiel ekzemple kontroleblaj hazardaj funkcioj (VRFoj), duliniaj paroj, kaj sojlosignaturoj. Ĉi tiuj metodoj kaj bibliotekoj povas esti raciaj, sed kombini ilin ĉiujn en unu sistemon vekas seriozajn zorgojn pri ataksurfacareo. La kombinaĵo de ĉiuj ĉi tiuj novaj iloj kaj teknikoj multe pliigas la kompleksecon de pruvado de sekureco.

Oni devas supozi, ke ĉi tiu tuta kripta stako estas vundebla al diversaj atakoj ĝis pruvite alie. La fama modelo "Movu Rapide kaj Rompi Aĵojn" de Facebook ne povas esti aplikata al ĉifrikaj iloj, kiuj prilaboras financajn datumojn de klientoj.

Libra malsukcesas efektivigi konsumantprotektajn mekanismojn

Karakteriza karakterizaĵo de la pagsistemo estas la kapablo refari transakcion se la pago estas nuligita per proceso aŭ kondukas al hazarda aŭ sistema fiasko. La sistemo Libra estas desegnita por esti "kompleta" kaj ne inkluzivas transakcian tipon por nuligo de pago. En Britio, ĉiuj pagoj inter £100 kaj £30,000 estas submetitaj al la Konsumanto-Kredito-Leĝo. Ĉi tio signifas, ke la pagsistemo dividas respondecon kun la vendisto en kazo de problemo kun la aĉetita produkto aŭ se la ricevanto de la pago ne provizas la servon. Similaj reguloj validas en EU, Azio kaj Nordameriko.

La nuna dezajno de Libra ne inkluzivas protokolon por plenumi ĉi tiujn leĝojn kaj ne havas klaran planon por krei unu. Eĉ pli malbone, de arkitektura perspektivo, la fineco de la aŭtentikigita datumstrukturo de la kerno, bazita sur la stato de la Merkle-disko, ne permesas al iu ajn mekanismo krei tian protokolon sen restrukturi la kernon.

Post fari teknikan revizion de ĉi tiu projekto, ni povas konkludi, ke ĝi simple ne sukcesos en iu ajn respektata distribua sistemo-esplorado aŭ financa inĝenierarta revuo. Por provi ŝanĝi tutmondan monpolitikon, grandega kvanto da teknika laboro devas esti farita por krei fidindan reton kaj sekuran prilaboradon de uzantdatenoj, kiujn publiko kaj regulistoj povas fidi.

Mi ne vidas kialon por kredi, ke Facebook faris la necesan laboron en sia dezajno por venki ĉi tiujn teknikajn problemojn aŭ ke ĝi havas iujn teknikajn avantaĝojn super la nuna infrastrukturo. Diri, ke kompanio bezonas reguligan flekseblecon por esplori novigojn, ne estas ekskuzo por ne fari ilin unue.

fonto: www.habr.com

Aldoni komenton