Ճարտարապետական ​​շիզոֆրենիա Facebook Libra

Երկու տարի անց ես վերադարձա բլոգ մի գրառման համար, որը տարբերվում է Հասկելի և մաթեմատիկայի մասին սովորական ձանձրալի դասախոսություններից: Ես վերջին մի քանի տարիների ընթացքում աշխատում եմ ԵՄ-ում ֆինտեխի վրա, և կարծես թե եկել է ժամանակը գրելու մի թեմայի մասին, որը տեխնոլոգիական լրատվամիջոցների կողմից քիչ ուշադրության է արժանացել:

Facebook-ը վերջերս թողարկեց այն, ինչն անվանում է «նոր ֆինանսական ծառայությունների հարթակ», որը կոչվում է Libra: Այն տեղակայված է որպես թվային հաշվարկային համակարգ, որը հիմնված է միջազգային արժույթների զամբյուղի վրա, որոնք կառավարվում են «բլոկչեյնով» և պահվում են Շվեյցարիայից կառավարվող դրամական ֆոնդում: Ծրագրի նպատակները հավակնոտ են և ենթադրում են լայնածավալ աշխարհաքաղաքական հետևանքներ։

В Ֆինանսական Times и New York Times Շատ խելամիտ հոդվածներ առաջարկվող ֆինանսական համակարգի հիմքում ընկած անհիմն դրամավարկային և տնտեսական ենթադրությունների մասին: Բայց տեխնիկական տեսակետից վերլուծելու ունակ մասնագետներ քիչ են։ Ոչ շատ մարդիկ են աշխատում ֆինանսական ենթակառուցվածքների վրա և հրապարակայնորեն խոսում իրենց աշխատանքի մասին, ուստի այս նախագիծը այնքան էլ չի լուսաբանվում տեխնոլոգիական լրատվամիջոցներում, թեև դրա ներքնակները բաց են աշխարհի համար: Ես նկատի ունեմ բաց կոդով պահեստներում Կշեռք и Calibra կազմակերպություն.

Այն, ինչ բաց է աշխարհի համար, ճարտարապետական ​​շիզոֆրենիկ արտեֆակտ է, որը պնդում է, որ անվտանգ հարթակ է համաշխարհային վճարային ենթակառուցվածքի համար:

Եթե ​​դուք սուզվում եք կոդերի բազայի մեջ, ապա համակարգի իրական իրականացումը լիովին տարբերվում է նշված նպատակից և ամենատարօրինակ ձևերով: Վստահ եմ, որ այս նախագիծը հետաքրքիր կորպորատիվ պատմություն ունի։ Այսպիսով, տրամաբանական է ենթադրել, որ այն նախագծվել է որոշակի ջանասիրությամբ, բայց իրականում ես տեսնում եմ ճարտարապետական ​​որոշումների իսկապես տարօրինակ մի շարք, որոնք կոտրում են ամբողջ համակարգը և վտանգի տակ են դնում օգտվողներին:

Ես չեմ հավակնի, թե օբյեկտիվ կարծիք ունեմ Facebook-ի՝ որպես ընկերության մասին։ ՏՏ ոլորտում քիչ մարդիկ կարեկցանքով են նայում նրան: Բայց նրա հայտարարությունների և հրապարակված օրենսգրքի համեմատությունը հստակ ցույց է տալիս, որ նշված նպատակը հիմնովին խաբուսիկ է։ Մի խոսքով, այս նախագիծը ոչ ոքի իշխանություն չի տալիս։ Նա կմնա ամբողջությամբ մի ընկերության հսկողության տակ, որի գովազդային բիզնեսն այնքան խրված է սկանդալների և կոռուպցիայի մեջ, որ այլ ելք չունի, քան փորձել դիվերսիֆիկացնել իր վճարումները և վարկային միավորները գոյատևելու համար: Հստակ երկարաժամկետ նպատակն է հանդես գալ որպես տվյալների բրոքեր և միջնորդ՝ սպառողների կողմից սոցիալական մեդիայի անձնական տվյալների հիման վրա վարկ ստանալու համար: Սա բացարձակապես սարսափելի և մութ պատմություն է, որը արժանի ուշադրության չի արժանանում:

Այս պատմության միակ փրկող շնորհն այն է, որ նրանց ստեղծած արտեֆակտն այնքան զվարթորեն չի համապատասխանում առաջադրանքին, որ այն կարող է դիտվել միայն որպես ամբարտավանություն: Այս նախագծում կան մի քանի հիմնական ճարտարապետական ​​սխալներ.

Բյուզանդական գեներալների խնդրի լուծումը մուտքի վերահսկման ցանցում անհամապատասխան ձևավորում է

Բյուզանդական գեներալների խնդիրը բաշխված համակարգերի հետազոտության բավականին նեղ ոլորտ է։ Այն նկարագրում է ցանցային համակարգի կարողությունը՝ դիմակայելու բաղադրիչների պատահական խափանումներին՝ միաժամանակ կատարելով համակարգի աշխատանքի համար կարևոր ուղղիչ գործողություններ: Ճկուն ցանցը պետք է դիմակայի մի քանի տեսակի հարձակումներին, ներառյալ վերագործարկումները, անջատումները, վնասակար բեռները և ղեկավարության ընտրություններում վնասակար քվեարկությունը: Սա Կշեռքների ճարտարապետության հիմնական որոշումն է, և այստեղ այն լիովին անիմաստ է:

Այս լրացուցիչ կառուցվածքի ժամանակային բարդությունը կախված է ալգորիթմից: Բյուզանդական գեներալների խնդիրը լուծող Պաքսոսի և Ռաֆտի արձանագրությունների տարբերակների վերաբերյալ շատ գրականություն կա, բայց այս բոլոր կառույցները լրացուցիչ ծախսեր են մտցնում հաղորդակցության համար։ Ճարտարապետական ​​շիզոֆրենիա Facebook Libra քվորում պահպանելու համար։ Կշեռքների համար նրանք ընտրել են կապի հնարավոր առավելագույն արժեքով ալգորիթմ Ճարտարապետական ​​շիզոֆրենիա Facebook Libra ղեկավարության ձախողման դեպքում. Եվ կա լրացուցիչ ծախսեր՝ կապված ցանցի խափանումների բազմաթիվ տեսակների հետ կապված առաջնորդների հնարավոր վերընտրության հետ:

Համակարգի համար, որը գործում է բարձր կարգավորված բազմազգ կորպորացիաների կոնսորցիումում, որտեղ բոլոր օգտատերերն ունեն կոդ, որը ստորագրված է Facebook-ի կողմից, և մուտքը ցանց վերահսկվում է Facebook-ի կողմից, ուղղակի իմաստ չունի դիտարկել վնասակար մասնակիցներին կոնսենսուսի մակարդակով: Անհասկանալի է, թե ինչու այս համակարգը կլուծեր բյուզանդական գեներալների խնդիրը, այլ ոչ թե պարզապես պահպանելու հետևողական աուդիտի հետքը՝ համապատասխանությունը ստուգելու համար: Mastercard-ի կամ Andressen Horrowitz-ի կողմից գործարկվող Libra հանգույցի հավանականությունը, որ հանկարծ սկսի վնասակար կոդ գործարկել, տարօրինակ սցենար է պլանավորելու համար, և այն ավելի լավ է լուծել՝ պարզապես ապահովելով արձանագրության ամբողջականությունը և ոչ տեխնիկական (այսինքն օրինական) միջոցները:

Կոնգրեսին տրված վկայությունը ապրանքը ներկայացրեց որպես նոր միջազգային վճարային արձանագրությունների մրցակից, ինչպիսիք են WeChat-ը, Alipay-ը և M-Pesa-ն: Այնուամենայնիվ, այս համակարգերից և ոչ մեկը նախատեսված չէ աշխատելու վավերացնող լողավազանների վրա՝ լուծելու բյուզանդական գեներալների խնդիրը: Դրանք պարզապես նախագծված են ավանդական բարձր թողունակությամբ ավտոբուսի վրա, որը լարերը կատարում է ըստ կանոնների ֆիքսված փաթեթի: Սա վճարային համակարգի նախագծման բնական մոտեցում է: Լավ մշակված վճարային համակարգը պարզապես չի բախվի կրկնակի ծախսերի և պատառաքաղների խնդրի հետ։

Կոնսենսուսի ալգորիթմի գերբեռնվածությունը ոչ մի խնդիր չի լուծում և միայն սահմանափակում է համակարգի թողունակությունը՝ առանց որևէ այլ պատճառի, քան հանրային բլոկչեյնի բեռների պաշտամունքը, որը նախատեսված չէ այս օգտագործման դեպքում:

Կշեռքները գործարքների գաղտնիություն չունեն

Փաստաթղթերի համաձայն՝ համակարգը նախագծված է հաշվի առնելով կեղծանուն, այսինքն՝ պրոտոկոլում օգտագործվող հասցեները ստացվում են էլիպսային կորերի հանրային բանալիներից և չեն պարունակում հաշիվների մասին մետատվյալներ։ Այնուամենայնիվ, կազմակերպության կառավարման կառուցվածքի նկարագրության մեջ կամ բուն արձանագրության մեջ ոչ մի տեղ չի նշվում, թե ինչպես են գործարքների մեջ ներգրավված տնտեսական տվյալները թաքցվելու վավերացնողներից: Համակարգը նախագծված է լայնածավալ գործարքները մի շարք արտաքին կողմերի հետ կրկնելու համար, որոնք, համաձայն բանկային գաղտնիքի մասին գործող եվրոպական և ԱՄՆ օրենքների, չպետք է ծանոթ լինեն տնտեսական մանրամասներին:

Երկրներում տվյալների քաղաքականությունը դժվար է համակարգել, հատկապես՝ հաշվի առնելով տարբեր իրավասությունների օրենքներն ու կանոնակարգերը՝ տվյալների պաշտպանության և գաղտնիության վերաբերյալ տարբեր մշակութային տեսակետներով: Արձանագրությունն ինքնին լռելյայն բաց է կոնսորցիումի անդամների համար, ինչը հստակ տեխնիկական թերություն է, որը չի համապատասխանում այն ​​պահանջներին, որոնց համար այն նախատեսված է:

Libra HotStuff BFT-ն չի կարողանում հասնել վճարային համակարգի համար պահանջվող թողունակությանը

Մեծ Բրիտանիայում, BAC-ի նման քլիրինգային համակարգերը կարող են ամսական կատարել շուրջ 580 գործարքներ: Միևնույն ժամանակ, Visa-ի նման բարձր օպտիմիզացված համակարգերը կարող են օրական մշակել 000 գործարք: Կատարողականությունը տատանվում է՝ կախված գործարքի չափից, ցանցի երթուղուցից, համակարգի բեռնվածությունից և AML ստուգումներ (փողերի լվացման դեմ, փողերի լվացման սխեմաներ):

Կշեռքները փորձում են լուծել խնդիրներ, որոնք իրականում խնդիրներ չեն ներքին փոխանցումների համար, քանի որ ազգային պետությունները վերջին տասնամյակում արդիականացրել են իրենց մաքրման ենթակառուցվածքը: Եվրամիությունում մանրածախ սպառողների համար գումար տեղափոխելը ամենևին էլ խնդիր չէ։ Ավանդական ենթակառուցվածքում դա կարելի է անել ստանդարտ սմարթֆոնի միջոցով վայրկյանների ընթացքում: Խոշոր կորպորատիվ փոխանցումների համար կան տարբեր մեխանիզմներ և կանոններ, որոնք կապված են մեծ գումարներ տեղափոխելու հետ:

Չկա ոչ մի տեխնիկական պատճառ, թե ինչու միջսահմանային վճարումները նույնպես չեն կարող ակնթարթորեն մշակվել, բացառությամբ համապատասխան իրավասությունների միջև կանոնների և պահանջների տարբերությունների: Եթե ​​գործարքների շղթայի տարբեր փուլերում մի քանի անգամ իրականացվեն անհրաժեշտ կանխարգելիչ միջոցառումները (հաճախորդի պատշաճ ուսումնասիրություն, պատժամիջոցների ստուգում և այլն), դա կարող է հանգեցնել գործարքի հետաձգմանը: Այնուամենայնիվ, այս ուշացումը զուտ կարգավորող օրենսդրության և համապատասխանության գործառույթ է, այլ ոչ թե տեխնոլոգիայի:

Սպառողների համար պատճառ չկա, թե ինչու Միացյալ Թագավորության գործարքը մի քանի վայրկյանում չի մաքրվի: ԵՄ-ում մանրածախ գործարքներն իսկապես դանդաղում են KYC ստուգում (Ճանաչիր քո հաճախորդին) և կառավարությունների և կարգավորող մարմինների կողմից կիրառվող AML սահմանափակումները, որոնք հավասարապես վերաբերում են Libra-ի վճարումներին: Նույնիսկ եթե Facebook-ը հաղթահարեր անդրսահմանային փոխանցումների և մասնավոր տվյալների փոխանցման խոչընդոտները, առաջարկվող մոդելը հարյուրավոր մարդ տարիներ հեռու է համաշխարհային գործարքների թողունակությունից և, հավանաբար, պետք է վերանախագծվի զրոյից:

Libra Move լեզուն սխալ է

Սպիտակ թուղթը համարձակ պնդումներ է անում նոր, չստուգված լեզվի մասին, որը կոչվում է Move: Այս պնդումները բավականին կասկածելի են ծրագրավորման լեզուների տեսության (PLT) տեսանկյունից։

Move-ը ծրագրավորման նոր լեզու է Libra-ի բլոկչեյնում հատուկ գործարքների տրամաբանության և խելացի պայմանագրերի իրականացման համար: Քանի որ Կշեռքները նպատակ ունեն մի օր ծառայել միլիարդավոր մարդկանց, Move-ը նախագծված է անվտանգության համար որպես առաջնահերթություն:

Move-ի հիմնական առանձնահատկությունը ռեսուրսների կամայական տեսակներ սահմանելու ունակությունն է՝ գծային տրամաբանությամբ ոգեշնչված իմաստաբանությամբ:

Հանրային բլոկչեյններում խելացի պայմանագրերը բախվում են հանրային ցանցերի տրամաբանությանը, որոնք ունեն էսքրո հաշիվներ, փողերի լվացում, OTC նշանի թողարկում և մոլախաղեր: Այս ամենը արվում է ապշեցուցիչ վատ մշակված լեզվով, որը կոչվում է Solidity, որը ակադեմիական տեսանկյունից PHP-ի հեղինակին հանճարի տեսք է տալիս։ Տարօրինակ կերպով, Facebook-ի նոր լեզուն կարծես թե կապ չունի այս տեխնոլոգիաների հետ, քանի որ այն իրականում սկրիպտային լեզու է, որը նախատեսված է անհայտ ձեռնարկատիրական նպատակների համար:

Մասնավոր բաշխված մատյաններում խելացի պայմանագրերն այն տերմիններից մեկն են, որոնք տարածվում են խորհրդատուների կողմից՝ առանց հստակ սահմանման կամ նպատակի հաշվի առնելու: Ձեռնարկությունների ծրագրային ապահովման խորհրդատուները սովորաբար գումար են վաստակում երկիմաստությունից, իսկ խելացի պայմանագրերը կորպորատիվ խավարամտության ապոթեոզն են, քանի որ դրանք կարող են սահմանվել որպես բառացիորեն ամեն ինչ:

Նրա անվտանգության մասին պնդումներ անելուց հետո մենք պետք է նայենք լեզվի իմաստաբանությանը: Ծրագրավորման լեզվի տեսության ճիշտությունը սովորաբար բաղկացած է երկու տարբեր ապացույցներից՝ «առաջընթաց» և «պահպանում», որոնք որոշում են լեզվի գնահատման կանոնների ողջ տարածության հետևողականությունը: Ավելի կոնկրետ, տիպերի տեսության մեջ ֆունկցիան «գծային» է, եթե այն օգտագործում է իր փաստարկը ճշգրիտ մեկ անգամ, և «affine», եթե այն օգտագործում է առավելագույնը մեկ անգամ։ Գծային տիպի համակարգը ստատիկ երաշխիք է տալիս, որ հայտարարված գծային ֆունկցիան իսկապես գծային է՝ բոլոր ֆունկցիաների ենթաարտահայտումներին տիպեր վերագրելով և հետևելով զանգերի կատարմանը: Սա ապացուցելու նուրբ հատկություն է և հեշտ չէ իրականացնել ամբողջ ծրագրի համար: Գծային մուտքագրումը դեռևս շատ ակադեմիական ուսումնասիրության ոլորտ է, որը ազդում է Clean-ում տիպի եզակիության և Rust-ում տիպի սեփականության ներդրման վրա: Կան որոշ նախնական առաջարկներ Glasgow Haskell Compiler-ին գծային տեսակներ ավելացնելու համար:

Գծային տեսակներ օգտագործելու մասին Move-ի հայտարարությունը կարծես անհիմն սուզում է կոմպիլյատորի մեջ, քանի որ այնտեղ տիպի ստուգման նման տրամաբանություն չկա. Ինչքան կարելի է ասել, սպիտակ թերթը մեջբերում է Ժիրարի և Փիրսի կանոնական գրականությունը, և իրականում նման բան չկա:

Բացի այդ, ենթադրաբար անվտանգ լեզվի ֆորմալ իմաստաբանությունը ոչ մի տեղ չի երևում ոչ իրագործման, ոչ փաստաթղթում: Լեզուն բավականաչափ փոքր է, որպեսզի գտնվի ճիշտ իմաստաբանության ամբողջական ապացույց Coq-ում կամ Isabelle-ում: Իրականում, վերջից մինչև վերջ լրիվ փոխակերպման կոմպիլյատորը, որն ապացուցում է բայթկոդ փոխանցումը, միանգամայն հնարավոր է իրականացնել վերջին տասնամյակում հայտնագործված ժամանակակից գործիքներով: Մենք գիտենք, թե ինչպես դա անել՝ սկսած Ջորջ Նեկուլայի և Փիթեր Լիի ստեղծագործությունները դեռ 1996թ.

Ծրագրավորման լեզվի տեսության տեսանկյունից անհնար է ստուգել այն պնդումը, որ Move-ը հուսալի և ապահով լեզու է, քանի որ այս պնդումները ավելի շուտ ձեռքի շարժում և շուկայավարում են, քան իրական ապացույցներ: Սա տագնապալի իրավիճակ է լեզվական նախագծի համար, որին խնդրում են մշակել միլիարդավոր դոլարների գործարքներ:

Կշեռքների ծածկագրությունը թերի է

Անվտանգ կրիպտոհամակարգեր կառուցելը շատ բարդ ինժեներական խնդիր է, և միշտ ավելի լավ է վտանգավոր կոդի հետ աշխատելը առողջ պարանոյայի լավ չափաբաժինով մոտենալ: Այս ոլորտում կան լուրջ առաջընթացներ, ինչպես Microsoft Everest նախագիծը, որը հաստատում է անվտանգ անվտանգություն TLS կույտ. Գործիքներ արդեն գոյություն ունեն՝ ստուգելի պրիմիտիվներ ստեղծելու համար: Չնայած սա թանկ է, բայց ակնհայտորեն այն դուրս չէ Facebook-ի տնտեսական հնարավորություններից: Այնուամենայնիվ, թիմը որոշեց չմասնակցել նախագծին, որը հայտարարվեց որպես համաշխարհային ֆինանսական համակարգի հուսալի հիմք։

գրադարանային նախագիծ կախված է մի քանի բավականին նոր գրադարաններից՝ փորձարարական կրիպտոհամակարգեր ստեղծելու համար, որոնք հայտնվել են միայն վերջին մի քանի տարիներին: Անհնար է ասել, թե արդյոք հետևյալ գործիքներից կախվածությունն ապահով է, թե ոչ, քանի որ այս գրադարաններից և ոչ մեկը չի ենթարկվել աուդիտի և չունի ստանդարտ բացահայտման քաղաքականություն: Մասնավորապես, որոշ հիմնական գրադարանների համար վստահություն չկա կողմնակի ալիքի հարձակումներից և ժամանակային հարձակումներից պաշտպանվելու հարցում:

  1. ed25519-դալեկ
  2. կոր25519-դալեկ

Գրադարանը դառնում է էլ ավելի փորձնական և դուրս է գալիս այն սահմաններից ստանդարտ մոդել, կիրառելով շատ նոր մեթոդներ, ինչպիսիք են ստուգելի պատահական ֆունկցիաները (VRFs), երկգծային զույգերը և շեմային ստորագրությունները: Այս մեթոդները և գրադարանները կարող են ողջամիտ լինել, բայց դրանք բոլորը մեկ համակարգի մեջ միավորելը լուրջ մտահոգություններ է առաջացնում հարձակման մակերեսի վերաբերյալ: Այս բոլոր նոր գործիքների և տեխնիկայի համադրությունը մեծապես մեծացնում է անվտանգության ապացուցման բարդությունը:

Պետք է ենթադրել, որ այս ամբողջ կրիպտոգրաֆիկ փաթեթը խոցելի է տարբեր հարձակումների համար, քանի դեռ հակառակն ապացուցված չէ: Facebook-ի հայտնի «Շարժվեք արագ և ընդհատեք իրերը» մոդելը չի ​​կարող կիրառվել գաղտնագրման գործիքների վրա, որոնք մշակում են հաճախորդների ֆինանսական տվյալները:

Կշեռքները չեն կարողանում կիրառել սպառողների պաշտպանության մեխանիզմները

Վճարային համակարգի տարբերակիչ առանձնահատկությունն այն է, որ գործարքը հետ կանչելու հնարավորությունն է, եթե վճարումը չեղարկվում է դատական ​​հայցով կամ հանգեցնում է պատահական կամ համակարգի ձախողման: Libra համակարգը նախատեսված է «ամբողջական» լինելու համար և չի ներառում վճարման չեղարկման գործարքի տեսակը: Մեծ Բրիտանիայում 100-ից մինչև 30,000 ֆունտ ստեռլինգ բոլոր վճարումները ենթակա են Սպառողական վարկի մասին օրենքին: Սա նշանակում է, որ վճարային համակարգը կիսում է պատասխանատվությունը վաճառողի հետ գնված ապրանքի հետ կապված խնդրի դեպքում կամ եթե վճարում ստացողը չի մատուցում ծառայությունը։ Նման կանոնները կիրառվում են ԵՄ-ում, Ասիայում և Հյուսիսային Ամերիկայում:

Կշեռքների ներկայիս դիզայնը չի ներառում այս օրենքներին համապատասխան արձանագրություն և չունի դրա ստեղծման հստակ ծրագիր: Նույնիսկ ավելի վատ, ճարտարապետական ​​տեսանկյունից, միջուկի վավերացված տվյալների կառուցվածքի վերջնականությունը, որը հիմնված է Merkle drive-ի վիճակի վրա, թույլ չի տալիս որևէ մեխանիզմ ստեղծել նման արձանագրություն՝ առանց միջուկի վերանախագծման:

Այս նախագծի տեխնիկական վերանայումից հետո մենք կարող ենք եզրակացնել, որ այն պարզապես չի անցնի որևէ հարգված բաշխված համակարգերի հետազոտական ​​կամ ֆինանսական ճարտարագիտական ​​ամսագրում: Համաշխարհային դրամավարկային քաղաքականությունը փոխելու համար անհրաժեշտ է հսկայական տեխնիկական աշխատանք կատարել հուսալի ցանց ստեղծելու և օգտագործողների տվյալների անվտանգ մշակման համար, որին հանրությունը և կարգավորող մարմինները կարող են վստահել:

Ես հիմքեր չեմ տեսնում հավատալու, որ Facebook-ն իր նախագծման մեջ կատարել է անհրաժեշտ աշխատանք՝ այս տեխնիկական խնդիրները հաղթահարելու համար, կամ որ այն տեխնիկական առավելություններ ունի ներկայիս ենթակառուցվածքի նկատմամբ։ Ասել, որ ընկերությանը նորարարություններ ուսումնասիրելու համար անհրաժեշտ է կարգավորող ճկունություն, դա արդարացում չէ առաջին հերթին դրանք չկատարելու համար:

Source: www.habr.com

Добавить комментарий