Pēc diviem gadiem es atgriezos emuārā par ierakstu, kas atšķiras no parastajām garlaicīgajām lekcijām par Haskelu un matemātiku. Esmu strādājis pie fintech ES pēdējos dažus gadus, un šķiet, ka ir pienācis laiks rakstīt par tēmu, kurai tehnoloģiju mediji ir pievērsuši maz uzmanības.
Facebook nesen izlaida to, ko tā sauc par "jaunu finanšu pakalpojumu platformu" ar nosaukumu Svari. Tā ir pozicionēta kā digitāla norēķinu sistēma, kuras pamatā ir starptautisko valūtu grozs, kas tiek pārvaldīts “blokķēdē” un tiek glabāts naudas fondā, ko pārvalda no Šveices. Projekta mērķi ir ambiciozi un ietver liela mēroga ģeopolitiskas sekas.
В и Daudz saprātīgu rakstu par nepareizajiem monetārajiem un ekonomiskajiem pieņēmumiem, kas slēpjas aiz ierosinātās finanšu sistēmas. Taču nav pietiekami daudz speciālistu, kas spēj veikt analīzi no tehniskā viedokļa. Ne daudzi cilvēki strādā pie finanšu infrastruktūras un publiski runā par savu darbu, tāpēc šis projekts nesaņem lielu atspoguļojumu tehnoloģiju medijos, lai gan tā iekšpuse ir atvērta pasaulei. Es domāju atvērto avotu krātuvēs и .
Pasaulei atvērtais ir arhitektoniski šizofrēnisks artefakts, kas apgalvo, ka tā ir droša platforma globālajai maksājumu infrastruktūrai.
Ja iedziļināties koda bāzē, sistēmas faktiskā ieviešana pilnībā atšķiras no izvirzītā mērķa, turklāt visdīvainākajā veidā. Esmu pārliecināts, ka šim projektam ir interesanta korporatīvā vēsture. Tāpēc ir loģiski pieņemt, ka tas tika izstrādāts ar zināmu rūpību, taču patiesībā es redzu patiešām dīvainu arhitektūras lēmumu kopumu, kas sagrauj visu sistēmu un pakļauj lietotājus riskam.
Nepretendēšu uz objektīvu viedokli par Facebook kā uzņēmumu. Tikai daži cilvēki IT nozarē uz viņu raugās ar līdzjūtību. Taču tās paziņojumu un publicētā koda salīdzinājums skaidri parāda, ka norādītais mērķis ir būtībā maldinošs. Īsāk sakot, šis projekts nevienam nedod tiesības. Viņš paliks pilnībā uzņēmuma kontrolē, kura reklāmas bizness ir tik ļoti iegrimis skandālos un korupcijā, ka tam neatliek nekas cits kā mēģināt dažādot maksājumus un kredītvērtējumu, lai izdzīvotu. Skaidrs ilgtermiņa mērķis ir darboties kā datu brokerim un starpniekam, lai patērētāji piekļūtu kredītam, pamatojoties uz viņu personīgajiem sociālo mediju datiem. Šis ir absolūti šausminošs un tumšs stāsts, kas nesaņem pelnīto uzmanību.
Vienīgā šī stāsta glābjošā žēlastība ir tāda, ka viņu radītais artefakts ir tik smieklīgi nepiemērots konkrētajam uzdevumam, ka to var uzskatīt tikai par aizdomīgu rīcību. Šajā projektā ir vairākas lielas arhitektūras kļūdas:
Bizantijas ģenerāļu problēmas risināšana piekļuves kontroles tīklā ir nekonsekvents dizains
Bizantijas ģenerāļu problēma ir diezgan šaura sadalīto sistēmu izpētes joma. Tas apraksta tīkla sistēmas spēju izturēt nejaušas komponentu atteices, vienlaikus veicot korektīvas darbības, kas ir būtiskas sistēmas darbībai. Elastīgam tīklam ir jāiztur vairāku veidu uzbrukumi, tostarp restartēšana, pārtraukumi, ļaunprātīga slodze un ļaunprātīga balsošana vadības vēlēšanās. Tas ir galvenais lēmums Svaru arhitektūrai, un tas šeit ir pilnīgi bezjēdzīgs.
Šīs papildu struktūras laika sarežģītības izmaksas ir atkarīgas no algoritma. Ir daudz literatūras par Paxos un Raft protokolu variantiem, kas atrisina bizantiešu ģenerāļu problēmu, taču visas šīs struktūras rada papildu izmaksas saziņai.
lai saglabātu kvorumu. Svariem viņi izvēlējās algoritmu ar visaugstākajām iespējamām komunikācijas izmaksām
vadības neveiksmes gadījumā. Un ir papildu pieskaitāmās izmaksas, ko rada potenciāla vadītāju pārvēlēšana vairāku veidu tīkla kļūmes gadījumos.
Sistēmai, kas darbojas stingri regulētu starptautisku korporāciju konsorcijā, kur visiem lietotājiem ir Facebook parakstīts kods un piekļuvi tīklam kontrolē Facebook, vienkārši nav jēgas uzskatīt par ļaunprātīgiem dalībniekiem vienprātības līmenī. Nav skaidrs, kāpēc šī sistēma pat atrisinātu bizantiešu ģenerāļu problēmu, nevis vienkārši uzturētu konsekventu audita izsekojamību, lai pārbaudītu atbilstību. Iespēja, ka Mastercard vai Andressen Horrowitz vadītais Libra mezgls pēkšņi sāk palaist ļaunprātīgu kodu, ir dīvains scenārijs, ko plānot, un to labāk risināt, vienkārši nodrošinot protokola integritāti un netehniskus (t.i., juridiskus) līdzekļus.
Liecības Kongresam norādīja, ka produkts ir konkurents jauniem starptautiskajiem maksājumu protokoliem, piemēram, WeChat, Alipay un M-Pesa. Tomēr neviena no šīm sistēmām nav paredzēta darbam ar pārbaudītāju kopām, lai atrisinātu bizantiešu ģenerāļu problēmu. Tie ir vienkārši izstrādāti uz tradicionālo liela joslas platuma kopni, kas veido elektroinstalāciju saskaņā ar fiksētu noteikumu kopumu. Tā ir dabiska pieeja maksājumu sistēmas izstrādē. Labi izstrādāts maksājumu sistēma vienkārši nesaskarsies ar dubultu tēriņu un dakšu problēmu.
Vienprātības algoritma pieskaitāmās izmaksas neatrisina nevienu problēmu un tikai ierobežo sistēmas caurlaidspēju bez cita iemesla, kā tikai publiskās blokķēdes kravas kulta dēļ, kas nav paredzēts šim lietošanas gadījumam.
Svariem nav darījumu privātuma
Saskaņā ar dokumentāciju sistēma ir izstrādāta, ņemot vērā pseidonimitāte, tas ir, protokolā izmantotās adreses tiek iegūtas no publiskajām atslēgām eliptiskajās līknēs un nesatur metadatus par kontiem. Taču nekur organizācijas pārvaldības struktūras aprakstā vai pašā protokolā nav norādīts, kā darījumos iesaistītie ekonomiskie dati tiks paslēpti no vērtētājiem. Sistēma ir izstrādāta, lai plašā mērogā atkārtotu darījumus ar dažādām ārējām pusēm, kurām saskaņā ar esošajiem Eiropas un ASV banku noslēpuma likumiem nevajadzētu būt informētiem par ekonomiskajām detaļām.
Datu politikas dažādās valstīs ir grūti koordinējamas, jo īpaši ņemot vērā atšķirīgos tiesību aktus un noteikumus dažādās jurisdikcijās ar atšķirīgiem kultūras uzskatiem par datu aizsardzību un privātumu. Pats protokols pēc noklusējuma ir pilnībā atvērts konsorcija dalībniekiem, kas ir acīmredzams tehnisks trūkums, kas neatbilst prasībām, kurām tas ir izstrādāts.
Libra HotStuff BFT nespēj sasniegt maksājumu sistēmai nepieciešamo caurlaidspēju
Apvienotajā Karalistē tādas klīringa sistēmas kā BAC spēj apstrādāt aptuveni 580 000 000 darījumu mēnesī. Tajā pašā laikā ļoti optimizētas sistēmas, piemēram, Visa, var apstrādāt 150 000 000 darījumu dienā. Veiktspēja mainās atkarībā no darījuma lieluma, tīkla maršrutēšanas, sistēmas slodzes un (naudas atmazgāšanas apkarošana, naudas atmazgāšanas shēmas).
Svari cenšas atrisināt problēmas, kas patiesībā nav problēmas iekšzemes pārvedumiem, jo nacionālās valstis pēdējo desmit gadu laikā ir modernizējušas savu klīringa infrastruktūru. Mazumtirdzniecības patērētājiem Eiropas Savienībā naudas pārvietošana nemaz nav problēma. Tradicionālajā infrastruktūrā to var izdarīt ar standarta viedtālruni dažu sekunžu laikā. Lieliem korporatīvajiem pārskaitījumiem ir dažādi mehānismi un noteikumi, kas saistīti ar lielu naudas summu pārvietošanu.
Nav citu tehnisku iemeslu, kāpēc pārrobežu maksājumus nevarētu apstrādāt uzreiz, izņemot noteikumu un prasību atšķirības starp attiecīgajām jurisdikcijām. Ja nepieciešamie preventīvie pasākumi (klienta izpēte, sankciju pārbaudes u.c.) tiek veiktas vairākas reizes dažādos darījuma ķēdes posmos, tas var izraisīt darījuma aizkavēšanos. Tomēr šī kavēšanās ir tikai regulējošo tiesību aktu un atbilstības, nevis tehnoloģiju funkcija.
Patērētājiem nav iemesla, kāpēc Apvienotās Karalistes darījums netiktu nokārtots dažu sekunžu laikā. Mazumtirdzniecības darījumi ES patiešām palēninās (Pazīsti savu klientu) un AML ierobežojumi, ko noteikušas valdības un regulatori, kas vienlīdz attiecas arī uz Libra maksājumiem. Pat ja Facebook pārvarētu šķēršļus pārrobežu pārsūtīšanai un privātai datu pārsūtīšanai, ierosinātais modelis ir simtiem cilvēkgadu attālumā no globālo darījumu caurlaidības un, iespējams, būtu jāpārveido no nulles.
Svaru kustības valoda ir nepareiza
Baltajā grāmatā ir izteikti drosmīgi apgalvojumi par jaunu, nepārbaudītu valodu ar nosaukumu Move. Šie apgalvojumi ir diezgan apšaubāmi no programmēšanas valodas teorijas (PLT) viedokļa.
Move ir jauna programmēšanas valoda pielāgotas darījumu loģikas un viedo līgumu ieviešanai Svaru blokķēdē. Tā kā Svaru mērķis ir kādu dienu kalpot miljardiem cilvēku, Move ir izstrādāta, lai drošība būtu galvenā prioritāte.
Galvenā Move iezīme ir iespēja definēt patvaļīgus resursu tipus ar lineārās loģikas iedvesmotu semantiku.
Publiskajās blokķēdēs viedie līgumi saskaras ar publisko tīklu loģiku ar darījuma kontiem, naudas atmazgāšanu, ārpusbiržas žetonu izsniegšanu un azartspēlēm. Tas viss tiek darīts satriecoši vāji izstrādātā valodā ar nosaukumu Solidity, kas no akadēmiskā viedokļa liek PHP autoram izskatīties pēc ģēnija. Savādi, šķiet, ka jaunajai Facebook valodai nav nekāda sakara ar šīm tehnoloģijām, jo patiesībā tā ir skriptu valoda, kas paredzēta neskaidriem uzņēmuma mērķiem.
Privātajās izplatītajās virsgrāmatās viedie līgumi ir viens no tiem terminiem, kurus konsultanti izmanto, īpaši neņemot vērā skaidru definīciju vai mērķi. Uzņēmumu programmatūras konsultanti parasti pelna naudu no neskaidrības, un viedie līgumi ir korporatīvā tumsonības apoteoze, jo tos var definēt kā burtiski jebko.
Pēc apgalvojumu izteikšanas par tās drošību mums jāaplūko valodas semantika. Pareizība programmēšanas valodas teorijā parasti sastāv no diviem dažādiem pierādījumiem: “progresa” un “saglabāšanās”, kas nosaka visas valodas vērtēšanas noteikumu telpas konsekvenci. Konkrētāk, tipu teorijā funkcija ir "lineāra", ja tā savu argumentu izmanto tieši vienu reizi, un "afīna", ja tā to izmanto ne vairāk kā vienu reizi. Lineārā tipa sistēma nodrošina statisku garantiju, ka deklarētā lineārā funkcija ir patiesi lineāra, piešķirot tipus visām funkciju apakšizteiksmēm un sekojot līdzi, kur tiek veikti zvani. Tas ir smalks īpašums, kas jāpierāda, un to nav viegli ieviest visai programmai. Lineārā mašīnrakstīšana joprojām ir ļoti akadēmiska studiju joma, ko ietekmē tipa unikalitātes ieviešana programmā Clean un tipa īpašumtiesības ieviešana Rust. Ir daži provizoriski priekšlikumi lineāro tipu pievienošanai Glāzgovas Haskell kompilatoram.
Move apgalvojums par lineāro tipu izmantošanu šķiet nepamatota niršana kompilatorā, jo . Cik var spriest, baltajā grāmatā ir citēta Girarda un Pīrsa kanoniskā literatūra, un faktiskajā realizācijā nav nekā līdzīga.
Turklāt it kā drošās valodas formālā semantika nekur neparādās ieviešanā vai dokumentā. Valoda ir pietiekami maza, lai Coq vai Isabelle atrastu pilnīgu pareizas semantikas pierādījumu. Patiesībā pilnīgas konvertēšanas kompilators ar pierādījumu pārsūtīšanu uz baitkodu ir pilnīgi iespējams ieviest ar pēdējā desmitgadē izgudrotiem mūsdienīgiem rīkiem. Mēs zinām, kā to izdarīt, sākot ar vēl 1996. gadā.
No programmēšanas valodas teorijas viedokļa nav iespējams pārbaudīt apgalvojumu, ka Move ir uzticama un droša valoda, jo šie apgalvojumi ir tīri roku vicināšana un mārketings, nevis faktiski pierādījumi. Šī ir satraucoša situācija valodas projektam, kuram tiek lūgts apstrādāt darījumus miljardu dolāru vērtībā.
Svaru kriptogrāfija ir kļūdaina
Drošu kriptosistēmu izveide ir ļoti sarežģīta inženiertehniska problēma, un vienmēr vislabāk ir pieiet darbam ar bīstamu kodu ar lielu devu veselīgas paranojas. Šajā jomā ir gūti lieli sasniegumi, piemēram, Microsoft Everest projekts, kas veido pārbaudāmu drošu . Rīki jau pastāv, lai izveidotu pārbaudāmus primitīvus. Lai gan tas ir dārgi, tas acīmredzami nepārsniedz Facebook ekonomiskās iespējas. Tomēr komanda nolēma nepiedalīties projektā, kas tika pasludināts par uzticamu globālās finanšu sistēmas pamatu.
Svaru projekts no vairākām diezgan jaunām bibliotēkām eksperimentālu kriptosistēmas izveidei, kas parādījušās tikai pēdējos gados. Nav iespējams pateikt, vai atkarības no tālāk norādītajiem rīkiem ir drošas vai nē, jo neviena no šīm bibliotēkām nav pārbaudīta un tām nav standarta informācijas atklāšanas politiku. Jo īpaši attiecībā uz dažām galvenajām bibliotēkām nav skaidrības par aizsardzību pret sānu kanālu uzbrukumiem un laika uzbrukumiem.
Svaru bibliotēka kļūst vēl eksperimentālāka un sniedzas tālāk , izmantojot ļoti jaunas metodes, piemēram, pārbaudāmas nejaušības funkcijas (VRF), bilineāros pārus un sliekšņa parakstus. Šīs metodes un bibliotēkas var būt saprātīgas, taču to visu apvienošana vienā sistēmā rada nopietnas bažas par uzbrukuma virsmas laukumu. Visu šo jauno rīku un metožu kombinācija ievērojami palielina drošības pierādīšanas sarežģītību.
Jāpieņem, ka visa šī kriptogrāfijas kaudze ir neaizsargāta pret dažādiem uzbrukumiem, līdz tiek pierādīts pretējais. Facebook slaveno “Move Fast and Break Things” modeli nevar piemērot kriptogrāfijas rīkiem, kas apstrādā klientu finanšu datus.
Svariem neizdodas ieviest patērētāju aizsardzības mehānismus
Maksājumu sistēmas atšķirīga iezīme ir iespēja atsaukt darījumu, ja maksājums tiek atcelts tiesas prāvas dēļ vai izraisa nejaušu vai sistēmas kļūmi. Sistēma Libra ir veidota tā, lai tā būtu "pilnīga", un tajā nav iekļauts darījuma veids maksājuma atcelšanai. Apvienotajā Karalistē uz visiem maksājumiem no £100 līdz £30,000 XNUMX attiecas Patēriņa kredītu likums. Tas nozīmē, ka maksājumu sistēma dala atbildību ar pārdevēju, ja rodas problēmas ar iegādāto preci vai ja maksājuma saņēmējs pakalpojumu nesniedz. Līdzīgi noteikumi ir spēkā ES, Āzijā un Ziemeļamerikā.
Pašreizējais Svaru dizains neietver protokolu, lai ievērotu šos likumus, un nav skaidra plāna tā izveidei. Vēl sliktāk, no arhitektūras viedokļa kodola autentificētās datu struktūras galīgums, kas balstīts uz Merkle diska stāvokli, neļauj nevienam mehānismam izveidot šādu protokolu, nepārveidojot kodolu.
Pēc šī projekta tehniskās apskates mēs varam secināt, ka tas vienkārši netiks iekļauts nevienā cienījamā izplatīto sistēmu izpētes vai finanšu inženierijas žurnālā. Lai mēģinātu mainīt globālo monetāro politiku, ir jāveic milzīgs tehniskais darbs, lai izveidotu uzticamu tīklu un drošu lietotāju datu apstrādi, kam sabiedrība un regulatori var uzticēties.
Es neredzu iemeslu uzskatīt, ka Facebook ir paveicis nepieciešamo darbu savā dizainā, lai pārvarētu šīs tehniskās problēmas vai ka tam ir kādas tehniskas priekšrocības salīdzinājumā ar pašreizējo infrastruktūru. Teikts, ka uzņēmumam ir nepieciešama regulējuma elastība, lai izpētītu inovācijas, nav attaisnojums, lai tos neveiktu vispirms.
Avots: www.habr.com
