İki ildən sonra Haskell və riyaziyyat haqqında adi darıxdırıcı mühazirələrdən fərqli bir yazı üçün bloqa qayıtdım. Mən son bir neçə ildir ki, Aİ-də fintech üzərində işləyirəm və deyəsən, texnoloji medianın az diqqətini çəkən bir mövzu haqqında yazmağın vaxtı çatıb.
Facebook bu yaxınlarda Libra adlı "yeni maliyyə xidmətləri platforması" adlandırdığı şeyi təqdim etdi. O, “blokçeyn” üzərində idarə olunan və İsveçrədən idarə olunan pul hovuzunda saxlanılan beynəlxalq valyutalar səbətinə əsaslanan rəqəmsal hesablaşma sistemi kimi yerləşdirilib. Layihənin məqsədləri iddialıdır və genişmiqyaslı geosiyasi nəticələrə səbəb olur.
В
Dünyaya açıq olan, qlobal ödəniş infrastrukturu üçün təhlükəsiz platforma olduğunu iddia edən memarlıq şizofreniya artefaktıdır.
Kod bazasına daxil olsanız, sistemin faktiki tətbiqi göstərilən məqsəddən tamamilə fərqlənir və ən qəribə yollarla. Əminəm ki, bu layihənin maraqlı korporativ tarixi var. Beləliklə, onun müəyyən səylə tərtib edildiyini düşünmək məntiqlidir, amma əslində mən bütün sistemi pozan və istifadəçiləri risk altına alan həqiqətən qəribə memarlıq qərarları görürəm.
Mən bir şirkət olaraq Facebook haqqında obyektiv fikir sahibi olduğumu iddia etməyəcəyəm. İT sənayesində az adam ona rəğbətlə baxır. Lakin onun bəyanatları və dərc edilmiş məcəllə müqayisəsi açıq şəkildə göstərir ki, qeyd olunan məqsəd kökündən aldadıcıdır. Bir sözlə, bu layihə heç kimə səlahiyyət vermir. O, reklam biznesi qalmaqal və korrupsiyaya o qədər qərq olmuş bir şirkətin tam nəzarəti altında qalacaq ki, onun sağ qalmaq üçün ödənişlərini və kredit reytinqini şaxələndirməyə çalışmaqdan başqa çarəsi yoxdur. Aydın uzunmüddətli məqsəd istehlakçıların şəxsi sosial media məlumatlarına əsaslanaraq kredit əldə etməsində məlumat brokeri və vasitəçi kimi çıxış etməkdir. Bu, layiq olduğu diqqəti cəlb etməyən tamamilə dəhşətli və qaranlıq bir hekayədir.
Bu hekayənin yeganə xilasedici lütfü odur ki, onların yaratdığı artefakt o qədər gülməli şəkildə tapşırığa uyğun gəlmir ki, bu, yalnız təvazökarlıq aktı kimi görünə bilər. Bu layihədə bir neçə əsas memarlıq səhvləri var:
Girişə Nəzarət Şəbəkəsində Bizans generalları probleminin həlli uyğunsuz bir dizayndır
Bizans generallarının problemi paylanmış sistemlərin tədqiqinin olduqca dar bir sahəsidir. O, şəbəkə sisteminin sistemin işləməsi üçün vacib olan düzəldici tədbirlər görərkən təsadüfi komponent nasazlıqlarına tab gətirmək qabiliyyətini təsvir edir. Dayanıqlı şəbəkə bir neçə növ hücuma tab gətirməlidir, o cümlədən yenidən işə salınmalar, kəsilmələr, zərərli yükləmələr və liderlik seçkilərində zərərli səsvermə. Bu, Tərəzi arxitekturası üçün əsas qərardır və burada tamamilə mənasızdır.
Bu əlavə strukturun vaxt mürəkkəbliyi alqoritmdən asılıdır. Bizans generalları problemini həll edən Paxos və Raft protokollarının variantları haqqında çoxlu ədəbiyyat var, lakin bütün bu strukturlar üzərindən ünsiyyət üçün əlavə xərclər təqdim edir. kvorumu saxlamaq. Tərəzi üçün onlar mümkün olan ən yüksək rabitə dəyəri olan alqoritmi seçdilər rəhbərliyin uğursuzluğu halında. Və bir çox növ şəbəkə uğursuzluğu hadisələri üzrə liderlərin potensial yenidən seçilməsindən əlavə xərclər var.
Yüksək səviyyədə tənzimlənən çoxmillətli korporasiyaların konsorsiumu daxilində fəaliyyət göstərən, bütün istifadəçilərin Facebook tərəfindən imzalanmış kodun olduğu və şəbəkəyə girişin Facebook tərəfindən idarə olunduğu sistem üçün konsensus səviyyəsində zərərli iştirakçıları nəzərdən keçirməyin mənası yoxdur. Bu sistemin nəyə görə uyğunluğu yoxlamaq üçün ardıcıl yoxlama izi saxlamaq əvəzinə, Bizans generallarının problemini belə həll edəcəyi aydın deyil. Mastercard və ya Andressen Horrowitz tərəfindən idarə olunan Tərəzi qovşağının qəfildən zərərli kodu işə salma ehtimalı planlaşdırmaq üçün qəribə bir ssenaridir və sadəcə protokol bütövlüyünü və qeyri-texniki (yəni hüquqi) vasitələrin təmin edilməsi ilə daha yaxşı həll edilir.
Konqresə verilən ifadə, məhsulu WeChat, Alipay və M-Pesa kimi yeni beynəlxalq ödəniş protokollarına rəqib kimi təqdim etdi. Bununla belə, bu sistemlərin heç biri Bizans generalları problemini həll etmək üçün validator hovuzlarında işləmək üçün nəzərdə tutulmayıb. Onlar sadəcə olaraq sabit qaydalar dəstinə uyğun olaraq naqilləri həyata keçirən ənənəvi yüksək bant genişliyi avtobusunda hazırlanmışdır. Bu, ödəniş sisteminin dizaynına təbii yanaşmadır. Yaxşı dizayn edilmişdir ödəniş sistemi sadəcə olaraq ikiqat xərcləmə və çəngəl problemi ilə qarşılaşmayacaq.
Konsensus alqoritminin yükü heç bir problemi həll etmir və yalnız bu istifadə halı üçün nəzərdə tutulmayan ictimai blokçeynin yük kultundan başqa heç bir səbəb olmadan sistemin ötürmə qabiliyyətini məhdudlaşdırır.
Tərəzi əməliyyat məxfiliyinə malik deyil
Sənədlərə əsasən, sistem nəzərə alınmaqla tərtib edilmişdir təxəllüs, yəni protokolda istifadə olunan ünvanlar elliptik əyrilər üzərində açıq açarlardan əldə edilir və hesablar haqqında metadata ehtiva etmir. Bununla belə, təşkilat üçün idarəetmə strukturunun təsvirində və ya protokolun özündə heç bir yerdə əməliyyatlarda iştirak edən iqtisadi məlumatların validatorlardan necə gizlədiləcəyi göstərilmir. Sistem, Avropa və ABŞ-ın mövcud bank sirri qanunlarına əsasən, iqtisadi təfərrüatlardan xəbərsiz olmayan bir sıra xarici tərəflərə geniş miqyasda əməliyyatları təkrarlamaq üçün nəzərdə tutulmuşdur.
Ölkələr arasında məlumat siyasətlərini əlaqələndirmək çətindir, xüsusən də məlumatların qorunması və məxfiliyə dair müxtəlif mədəni baxışları olan müxtəlif yurisdiksiyalarda fərqli qanunlar və qaydaları nəzərə alsaq. Protokolun özü standart olaraq konsorsium üzvləri üçün tamamilə açıqdır ki, bu da onun nəzərdə tutulduğu tələblərə cavab verməyən aydın texniki çatışmazlıqdır.
Libra HotStuff BFT ödəniş sistemi üçün tələb olunan ötürmə qabiliyyətinə nail ola bilmir
Böyük Britaniyada BAC kimi klirinq sistemləri ayda təxminən 580 əməliyyatı idarə etməyə qadirdir. Eyni zamanda, Visa kimi yüksək optimallaşdırılmış sistemlər gündə 000 əməliyyatı emal edə bilir. Performans əməliyyatın ölçüsündən, şəbəkə marşrutundan, sistem yükündən və asılı olaraq dəyişir
Tərəzi daxili köçürmələr üçün həqiqətən problem olmayan problemləri həll etməyə çalışır, çünki milli dövlətlər son on ildə öz klirinq infrastrukturunu modernləşdirmişlər. Avropa Birliyindəki pərakəndə istehlakçılar üçün pul köçürmək heç də problem deyil. Ənənəvi infrastrukturda bunu standart smartfonla saniyələr ərzində etmək olar. Böyük korporativ köçürmələr üçün böyük məbləğdə pulların köçürülməsi ilə bağlı müxtəlif mexanizmlər və qaydalar mövcuddur.
Müvafiq yurisdiksiyalar arasında qayda və tələblərdəki fərqlər istisna olmaqla, sərhədyanı ödənişlərin də dərhal emal oluna bilməməsinin heç bir texniki səbəbi yoxdur. Əgər əməliyyat zəncirinin müxtəlif mərhələlərində bir neçə dəfə zəruri qabaqlayıcı tədbirlər (müştərilərin lazımi müayinəsi, sanksiyaların yoxlanılması və s.) həyata keçirilirsə, bu, əməliyyatın gecikməsinə səbəb ola bilər. Lakin bu gecikmə texnologiyanın deyil, sırf tənzimləyici qanunvericiliyin və uyğunluğun funksiyasıdır.
İstehlakçılar üçün İngiltərə əməliyyatının bir neçə saniyə ərzində silinməməsi üçün heç bir səbəb yoxdur. AB-də pərakəndə ticarət əməliyyatları həqiqətən yavaşlayır
Tərəzi Move dili yanlışdır
Ağ kağızda Move adlı yeni, sınanmamış dil haqqında cəsarətli iddialar irəli sürülür. Bu ifadələr proqramlaşdırma dili nəzəriyyəsi (PLT) baxımından olduqca şübhəlidir.
Move, Libra blokçeynində xüsusi əməliyyat məntiqi və ağıllı müqavilələrin həyata keçirilməsi üçün yeni proqramlaşdırma dilidir. Tərəzi bir gün milyardlarla insana xidmət etməyi hədəflədiyi üçün Move təhlükəsizliklə əsas prioritet kimi nəzərdə tutulmuşdur.
Move-un əsas xüsusiyyəti xətti məntiqdən ilhamlanan semantika ilə ixtiyari resurs növlərini müəyyən etmək bacarığıdır.
İctimai blokçeynlərdə ağıllı müqavilələr eskrou hesabları, çirkli pulların yuyulması, birjadankənar tokenlərin buraxılması və qumar oyunları ilə ictimai şəbəkələrin məntiqi ilə üzləşir. Bütün bunlar akademik nöqteyi-nəzərdən PHP müəllifini dahi kimi göstərən Solidity adlı heyrətamiz dərəcədə zəif dizayn edilmiş dildə edilir. Qəribədir ki, Facebook-dan gələn yeni dilin bu texnologiyalarla heç bir əlaqəsi yoxdur, çünki bu, əslində qaranlıq müəssisə məqsədləri üçün nəzərdə tutulmuş skript dilidir.
Şəxsi paylanmış kitablarda ağıllı müqavilələr aydın tərif və ya məqsədə çox əhəmiyyət vermədən məsləhətçilər tərəfindən atılan şərtlərdən biridir. Müəssisə proqram təminatı məsləhətçiləri adətən qeyri-müəyyənlikdən pul qazanırlar və ağıllı müqavilələr korporativ qaranlıqlığın apoteozudur, çünki onlar hərfi mənada hər hansı bir şey kimi müəyyən edilə bilər.
Onun təhlükəsizliyi ilə bağlı iddialar irəli sürdükdən sonra dilin semantikasına baxmaq lazımdır. Proqramlaşdırma dili nəzəriyyəsində düzgünlük adətən iki fərqli sübutdan ibarətdir: dil üçün qiymətləndirmə qaydalarının bütün məkanının uyğunluğunu müəyyən edən “tərəqqi” və “mühafizə”. Daha dəqiq desək, tip nəzəriyyəsində funksiya öz arqumentindən tam olaraq bir dəfə istifadə edərsə “xətti”, ən çox bir dəfə istifadə edərsə “affin” olur. Xətti tipli sistem elan edilmiş xətti funksiyanın bütün funksiya alt ifadələrinə növlər təyin etməklə və zənglərin harada edildiyini izləməklə həqiqətən xətti olduğuna statik zəmanət verir. Bu sübut etmək üçün incə bir xüsusiyyətdir və bütün proqram üçün həyata keçirmək asan deyil. Xətti tipləmə hələ də çox akademik bir iş sahəsidir, Təmizdə tip unikallığının və Rustda tip mülkiyyətinin tətbiqindən təsirlənir. Qlazqo Haskell Kompilyatoruna xətti tiplər əlavə etmək üçün bəzi ilkin təkliflər var.
Move-un xətti tiplərdən istifadə ilə bağlı bəyanatı tərtibçiyə əsassız bir dalış kimi görünür, çünki orada
Bundan əlavə, güman edilən təhlükəsiz dilin formal semantikası nə icrada, nə də sənəddə heç bir yerdə görünmür. Dil Coq və ya İzabelledə düzgün semantikanın tam sübutunu tapmaq üçün kifayət qədər kiçikdir. Əslində, son on ildə icad edilmiş müasir vasitələrlə baytkoda sübut köçürmə ilə başdan sona tam çevrilmə kompilyatorunu həyata keçirmək olduqca mümkündür. Bizdən başlayaraq bunu necə edəcəyimizi bilirik
Proqramlaşdırma dili nəzəriyyəsi nöqteyi-nəzərindən, Move-un etibarlı və təhlükəsiz bir dil olması iddiasını sınamaq mümkün deyil, çünki bu iddialar faktiki dəlildən daha çox sırf əl yelləmək və marketinqdir. Bu, milyardlarla dollarlıq əməliyyatların işlənməsi tələb olunan bir dil layihəsi üçün həyəcan verici bir vəziyyətdir.
Tərəzi kriptoqrafiyası qüsurludur
Təhlükəsiz kriptosistemlərin yaradılması çox çətin bir mühəndislik problemidir və təhlükəli kodla işə yaxşı dozada sağlam paranoya ilə yanaşmaq həmişə ən yaxşısıdır. Bu sahədə böyük irəliləyişlər var, məsələn Microsoft Everest layihəsi, hansı ki, yoxlanıla bilən təhlükəsizlik sistemi qurur.
Tərəzi layihəsi
Tərəzi kitabxanası daha da eksperimental olur və kənara çıxır
Güman etmək lazımdır ki, bütün bu kriptoqrafik yığın, əksi sübut edilənə qədər müxtəlif hücumlara qarşı həssasdır. Facebook-un məşhur “Move Fast and Break Things” modeli müştərinin maliyyə məlumatlarını emal edən kriptoqrafik alətlərə tətbiq edilə bilməz.
Tərəzi istehlakçıların müdafiəsi mexanizmlərini tətbiq edə bilmir
Ödəniş sisteminin fərqli bir xüsusiyyəti, ödəniş məhkəmə iddiası ilə ləğv edildikdə və ya təsadüfi və ya sistem nasazlığına səbəb olarsa, əməliyyatı geri qaytarmaq imkanıdır. Libra sistemi "tam" olmaq üçün nəzərdə tutulmuşdur və ödənişin ləğvi üçün əməliyyat növü daxil deyil. Böyük Britaniyada £100 ilə 30,000 funt sterlinq arasında olan bütün ödənişlər İstehlak Krediti Aktına tabedir. Bu o deməkdir ki, alınan məhsulda problem yarandıqda və ya ödənişi alan şəxs xidmət göstərmədikdə, ödəniş sistemi satıcı ilə məsuliyyəti bölüşür. Oxşar qaydalar Aİ, Asiya və Şimali Amerikada da tətbiq olunur.
Tərəzilərin hazırkı dizaynında bu qanunlara riayət etmək üçün protokol yoxdur və onun yaradılması üçün dəqiq bir plan yoxdur. Daha da pisi, memarlıq nöqteyi-nəzərindən, Merkle sürücüsünün vəziyyətinə əsaslanan nüvənin autentifikasiya edilmiş məlumat strukturunun sonluğu heç bir mexanizmə nüvəni yenidən dizayn etmədən belə bir protokol yaratmağa imkan vermir.
Bu layihənin texniki baxışını apardıqdan sonra belə nəticəyə gələ bilərik ki, o, sadəcə olaraq heç bir hörmətli paylanmış sistem tədqiqatı və ya maliyyə mühəndisliyi jurnalında toplanmadan keçməyəcək. Qlobal pul siyasətini dəyişdirməyə çalışmaq üçün etibarlı şəbəkə yaratmaq və ictimaiyyətin və tənzimləyicilərin etibar edə biləcəyi istifadəçi məlumatlarının təhlükəsiz işlənməsi üçün böyük həcmdə texniki iş görülməlidir.
Facebook-un bu texniki problemləri aradan qaldırmaq üçün dizaynında lazımi işləri gördüyünə və ya mövcud infrastruktura nisbətən hər hansı texniki üstünlüklərə malik olduğuna inanmaq üçün heç bir əsas görmürəm. Bir şirkətin innovasiyaları araşdırmaq üçün tənzimləmə çevikliyinə ehtiyacı olduğunu söyləmək, ilk növbədə onları etməmək üçün bəhanə deyil.
Mənbə: www.habr.com