Архитектуралық шизофрения Facebook Libra

Екі жылдан кейін мен блогқа Хаскелл мен математика туралы әдеттегі қызықсыз лекциялардан ерекшеленетін пост үшін оралдым. Мен соңғы бірнеше жыл бойы ЕО-да финтехпен жұмыс істеп келемін және технологиялық БАҚ аз назар аударған тақырып туралы жазатын кез келген сияқты.

Жақында Facebook Libra деп аталатын «жаңа қаржылық қызмет көрсету платформасын» шығарды. Ол «блокчейнде» басқарылатын және Швейцариядан басқарылатын ақша пулында сақталатын халықаралық валюталар себетіне негізделген сандық есеп айырысу жүйесі ретінде орналасқан. Жобаның мақсаттары өршіл және ауқымды геосаяси салдарға әкеп соғады.

В Financial Times и New York Times Ұсынылған қаржы жүйесінің астарындағы негізсіз ақша-несие және экономикалық болжамдар туралы көптеген ақылға қонымды мақалалар. Бірақ техникалық тұрғыдан талдау жасай алатын мамандар жеткіліксіз. Көптеген адамдар қаржылық инфрақұрылыммен жұмыс істемейді және өз жұмысы туралы ашық айтады, сондықтан бұл жоба технологиялық БАҚ-та көп айтылмайды, дегенмен оның ішкі әлемі ашық. Мен репозиторийлердегі ашық көзді айтамын Таразы и Calibra ұйымы.

Әлемге ашық нәрсе - бұл жаһандық төлем инфрақұрылымы үшін қауіпсіз платформа болуға үміткер архитектуралық шизофрениялық артефакт.

Егер сіз кодтық базаға кірсеңіз, жүйенің нақты жүзеге асырылуы қойылған мақсаттан толығымен алшақтайды және ең оғаш жолдармен. Бұл жобаның қызықты корпоративтік тарихы бар екеніне сенімдімін. Сондықтан оны біраз ықыласпен жасалған деп болжау қисынды, бірақ шын мәнінде мен бүкіл жүйені бұзатын және пайдаланушыларды тәуекелге ұшырататын сәулет шешімдерінің біртүрлі жиынтығын көремін.

Мен компания ретінде Facebook туралы объективті пікірім бар деп көрсетпеймін. IT индустриясында оған жанашырлықпен қарайтындар аз. Бірақ оның мәлімдемелері мен жарияланған кодексті салыстыру айтылған мақсаттың түбегейлі алдамшы екенін анық көрсетеді. Бір сөзбен айтқанда, бұл жоба ешкімге мүмкіндік бермейді. Ол толығымен жарнамалық бизнесі жанжал мен сыбайлас жемқорлыққа батып кеткен компанияның бақылауында болады, сондықтан оның аман қалу үшін төлемдері мен несиелік скорингін әртараптандыруға тырысудан басқа амалы жоқ. Ұзақ мерзімді мақсат – тұтынушылардың жеке әлеуметтік медиа деректері негізінде несиеге қол жеткізуінде деректер брокері және делдал ретінде әрекет ету. Бұл өзіне лайық назар аудармайтын өте қорқынышты және қараңғы оқиға.

Бұл оқиғаның жалғыз құтқарушы рақымы - олар жасаған артефакттың тапсырмаға сай келмейтіндігі соншалықты, оны тек қана мақтану әрекеті ретінде қарастыруға болады. Бұл жобада бірнеше негізгі архитектуралық қателер бар:

Қолжетімділікті басқару желісіндегі Византия генералдарының мәселесін шешу - бұл сәйкес келмейтін дизайн

Византия генералдарының мәселесі - бөлінген жүйелерді зерттеудің өте тар саласы. Ол жүйенің жұмысы үшін маңызды түзету әрекеттерін орындау кезінде желілік жүйенің кездейсоқ құрамдас ақауларға төтеп беру қабілетін сипаттайды. Тұрақты желі бірнеше шабуыл түрлеріне төтеп беруі керек, соның ішінде қайта қосулар, үзілістер, зиянды жүктемелер және көшбасшылық сайлаудағы зиянды дауыс беру. Бұл Таразы архитектурасы үшін негізгі шешім және бұл жерде мүлдем мағынасыз.

Бұл қосымша құрылымның уақытша күрделілігі алгоритмге байланысты. Византия генералдарының мәселесін шешетін Paxos және Raft протоколдарының нұсқалары туралы көптеген әдебиеттер бар, бірақ бұл құрылымдардың барлығы байланыс үшін қосымша шығындарды енгізеді. Архитектуралық шизофрения Facebook Libra кворумды сақтау. Таразы үшін олар мүмкін болатын ең жоғары байланыс құны бар алгоритмді таңдады Архитектуралық шизофрения Facebook Libra басшылықтың сәтсіздігі жағдайында. Желілік ақаулық оқиғаларының көптеген түрлері бойынша көшбасшыларды ықтимал қайта сайлаудан қосымша шығындар бар.

Жоғары реттелген трансұлттық корпорациялардың консорциумында жұмыс істейтін жүйе үшін барлық пайдаланушылар Facebook қол қойған кодқа ие және желіге кіру Facebook арқылы бақыланады, консенсус деңгейінде зиянды қатысушыларды қарастырудың мағынасы жоқ. Неліктен бұл жүйенің сәйкестікті тексеру үшін дәйекті аудит ізін сақтаудың орнына, Византия генералдарының мәселесін шешетіні белгісіз. Mastercard немесе Andressen Horrowitz басқаратын Libra түйінінің кенеттен зиянды кодты іске қосу мүмкіндігі жоспарланатын біртүрлі сценарий болып табылады және хаттаманың тұтастығын және техникалық емес (яғни заңды) құралдарды қамтамасыз ету арқылы жақсырақ шешіледі.

Конгресске берген куәлік өнімді WeChat, Alipay және M-Pesa сияқты жаңа халықаралық төлем хаттамаларына бәсекелес ретінде көрсетті. Дегенмен, бұл жүйелердің ешқайсысы Византия генералдарының мәселесін шешу үшін валидатор пулдарында жұмыс істеуге арналмаған. Олар қарапайым ережелер жиынтығына сәйкес сымдарды жүргізетін дәстүрлі жоғары өткізу қабілеті бар автобуста жасалған. Бұл төлем жүйесін жобалаудың табиғи тәсілі. Жақсы жобаланған төлем жүйесі екі есе шығындар мен шанышқылар мәселесіне тап болмайды.

Консенсус алгоритмінің үстеме шығындары ешқандай мәселені шешпейді және тек осы пайдалану жағдайына арналмаған қоғамдық блокчейннің жүк табынуынан басқа ешбір себепсіз жүйенің өткізу қабілетін шектейді.

Libra-да транзакция құпиясы жоқ

Құжаттамаға сәйкес жүйе ескере отырып жасалған бүркеншік ат, яғни хаттамада пайдаланылатын мекенжайлар эллиптикалық қисықтардағы ашық кілттерден алынады және тіркелгілер туралы метадеректерді қамтымайды. Дегенмен, ұйымның басқару құрылымын сипаттаудың ешбір жерінде немесе хаттаманың өзінде транзакцияларға қатысты экономикалық деректердің валидаторлардан қалай жасырылатыны көрсетілмеген. Жүйе еуропалық және АҚШ-тың қолданыстағы банктік құпиялылық заңдарына сәйкес экономикалық мәліметтерді білмейтін сыртқы тараптарға кең ауқымдағы транзакцияларды қайталауға арналған.

Елдердегі деректер саясатын үйлестіру қиын, әсіресе деректерді қорғау және құпиялылыққа қатысты әртүрлі мәдени көзқарастары бар әртүрлі юрисдикциялардағы әртүрлі заңдар мен ережелерді ескере отырып. Хаттаманың өзі әдепкі бойынша консорциум мүшелері үшін толығымен ашық, бұл ол әзірленген талаптарға сәйкес келмейтін анық техникалық кемшілік.

Libra HotStuff BFT төлем жүйесі үшін қажетті өткізу қабілетіне қол жеткізе алмайды

Ұлыбританияда BAC сияқты клирингтік жүйелер айына шамамен 580 000 000 транзакцияны өңдеуге қабілетті. Сонымен қатар, Visa сияқты жоғары оңтайландырылған жүйелер күніне 150 000 000 транзакцияны өңдей алады. Өнімділік транзакция өлшеміне, желі маршрутына, жүйе жүктемесіне және байланысты өзгереді AML тексерулері (ақшаны жылыстатуға қарсы күрес, ақшаны жылыстату схемалары).

Таразы ішкі трансферттер үшін шын мәнінде проблема емес мәселелерді шешуге тырысады, өйткені ұлттық мемлекеттер соңғы онжылдықта өздерінің клирингтік инфрақұрылымын жаңартты. Еуропалық Одақтағы бөлшек тұтынушылар үшін ақшаны жылжыту мүлде проблема емес. Дәстүрлі инфрақұрылымда мұны стандартты смартфонмен бірнеше секундта жасауға болады. Ірі корпоративтік аударымдар үшін үлкен көлемдегі ақшаны жылжытуға байланысты әртүрлі механизмдер мен ережелер бар.

Тиісті юрисдикциялар арасындағы ережелер мен талаптардағы айырмашылықтардан басқа, трансшекаралық төлемдерді бірден өңдеуге болмайтын техникалық себеп жоқ. Қажетті алдын алу шаралары (клиентті тиісті тексеру, санкцияларды тексеру және т.б.) транзакциялар тізбегінің әртүрлі кезеңдерінде бірнеше рет орындалса, бұл транзакцияның кешігуіне әкелуі мүмкін. Дегенмен, бұл кідіріс технология емес, тек реттеуші заңнама мен сәйкестік функциясы болып табылады.

Тұтынушылар үшін Ұлыбританиядағы транзакцияның бірнеше секунд ішінде шешілмеуі үшін ешқандай себеп жоқ. ЕО-дағы бөлшек сауда операциялары шынымен де баяулауда KYC тексеру (Тұтынушыны біліңіз) және үкіметтер мен реттеушілер қойған AML шектеулері, олар Libra төлемдеріне бірдей қолданылады. Тіпті Facebook трансшекаралық тасымалдаулар мен жеке деректерді беру жолындағы кедергілерді еңсеретін болса да, ұсынылған модель транзакциялардың жаһандық өткізу қабілетінен жүздеген адам-жылдар алыс және нөлден бастап қайта жобалануы мүмкін.

Libra Move тілі дұрыс емес

Ақ қағаз Move деп аталатын жаңа, тексерілмеген тіл туралы батыл мәлімдеме жасайды. Бұл мәлімдемелер бағдарламалау тілі теориясы (PLT) тұрғысынан өте күмәнді.

Move — Libra блокчейнінде реттелетін транзакция логикасын және смарт келісімшарттарды енгізуге арналған жаңа бағдарламалау тілі. Таразы бір күні миллиардтаған адамдарға қызмет көрсетуді мақсат еткендіктен, Move қауіпсіздікті басты мақсат ретінде қарастырады.

Move бағдарламасының негізгі ерекшелігі сызықтық логикадан шабыттандырылған семантикамен еркін ресурс түрлерін анықтау мүмкіндігі болып табылады.

Қоғамдық блокчейндерде смарт келісімшарттар эскроу шоттары, ақшаны жылыстату, OTC токендерін шығару және құмар ойындары бар қоғамдық желілердің логикасына тап болады. Мұның бәрі академиялық тұрғыдан РНР авторын данышпан етіп көрсететін Solidity деп аталатын таңқаларлық нашар жобаланған тілде жасалады. Бір қызығы, Facebook-тің жаңа тілінің бұл технологияларға еш қатысы жоқ сияқты, өйткені бұл шын мәнінде түсініксіз кәсіпорын мақсаттарына арналған сценарий тілі.

Жеке таратылған кітаптарда ақылды келісім-шарттар нақты анықтамаға немесе мақсатқа көп мән берместен кеңесшілер таратқан терминдердің бірі болып табылады. Кәсіпорындық бағдарламалық жасақтама бойынша кеңесшілер әдетте екіұштылықтан ақша табады, ал ақылды келісім-шарттар корпоративтік қараңғылықтың апотеозы болып табылады, өйткені оларды кез келген нәрсе ретінде анықтауға болады.

Оның қауіпсіздігі туралы мәлімдеме жасағаннан кейін біз тілдің семантикасын қарастыруымыз керек. Бағдарламалау тілінің теориясындағы дұрыстық әдетте екі түрлі дәлелден тұрады: «прогресс» және «сақтау», олар тіл үшін бағалау ережелерінің бүкіл кеңістігінің сәйкестігін анықтайды. Нақтырақ айтсақ, тип теориясында функция өз аргументін бір рет пайдаланса, «сызықты», ал ең көп дегенде бір рет пайдаланса, «аффинді» болады. Сызықтық типті жүйе барлық функция ішкі өрнектеріне түрлерді тағайындау және қоңыраулар қай жерде орындалатынын қадағалау арқылы жарияланған сызықтық функцияның шын сызықты екеніне статикалық кепілдік береді. Бұл дәлелдеуге болатын нәзік қасиет және оны бүкіл бағдарлама үшін орындау оңай емес. Сызықтық теру әлі де өте академиялық зерттеу саласы болып табылады, оған Таза түрдегі бірегейлікті енгізу және Rust-та типті иелену әсер етті. Глазго Хаскелл компиляторына сызықтық типтерді қосу үшін кейбір алдын ала ұсыныстар бар.

Move-тің сызықтық типтерді пайдалану туралы мәлімдемесі компиляторға негізсіз ену сияқты көрінеді, өйткені бар мұндай типті тексеру логикасы жоқ. Айта кету керек, ақ қағазда Жирард пен Пирстің канондық әдебиеттері келтірілген және нақты іске асыруда ұқсас ештеңе жоқ.

Бұған қоса, қауіпсіз деп есептелетін тілдің формальды семантикасы іске асырудың да, құжаттың да ешқайсысында көрінбейді. Coq немесе Isabelle-де дұрыс семантиканың толық дәлелін табу үшін тіл жеткілікті түрде кішкентай. Шындығында, байт-кодқа дәлелді тасымалдауы бар толық конверсиялық компиляторды соңғы онжылдықта ойлап тапқан заманауи құралдармен жүзеге асыру әбден мүмкін. Біз мұны қалай істеу керектігін білеміз, бастап Джордж Некула мен Питер Лидің жұмыстары 1996 жылы.

Бағдарламалау тілі теориясы тұрғысынан Move сенімді және қауіпсіз тіл екендігі туралы мәлімдемені сынау мүмкін емес, өйткені бұл талаптар нақты дәлелдер емес, таза қолмен серуендеу және маркетинг болып табылады. Бұл миллиардтаған доллар транзакцияларды өңдеуді сұрайтын тіл жобасы үшін алаңдатарлық жағдай.

Таразы криптографиясы ақаулы

Қауіпсіз криптожүйелерді құру - өте күрделі инженерлік мәселе, сондықтан пайдалы паранойяның жақсы дозасы бар қауіпті кодпен жұмыс істеу әрқашан жақсы. Бұл салада тексерілетін қауіпсіздікті құрайтын Microsoft Everest жобасы сияқты үлкен жетістіктер бар. TLS стегі. Тексерілетін примитивтерді жасау үшін құралдар бұрыннан бар. Бұл қымбат болса да, бұл Facebook-тің экономикалық мүмкіндіктерінен тыс емес екені анық. Дегенмен, команда әлемдік қаржы жүйесінің сенімді іргетасы деп жарияланған жобаға қатыспауды ұйғарды.

таразы жобасы байланысты соңғы бірнеше жылда ғана пайда болған тәжірибелік криптожүйелерді құруға арналған бірнеше жаңа кітапханалардан. Төмендегі құралдарға тәуелділік қауіпсіз немесе қауіпсіз емес екенін айту мүмкін емес, өйткені бұл кітапханалардың ешқайсысы тексерілмеген және стандартты ашу саясаты жоқ. Атап айтқанда, кейбір негізгі кітапханалар үшін бүйірлік арналық шабуылдардан және уақыттық шабуылдардан қорғауға қатысты сенімділік жоқ.

  1. ed25519-dalek
  2. қисық25519-далек

Libra кітапханасы одан да тәжірибелі болып, одан да асып түседі стандартты үлгі, тексерілетін кездейсоқ функциялар (VRF), екі сызықты жұптар және шекті қолтаңбалар сияқты өте жаңа әдістерді қолдану. Бұл әдістер мен кітапханалар ақылға қонымды болуы мүмкін, бірақ олардың барлығын бір жүйеге біріктіру шабуыл бетінің ауданына қатысты елеулі алаңдаушылық тудырады. Барлық осы жаңа құралдар мен әдістерді біріктіру қауіпсіздікті дәлелдеу күрделілігін айтарлықтай арттырады.

Бұл бүкіл криптографиялық стек басқаша дәлелденбейінше әртүрлі шабуылдарға осал деп болжау керек. Facebook-тің әйгілі «Жылдам жылжыту және заттарды бұзу» үлгісін тұтынушылардың қаржылық деректерін өңдейтін криптографиялық құралдарға қолдануға болмайды.

Таразы тұтынушыларды қорғау механизмдерін жүзеге асыра алмайды

Төлем жүйесінің айрықша ерекшелігі, егер төлем сот талап-арызымен жойылса немесе кездейсоқ немесе жүйе ақаулығына әкелсе, транзакцияны кері қайтару мүмкіндігі. Libra жүйесі «толық» болу үшін жасалған және төлемді тоқтату үшін транзакция түрін қамтымайды. Ұлыбританияда £100 мен 30,000 XNUMX фунт стерлинг аралығындағы барлық төлемдер тұтынушылық несие туралы заңға бағынады. Бұл төлем жүйесі сатып алынған өнімде ақаулық туындаған жағдайда немесе төлемді алушы қызмет көрсетпеген жағдайда сатушымен жауапкершілікті бөлісетінін білдіреді. Ұқсас ережелер ЕО, Азия және Солтүстік Америкада қолданылады.

Таразылардың қазіргі дизайнында осы заңдарға сәйкес хаттама жоқ және оны құрудың нақты жоспары жоқ. Одан да сорақысы, архитектуралық тұрғыдан алғанда, Merkle дискісінің күйіне негізделген ядроның аутентификацияланған деректер құрылымының түпкіліктілігі ядроны қайта жасамай-ақ мұндай хаттаманы жасауға ешқандай механизмге мүмкіндік бермейді.

Осы жобаға техникалық шолу жүргізгеннен кейін, ол жай ғана кез келген беделді таратылған жүйелерді зерттеу немесе қаржылық инженерия журналында жинақтаудан өтпейді деген қорытындыға келуге болады. Жаһандық ақша-несие саясатын өзгертуге тырысу үшін сенімді желі құру және жұртшылық пен реттеушілер сене алатын пайдаланушы деректерін қауіпсіз өңдеу үшін үлкен көлемдегі техникалық жұмысты орындау қажет.

Мен Facebook осы техникалық ақауларды еңсеру үшін дизайнында қажетті жұмыс жасады немесе оның қазіргі инфрақұрылыммен салыстырғанда қандай да бір техникалық артықшылығы бар деп сенуге ешқандай негіз көріп тұрған жоқпын. Компанияға инновацияларды зерттеу үшін реттеуші икемділік қажет деп айту оларды бірінші орындамау үшін ақтау емес.

Ақпарат көзі: www.habr.com

пікір қалдыру