Екі жылдан кейін мен блогқа Хаскелл мен математика туралы әдеттегі қызықсыз лекциялардан ерекшеленетін пост үшін оралдым. Мен соңғы бірнеше жыл бойы ЕО-да финтехпен жұмыс істеп келемін және технологиялық БАҚ аз назар аударған тақырып туралы жазатын кез келген сияқты.
Жақында Facebook Libra деп аталатын «жаңа қаржылық қызмет көрсету платформасын» шығарды. Ол «блокчейнде» басқарылатын және Швейцариядан басқарылатын ақша пулында сақталатын халықаралық валюталар себетіне негізделген сандық есеп айырысу жүйесі ретінде орналасқан. Жобаның мақсаттары өршіл және ауқымды геосаяси салдарға әкеп соғады.
В
Әлемге ашық нәрсе - бұл жаһандық төлем инфрақұрылымы үшін қауіпсіз платформа болуға үміткер архитектуралық шизофрениялық артефакт.
Егер сіз кодтық базаға кірсеңіз, жүйенің нақты жүзеге асырылуы қойылған мақсаттан толығымен алшақтайды және ең оғаш жолдармен. Бұл жобаның қызықты корпоративтік тарихы бар екеніне сенімдімін. Сондықтан оны біраз ықыласпен жасалған деп болжау қисынды, бірақ шын мәнінде мен бүкіл жүйені бұзатын және пайдаланушыларды тәуекелге ұшырататын сәулет шешімдерінің біртүрлі жиынтығын көремін.
Мен компания ретінде Facebook туралы объективті пікірім бар деп көрсетпеймін. IT индустриясында оған жанашырлықпен қарайтындар аз. Бірақ оның мәлімдемелері мен жарияланған кодексті салыстыру айтылған мақсаттың түбегейлі алдамшы екенін анық көрсетеді. Бір сөзбен айтқанда, бұл жоба ешкімге мүмкіндік бермейді. Ол толығымен жарнамалық бизнесі жанжал мен сыбайлас жемқорлыққа батып кеткен компанияның бақылауында болады, сондықтан оның аман қалу үшін төлемдері мен несиелік скорингін әртараптандыруға тырысудан басқа амалы жоқ. Ұзақ мерзімді мақсат – тұтынушылардың жеке әлеуметтік медиа деректері негізінде несиеге қол жеткізуінде деректер брокері және делдал ретінде әрекет ету. Бұл өзіне лайық назар аудармайтын өте қорқынышты және қараңғы оқиға.
Бұл оқиғаның жалғыз құтқарушы рақымы - олар жасаған артефакттың тапсырмаға сай келмейтіндігі соншалықты, оны тек қана мақтану әрекеті ретінде қарастыруға болады. Бұл жобада бірнеше негізгі архитектуралық қателер бар:
Қолжетімділікті басқару желісіндегі Византия генералдарының мәселесін шешу - бұл сәйкес келмейтін дизайн
Византия генералдарының мәселесі - бөлінген жүйелерді зерттеудің өте тар саласы. Ол жүйенің жұмысы үшін маңызды түзету әрекеттерін орындау кезінде желілік жүйенің кездейсоқ құрамдас ақауларға төтеп беру қабілетін сипаттайды. Тұрақты желі бірнеше шабуыл түрлеріне төтеп беруі керек, соның ішінде қайта қосулар, үзілістер, зиянды жүктемелер және көшбасшылық сайлаудағы зиянды дауыс беру. Бұл Таразы архитектурасы үшін негізгі шешім және бұл жерде мүлдем мағынасыз.
Бұл қосымша құрылымның уақытша күрделілігі алгоритмге байланысты. Византия генералдарының мәселесін шешетін Paxos және Raft протоколдарының нұсқалары туралы көптеген әдебиеттер бар, бірақ бұл құрылымдардың барлығы байланыс үшін қосымша шығындарды енгізеді. кворумды сақтау. Таразы үшін олар мүмкін болатын ең жоғары байланыс құны бар алгоритмді таңдады басшылықтың сәтсіздігі жағдайында. Желілік ақаулық оқиғаларының көптеген түрлері бойынша көшбасшыларды ықтимал қайта сайлаудан қосымша шығындар бар.
Жоғары реттелген трансұлттық корпорациялардың консорциумында жұмыс істейтін жүйе үшін барлық пайдаланушылар Facebook қол қойған кодқа ие және желіге кіру Facebook арқылы бақыланады, консенсус деңгейінде зиянды қатысушыларды қарастырудың мағынасы жоқ. Неліктен бұл жүйенің сәйкестікті тексеру үшін дәйекті аудит ізін сақтаудың орнына, Византия генералдарының мәселесін шешетіні белгісіз. Mastercard немесе Andressen Horrowitz басқаратын Libra түйінінің кенеттен зиянды кодты іске қосу мүмкіндігі жоспарланатын біртүрлі сценарий болып табылады және хаттаманың тұтастығын және техникалық емес (яғни заңды) құралдарды қамтамасыз ету арқылы жақсырақ шешіледі.
Конгресске берген куәлік өнімді WeChat, Alipay және M-Pesa сияқты жаңа халықаралық төлем хаттамаларына бәсекелес ретінде көрсетті. Дегенмен, бұл жүйелердің ешқайсысы Византия генералдарының мәселесін шешу үшін валидатор пулдарында жұмыс істеуге арналмаған. Олар қарапайым ережелер жиынтығына сәйкес сымдарды жүргізетін дәстүрлі жоғары өткізу қабілеті бар автобуста жасалған. Бұл төлем жүйесін жобалаудың табиғи тәсілі. Жақсы жобаланған төлем жүйесі екі есе шығындар мен шанышқылар мәселесіне тап болмайды.
Консенсус алгоритмінің үстеме шығындары ешқандай мәселені шешпейді және тек осы пайдалану жағдайына арналмаған қоғамдық блокчейннің жүк табынуынан басқа ешбір себепсіз жүйенің өткізу қабілетін шектейді.
Libra-да транзакция құпиясы жоқ
Құжаттамаға сәйкес жүйе ескере отырып жасалған бүркеншік ат, яғни хаттамада пайдаланылатын мекенжайлар эллиптикалық қисықтардағы ашық кілттерден алынады және тіркелгілер туралы метадеректерді қамтымайды. Дегенмен, ұйымның басқару құрылымын сипаттаудың ешбір жерінде немесе хаттаманың өзінде транзакцияларға қатысты экономикалық деректердің валидаторлардан қалай жасырылатыны көрсетілмеген. Жүйе еуропалық және АҚШ-тың қолданыстағы банктік құпиялылық заңдарына сәйкес экономикалық мәліметтерді білмейтін сыртқы тараптарға кең ауқымдағы транзакцияларды қайталауға арналған.
Елдердегі деректер саясатын үйлестіру қиын, әсіресе деректерді қорғау және құпиялылыққа қатысты әртүрлі мәдени көзқарастары бар әртүрлі юрисдикциялардағы әртүрлі заңдар мен ережелерді ескере отырып. Хаттаманың өзі әдепкі бойынша консорциум мүшелері үшін толығымен ашық, бұл ол әзірленген талаптарға сәйкес келмейтін анық техникалық кемшілік.
Libra HotStuff BFT төлем жүйесі үшін қажетті өткізу қабілетіне қол жеткізе алмайды
Ұлыбританияда BAC сияқты клирингтік жүйелер айына шамамен 580 000 000 транзакцияны өңдеуге қабілетті. Сонымен қатар, Visa сияқты жоғары оңтайландырылған жүйелер күніне 150 000 000 транзакцияны өңдей алады. Өнімділік транзакция өлшеміне, желі маршрутына, жүйе жүктемесіне және байланысты өзгереді
Таразы ішкі трансферттер үшін шын мәнінде проблема емес мәселелерді шешуге тырысады, өйткені ұлттық мемлекеттер соңғы онжылдықта өздерінің клирингтік инфрақұрылымын жаңартты. Еуропалық Одақтағы бөлшек тұтынушылар үшін ақшаны жылжыту мүлде проблема емес. Дәстүрлі инфрақұрылымда мұны стандартты смартфонмен бірнеше секундта жасауға болады. Ірі корпоративтік аударымдар үшін үлкен көлемдегі ақшаны жылжытуға байланысты әртүрлі механизмдер мен ережелер бар.
Тиісті юрисдикциялар арасындағы ережелер мен талаптардағы айырмашылықтардан басқа, трансшекаралық төлемдерді бірден өңдеуге болмайтын техникалық себеп жоқ. Қажетті алдын алу шаралары (клиентті тиісті тексеру, санкцияларды тексеру және т.б.) транзакциялар тізбегінің әртүрлі кезеңдерінде бірнеше рет орындалса, бұл транзакцияның кешігуіне әкелуі мүмкін. Дегенмен, бұл кідіріс технология емес, тек реттеуші заңнама мен сәйкестік функциясы болып табылады.
Тұтынушылар үшін Ұлыбританиядағы транзакцияның бірнеше секунд ішінде шешілмеуі үшін ешқандай себеп жоқ. ЕО-дағы бөлшек сауда операциялары шынымен де баяулауда
Libra Move тілі дұрыс емес
Ақ қағаз Move деп аталатын жаңа, тексерілмеген тіл туралы батыл мәлімдеме жасайды. Бұл мәлімдемелер бағдарламалау тілі теориясы (PLT) тұрғысынан өте күмәнді.
Move — Libra блокчейнінде реттелетін транзакция логикасын және смарт келісімшарттарды енгізуге арналған жаңа бағдарламалау тілі. Таразы бір күні миллиардтаған адамдарға қызмет көрсетуді мақсат еткендіктен, Move қауіпсіздікті басты мақсат ретінде қарастырады.
Move бағдарламасының негізгі ерекшелігі сызықтық логикадан шабыттандырылған семантикамен еркін ресурс түрлерін анықтау мүмкіндігі болып табылады.
Қоғамдық блокчейндерде смарт келісімшарттар эскроу шоттары, ақшаны жылыстату, OTC токендерін шығару және құмар ойындары бар қоғамдық желілердің логикасына тап болады. Мұның бәрі академиялық тұрғыдан РНР авторын данышпан етіп көрсететін Solidity деп аталатын таңқаларлық нашар жобаланған тілде жасалады. Бір қызығы, Facebook-тің жаңа тілінің бұл технологияларға еш қатысы жоқ сияқты, өйткені бұл шын мәнінде түсініксіз кәсіпорын мақсаттарына арналған сценарий тілі.
Жеке таратылған кітаптарда ақылды келісім-шарттар нақты анықтамаға немесе мақсатқа көп мән берместен кеңесшілер таратқан терминдердің бірі болып табылады. Кәсіпорындық бағдарламалық жасақтама бойынша кеңесшілер әдетте екіұштылықтан ақша табады, ал ақылды келісім-шарттар корпоративтік қараңғылықтың апотеозы болып табылады, өйткені оларды кез келген нәрсе ретінде анықтауға болады.
Оның қауіпсіздігі туралы мәлімдеме жасағаннан кейін біз тілдің семантикасын қарастыруымыз керек. Бағдарламалау тілінің теориясындағы дұрыстық әдетте екі түрлі дәлелден тұрады: «прогресс» және «сақтау», олар тіл үшін бағалау ережелерінің бүкіл кеңістігінің сәйкестігін анықтайды. Нақтырақ айтсақ, тип теориясында функция өз аргументін бір рет пайдаланса, «сызықты», ал ең көп дегенде бір рет пайдаланса, «аффинді» болады. Сызықтық типті жүйе барлық функция ішкі өрнектеріне түрлерді тағайындау және қоңыраулар қай жерде орындалатынын қадағалау арқылы жарияланған сызықтық функцияның шын сызықты екеніне статикалық кепілдік береді. Бұл дәлелдеуге болатын нәзік қасиет және оны бүкіл бағдарлама үшін орындау оңай емес. Сызықтық теру әлі де өте академиялық зерттеу саласы болып табылады, оған Таза түрдегі бірегейлікті енгізу және Rust-та типті иелену әсер етті. Глазго Хаскелл компиляторына сызықтық типтерді қосу үшін кейбір алдын ала ұсыныстар бар.
Move-тің сызықтық типтерді пайдалану туралы мәлімдемесі компиляторға негізсіз ену сияқты көрінеді, өйткені бар
Бұған қоса, қауіпсіз деп есептелетін тілдің формальды семантикасы іске асырудың да, құжаттың да ешқайсысында көрінбейді. Coq немесе Isabelle-де дұрыс семантиканың толық дәлелін табу үшін тіл жеткілікті түрде кішкентай. Шындығында, байт-кодқа дәлелді тасымалдауы бар толық конверсиялық компиляторды соңғы онжылдықта ойлап тапқан заманауи құралдармен жүзеге асыру әбден мүмкін. Біз мұны қалай істеу керектігін білеміз, бастап
Бағдарламалау тілі теориясы тұрғысынан Move сенімді және қауіпсіз тіл екендігі туралы мәлімдемені сынау мүмкін емес, өйткені бұл талаптар нақты дәлелдер емес, таза қолмен серуендеу және маркетинг болып табылады. Бұл миллиардтаған доллар транзакцияларды өңдеуді сұрайтын тіл жобасы үшін алаңдатарлық жағдай.
Таразы криптографиясы ақаулы
Қауіпсіз криптожүйелерді құру - өте күрделі инженерлік мәселе, сондықтан пайдалы паранойяның жақсы дозасы бар қауіпті кодпен жұмыс істеу әрқашан жақсы. Бұл салада тексерілетін қауіпсіздікті құрайтын Microsoft Everest жобасы сияқты үлкен жетістіктер бар.
таразы жобасы
Libra кітапханасы одан да тәжірибелі болып, одан да асып түседі
Бұл бүкіл криптографиялық стек басқаша дәлелденбейінше әртүрлі шабуылдарға осал деп болжау керек. Facebook-тің әйгілі «Жылдам жылжыту және заттарды бұзу» үлгісін тұтынушылардың қаржылық деректерін өңдейтін криптографиялық құралдарға қолдануға болмайды.
Таразы тұтынушыларды қорғау механизмдерін жүзеге асыра алмайды
Төлем жүйесінің айрықша ерекшелігі, егер төлем сот талап-арызымен жойылса немесе кездейсоқ немесе жүйе ақаулығына әкелсе, транзакцияны кері қайтару мүмкіндігі. Libra жүйесі «толық» болу үшін жасалған және төлемді тоқтату үшін транзакция түрін қамтымайды. Ұлыбританияда £100 мен 30,000 XNUMX фунт стерлинг аралығындағы барлық төлемдер тұтынушылық несие туралы заңға бағынады. Бұл төлем жүйесі сатып алынған өнімде ақаулық туындаған жағдайда немесе төлемді алушы қызмет көрсетпеген жағдайда сатушымен жауапкершілікті бөлісетінін білдіреді. Ұқсас ережелер ЕО, Азия және Солтүстік Америкада қолданылады.
Таразылардың қазіргі дизайнында осы заңдарға сәйкес хаттама жоқ және оны құрудың нақты жоспары жоқ. Одан да сорақысы, архитектуралық тұрғыдан алғанда, Merkle дискісінің күйіне негізделген ядроның аутентификацияланған деректер құрылымының түпкіліктілігі ядроны қайта жасамай-ақ мұндай хаттаманы жасауға ешқандай механизмге мүмкіндік бермейді.
Осы жобаға техникалық шолу жүргізгеннен кейін, ол жай ғана кез келген беделді таратылған жүйелерді зерттеу немесе қаржылық инженерия журналында жинақтаудан өтпейді деген қорытындыға келуге болады. Жаһандық ақша-несие саясатын өзгертуге тырысу үшін сенімді желі құру және жұртшылық пен реттеушілер сене алатын пайдаланушы деректерін қауіпсіз өңдеу үшін үлкен көлемдегі техникалық жұмысты орындау қажет.
Мен Facebook осы техникалық ақауларды еңсеру үшін дизайнында қажетті жұмыс жасады немесе оның қазіргі инфрақұрылыммен салыстырғанда қандай да бір техникалық артықшылығы бар деп сенуге ешқандай негіз көріп тұрған жоқпын. Компанияға инновацияларды зерттеу үшін реттеуші икемділік қажет деп айту оларды бірінші орындамау үшін ақтау емес.
Ақпарат көзі: www.habr.com