Skizofrenia arkitekturore Facebook Libra

Pas dy vitesh, u ktheva në blog për një postim që ndryshon nga leksionet e zakonshme të mërzitshme për Haskell-in dhe matematikën. Unë kam punuar në fintech në BE gjatë viteve të fundit dhe duket se ka ardhur koha të shkruaj për një temë që ka marrë pak vëmendje nga mediat e teknologjisë.

Facebook së fundmi publikoi atë që e quan një "platformë të re të shërbimeve financiare" të quajtur Libra. Ai pozicionohet si një sistem pagese dixhitale i bazuar në një shportë monedhash ndërkombëtare që menaxhohen në një "blockchain" dhe ruhen në një grup parash të menaxhuar nga Zvicra. Qëllimet e projektit janë ambicioze dhe sjellin pasoja gjeopolitike në shkallë të gjerë.

В Financial Times и New York Times Shumë artikuj të arsyeshëm në lidhje me supozimet e pasigurta monetare dhe ekonomike pas sistemit të propozuar financiar. Por nuk ka mjaft specialistë të aftë për të analizuar nga pikëpamja teknike. Jo shumë njerëz punojnë në infrastrukturën financiare dhe flasin publikisht për punën e tyre, kështu që ky projekt nuk merr shumë mbulim në mediat teknologjike, megjithëse brendësia e tij është e hapur për botën. E kam fjalën me burim të hapur në depo Peshorja и Organizata e Kalibrës.

Ajo që është e hapur për botën është një objekt arkitekturor skizofrenik me pretendime se është një platformë e sigurt për infrastrukturën globale të pagesave.

Nëse zhyteni në bazën e kodit, zbatimi aktual i sistemit ndryshon plotësisht nga qëllimi i deklaruar dhe në mënyrat më të çuditshme. Jam i sigurt se ky projekt ka një histori interesante korporative. Pra, është logjike të supozohet se është projektuar me njëfarë zell, por në realitet unë shoh një grup vërtet të çuditshëm vendimesh arkitekturore që thyejnë të gjithë sistemin dhe i vënë përdoruesit në rrezik.

Nuk do të pretendoj të kem një opinion objektiv për Facebook-un si kompani. Pak njerëz në industrinë e IT e shikojnë atë me simpati. Por një krahasim i deklaratave të tij dhe kodit të publikuar tregon qartë se qëllimi i deklaruar është thelbësisht mashtrues. Me pak fjalë, ky projekt nuk fuqizon askënd. Ai do të mbetet tërësisht nën kontrollin e një kompanie, biznesi i reklamave të së cilës është aq i zhytur në skandale dhe korrupsion, saqë nuk ka zgjidhje tjetër veçse të përpiqet të diversifikojë pagesat dhe vlerësimin e kredisë për të mbijetuar. Qëllimi i qartë afatgjatë është të veprojë si ndërmjetës dhe ndërmjetësues i të dhënave në aksesin e konsumatorëve në kredi bazuar në të dhënat e tyre personale të mediave sociale. Kjo është një histori absolutisht e tmerrshme dhe e errët që nuk merr vëmendjen që meriton.

Hiri i vetëm shpëtues i kësaj historie është se artifakti që ata krijuan është aq qesharak i papërshtatshëm për detyrën në fjalë, saqë mund të shihet vetëm si një akt arrogancë. Ka disa gabime të mëdha arkitekturore në këtë projekt:

Zgjidhja e problemit të gjeneralëve bizantinë në një rrjet të kontrollit të aksesit është një dizajn i paqëndrueshëm

Problemi i gjeneralëve bizantinë është një zonë mjaft e ngushtë e kërkimit të sistemeve të shpërndara. Ai përshkruan aftësinë e një sistemi rrjeti për t'i bërë ballë dështimeve të rastësishme të komponentëve duke ndërmarrë veprime korrigjuese kritike për funksionimin e sistemit. Një rrjet elastik duhet të përballojë disa lloje sulmesh, duke përfshirë rinisjet, ndërprerjet, ngarkesat me qëllim të keq dhe votimin me qëllim të keq në zgjedhjet e lidershipit. Ky është vendimi kryesor për arkitekturën e Peshores, dhe këtu është krejtësisht i pakuptimtë.

Kompleksiteti kohor i kësaj strukture shtesë varet nga algoritmi. Ka shumë literaturë për variantet e protokolleve të Paxos dhe Raft që zgjidhin problemin e gjeneralëve bizantinë, por të gjitha këto struktura sjellin shpenzime shtesë për komunikimin. Skizofrenia arkitekturore Facebook Libra për të ruajtur kuorumin. Për Peshoren, ata zgjodhën një algoritëm me koston më të lartë të mundshme të komunikimit Skizofrenia arkitekturore Facebook Libra në rast të dështimit të udhëheqjes. Dhe ka shpenzime shtesë nga rizgjedhja e mundshme e drejtuesve nëpër lloje të shumta të ngjarjeve të dështimit të rrjetit.

Për një sistem që funksionon brenda një konsorciumi korporatash shumëkombëshe shumë të rregulluara, ku të gjithë përdoruesit kanë kod të nënshkruar nga Facebook dhe aksesi në rrjet kontrollohet nga Facebook, thjesht nuk ka kuptim të konsiderohen pjesëmarrës me qëllim të keq në nivel konsensusi. Nuk është e qartë pse ky sistem do të zgjidhte edhe problemin e gjeneralëve bizantinë, në vend që thjesht të ruante një gjurmë konsistente auditimi për të kontrolluar pajtueshmërinë. Mundësia që një nyje Libra e drejtuar nga Mastercard ose Andressen Horrowitz të fillojë papritmas të ekzekutojë kodin me qëllim të keq është një skenar i çuditshëm për t'u planifikuar dhe trajtohet më mirë thjesht duke siguruar integritetin e protokollit dhe mjetet jo-teknike (d.m.th. ligjore).

Dëshmia në Kongres e faturoi produktin si një konkurrent i protokolleve të reja ndërkombëtare të pagesave si WeChat, Alipay dhe M-Pesa. Megjithatë, asnjë nga këto sisteme nuk është projektuar për të funksionuar në pishina verifikuese për të zgjidhur problemin e gjeneralëve bizantinë. Ato janë të dizajnuara thjesht në një autobus tradicional me gjerësi të lartë bandë që bën instalime elektrike sipas një grupi rregullash fikse. Kjo është një qasje e natyrshme për të hartuar një sistem pagese. Projektuar mirë sistemi i pagesave thjesht nuk do të ndeshet me problemin e shpenzimeve të dyfishta dhe pirunëve.

Mbështetja e algoritmit të konsensusit nuk zgjidh asnjë problem dhe vetëm kufizon xhiron e sistemit pa asnjë arsye tjetër përveç kultit të ngarkesave të bllokut publik, i cili nuk është menduar për këtë rast përdorimi.

Peshorja nuk ka privatësi transaksionesh

Sipas dokumentacionit, sistemi është projektuar duke marrë parasysh pseudonimiteti, domethënë, adresat e përdorura në protokoll merren nga çelësat publikë në kthesat eliptike dhe nuk përmbajnë meta të dhëna për llogaritë. Megjithatë, askund në përshkrimin e strukturës së qeverisjes për organizatën ose në vetë protokollin nuk tregon se si të dhënat ekonomike të përfshira në transaksione do të fshihen nga verifikuesit. Sistemi është krijuar për të riprodhuar transaksione në një shkallë të gjerë me një sërë palësh të jashtme, të cilët, sipas ligjeve ekzistuese evropiane dhe amerikane të sekretit bankar, nuk duhet të jenë të vetëdijshëm për detajet ekonomike.

Politikat e të dhënave nëpër vende janë të vështira për t'u koordinuar, veçanërisht duke pasur parasysh ligjet dhe rregulloret e ndryshme në juridiksione të ndryshme me pikëpamje të ndryshme kulturore për mbrojtjen e të dhënave dhe privatësinë. Protokolli në vetvete është si parazgjedhje plotësisht i hapur për anëtarët e konsorciumit, që është një mangësi e qartë teknike që nuk plotëson kërkesat për të cilat është krijuar.

Libra HotStuff BFT nuk është në gjendje të arrijë xhiron e kërkuar për një sistem pagese

Në MB, sistemet e kleringut si BAC janë të afta të trajtojnë rreth 580 transaksione në muaj. Në të njëjtën kohë, sisteme shumë të optimizuara si Visa mund të përpunojnë 000 transaksione në ditë. Performanca ndryshon në varësi të madhësisë së transaksionit, rrugëtimit të rrjetit, ngarkesës së sistemit dhe Kontrollet e AML-së (kundër pastrimit të parave, skemave të pastrimit të parave).

Libra po përpiqet të zgjidhë probleme që nuk janë vërtet probleme për transfertat e brendshme, pasi shtetet kombëtare kanë modernizuar infrastrukturën e tyre të pastrimit gjatë dekadës së fundit. Për konsumatorët me pakicë në Bashkimin Evropian, lëvizja e parave nuk është aspak problem. Në infrastrukturën tradicionale, kjo mund të bëhet me një smartphone standard në sekonda. Për transfertat e korporatave të mëdha, ekzistojnë mekanizma dhe rregulla të ndryshme që lidhen me lëvizjen e shumave të mëdha të parave.

Nuk ka asnjë arsye teknike pse pagesat ndërkufitare nuk mund të përpunohen në çast, përveç dallimeve në rregullat dhe kërkesat midis juridiksioneve përkatëse. Nëse masat e nevojshme parandaluese (kujdesi i duhur ndaj klientit, kontrollet e sanksioneve, etj.) kryhen disa herë në faza të ndryshme të zinxhirit të transaksionit, kjo mund të rezultojë në një vonesë në transaksion. Megjithatë, kjo vonesë është thjesht një funksion i legjislacionit rregullator dhe pajtueshmërisë, jo teknologjisë.

Për konsumatorët, nuk ka asnjë arsye pse një transaksion në Mbretërinë e Bashkuar të mos pastrohet brenda pak sekondash. Transaksionet me pakicë në BE janë ngadalësuar me të vërtetë Kontrolli KYC (Njih klientin tënd) dhe kufizimet AML të vendosura nga qeveritë dhe rregullatorët, të cilat zbatohen në mënyrë të barabartë për pagesat e Libra. Edhe nëse Facebook do të kapërcejë pengesat ndaj transfertave ndërkufitare dhe transferimeve private të të dhënave, modeli i propozuar është qindra vite larg xhiros globale të transaksioneve dhe ka të ngjarë të duhet të ridizajnohet nga e para.

Gjuha Libra Move është e pasaktë

Letra e bardhë bën pretendime të guximshme për një gjuhë të re, të paprovuar të quajtur Move. Këto deklarata janë mjaft të dyshimta nga pikëpamja e teorisë së gjuhës së programimit (PLT).

Move është një gjuhë e re programimi për zbatimin e logjikës së transaksioneve të personalizuara dhe kontratave inteligjente në blockchain Libra. Për shkak se Peshorja synon që një ditë t'u shërbejë miliarda njerëzve, Move është projektuar me sigurinë si përparësi kryesore.

Një tipar kryesor i Move është aftësia për të përcaktuar lloje arbitrare të burimeve me semantikë të frymëzuar nga logjika lineare.

Në blockchains publike, kontratat inteligjente përballen me logjikën e rrjeteve publike me llogari të ruajtjes, pastrim parash, emetim token OTC dhe lojëra të fatit. E gjithë kjo është bërë në një gjuhë mahnitëse të dizajnuar keq të quajtur Solidity, e cila nga pikëpamja akademike e bën autorin e PHP të duket si një gjeni. Mjaft e çuditshme, gjuha e re nga Facebook duket se nuk ka të bëjë fare me këto teknologji, pasi në të vërtetë është një gjuhë skriptimi e destinuar për qëllime të paqarta të ndërmarrjeve.

Në librat e shpërndarë privatë, kontratat inteligjente janë një nga ato terma të hedhura nga konsulentët pa marrë parasysh shumë përkufizimin ose qëllimin e qartë. Konsulentët e softuerit të ndërmarrjeve zakonisht fitojnë para nga paqartësia dhe kontratat inteligjente janë apoteoza e obskurantizmit të korporatës sepse ato mund të përkufizohen fjalë për fjalë si çdo gjë.

Pasi të bëjmë pretendime për sigurinë e saj, duhet të shohim semantikën e gjuhës. Korrektësia në teorinë e gjuhës së programimit zakonisht përbëhet nga dy prova të ndryshme: "përparimi" dhe "ruajtja", të cilat përcaktojnë konsistencën e të gjithë hapësirës së rregullave të vlerësimit për gjuhën. Më konkretisht, në teorinë e tipit, një funksion është "linear" nëse përdor argumentin e tij saktësisht një herë, dhe "affine" nëse e përdor atë më së shumti një herë. Sistemi i tipit linear ofron garanci statike që një funksion linear i deklaruar është vërtet linear duke caktuar lloje për të gjitha nënshprehjet e funksioneve dhe duke mbajtur gjurmët se ku bëhen thirrjet. Kjo është një veti delikate për t'u provuar dhe nuk është e lehtë për t'u zbatuar për një program të tërë. Shtypja lineare është ende një fushë studimi shumë akademike, e ndikuar nga zbatimi i veçantisë së tipit në Clean dhe pronësia e tipit në Rust. Ka disa propozime paraprake për shtimin e llojeve lineare në Përpiluesin Haskell të Glasgow.

Deklarata e Move për përdorimin e llojeve lineare duket si një zhytje e pajustifikuar në përpilues, që nga atje nuk ka një logjikë të tillë kontrolluese. Me sa mund të thuhet, literatura e bardhë citon literaturë kanonike nga Girard dhe Peirce, dhe nuk ka asgjë të ngjashme në zbatimin aktual.

Për më tepër, semantika formale e gjuhës së supozuar të sigurt nuk shfaqet askund as në zbatim, as në dokument. Gjuha është mjaft e vogël për të gjetur një provë të plotë të semantikës së saktë në Coq ose Isabelle. Në realitet, një përpilues i plotë i konvertimit nga fundi në fund me transferim provë në bytecode është mjaft i mundshëm për t'u zbatuar me mjete moderne të shpikur në dekadën e fundit. Ne e dimë se si ta bëjmë atë, duke filluar me vepra nga George Necula dhe Peter Lee në vitin 1996.

Nga këndvështrimi i teorisë së gjuhës së programimit, është e pamundur të testohet pretendimi se Move është një gjuhë e besueshme dhe e sigurt, pasi këto pretendime përbëjnë më shumë lëvizje të pastër me dorë dhe marketing sesa prova aktuale. Kjo është një situatë alarmante për një projekt gjuhësor të cilit i kërkohet të përpunojë miliarda dollarë transaksione.

Kriptografia e Peshores është me të meta

Ndërtimi i kriptosistemeve të sigurta është një problem inxhinierik shumë i vështirë dhe është gjithmonë më mirë t'i qaseni punës me kod të rrezikshëm me një dozë të mirë paranojë të shëndetshme. Ka përparime të mëdha në këtë fushë, si projekti Microsoft Everest, i cili po ndërton një siguri të verifikueshme TLS pirg. Mjetet tashmë ekzistojnë për të krijuar primitivë të verifikueshëm. Edhe pse kjo është e shtrenjtë, është e qartë se nuk është përtej aftësive ekonomike të Facebook. Megjithatë, ekipi vendosi të mos marrë pjesë në projekt, i cili u shpall si një themel i besueshëm për sistemin financiar global.

projekti i librave Kjo varet nga disa biblioteka mjaft të reja për krijimin e kriptosistemeve eksperimentale që janë shfaqur vetëm në vitet e fundit. Është e pamundur të thuhet nëse varësitë nga mjetet e mëposhtme janë të sigurta apo jo, pasi asnjë nga këto biblioteka nuk është audituar dhe nuk ka politika standarde të zbulimit. Në veçanti, për disa biblioteka thelbësore nuk ka siguri në lidhje me mbrojtjen kundër sulmeve të kanaleve anësore dhe sulmeve të kohës.

  1. ed25519-dalek
  2. kurba25519-dalek

Biblioteka bëhet edhe më eksperimentale dhe shkon përtej model standard, duke aplikuar teknika shumë të reja si funksionet e rastësishme të verifikueshme (VRFs), çiftet bilineare dhe nënshkrimet e pragut. Këto metoda dhe biblioteka mund të jenë të arsyeshme, por kombinimi i të gjithave në një sistem ngre shqetësime serioze për sipërfaqen e sulmit. Kombinimi i të gjitha këtyre mjeteve dhe teknikave të reja rrit shumë kompleksitetin e vërtetimit të sigurisë.

Duhet të supozohet se i gjithë ky grumbull kriptografik është i cenueshëm ndaj sulmeve të ndryshme derisa të vërtetohet e kundërta. Modeli i famshëm i Facebook 'Lëvizni shpejt dhe prishni gjërat' nuk mund të zbatohet për mjetet kriptografike që përpunojnë të dhënat financiare të klientëve.

Libra nuk arrin të zbatojë mekanizmat e mbrojtjes së konsumatorit

Një tipar dallues i sistemit të pagesave është aftësia për të rikthyer një transaksion nëse pagesa anulohet nga një padi ose çon në një dështim aksidental ose të sistemit. Sistemi Libra është projektuar të jetë "i plotë" dhe nuk përfshin një lloj transaksioni për anulimin e pagesës. Në MB, të gjitha pagesat nga 100 deri në 30,000 £ i nënshtrohen Ligjit për Kredinë Konsumatore. Kjo do të thotë që sistemi i pagesave ndan përgjegjësinë me shitësin në rast të një problemi me produktin e blerë ose nëse marrësi i pagesës nuk ofron shërbimin. Rregulla të ngjashme zbatohen në BE, Azi dhe Amerikën e Veriut.

Dizajni aktual i Libra nuk përfshin një protokoll në përputhje me këto ligje dhe nuk ka një plan të qartë për krijimin e një të tillë. Akoma më keq, nga një këndvështrim arkitektonik, finaliteti i strukturës së të dhënave të vërtetuara të kernelit, bazuar në gjendjen e diskut Merkle, nuk lejon asnjë mekanizëm për të krijuar një protokoll të tillë pa ridizajnuar kernelin.

Pas kryerjes së një rishikimi teknik të këtij projekti, mund të konkludojmë se ai thjesht nuk do të kalojë në asnjë revistë të respektuar të kërkimit të sistemeve të shpërndara ose të inxhinierisë financiare. Në përpjekje për të ndryshuar politikën monetare globale, duhet bërë një punë e madhe teknike për të krijuar një rrjet të besueshëm dhe përpunim të sigurt të të dhënave të përdoruesve, të cilit publiku dhe rregullatorët mund t'i besojnë.

Nuk shoh asnjë arsye për të besuar se Facebook ka bërë punën e nevojshme në hartimin e tij për të kapërcyer këto probleme teknike ose se ka ndonjë avantazh teknik ndaj infrastrukturës aktuale. Të thuash se një kompanie ka nevojë për fleksibilitet rregullator për të eksploruar risitë nuk është një justifikim për të mos i bërë ato së pari.

Burimi: www.habr.com

Shto një koment