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

Хоёр жилийн дараа би Хаскелл болон математикийн тухай ердийн уйтгартай лекцүүдээс ялгаатай нийтлэл бичихээр блогтоо буцаж ирэв. Би сүүлийн хэдэн жил ЕХ-нд финтек дээр ажиллаж байгаа бөгөөд технологийн хэвлэл мэдээллийн хэрэгслээр бага анхаарал хандуулсан сэдвийн талаар бичих цаг нь болсон юм шиг байна.

Facebook саяхан Libra нэртэй "санхүүгийн үйлчилгээний шинэ платформ"-оо гаргасан. Энэ нь "блокчэйн" дээр удирдаж, Швейцарь улсаас удирддаг мөнгөний санд хадгалагддаг олон улсын мөнгөн тэмдэгтийн сагсанд суурилсан дижитал төлбөр тооцооны систем юм. Төслийн зорилго нь амбицтай бөгөөд томоохон хэмжээний геополитикийн үр дагаврыг дагуулдаг.

В Санхүүгийн цаг и Нью-Йорк Таймс Санал болгож буй санхүүгийн тогтолцооны цаана байгаа мөнгө, эдийн засгийн үндэслэлгүй таамаглалын талаар олон ухаалаг нийтлэлүүд. Гэхдээ техникийн үүднээс дүн шинжилгээ хийх чадвартай мэргэжилтэн хангалтгүй байна. Санхүүгийн дэд бүтэц дээр ажиллаж, ажлынхаа талаар олон нийтэд ярьдаг хүмүүс тийм ч олон байдаггүй, тиймээс энэ төсөл нь технологийн хэвлэл мэдээллийн хэрэгслээр тийм ч их мэдээлэл авдаггүй ч дотоод ертөнц нь нээлттэй байдаг. Би хадгалах газар дахь нээлттэй эх сурвалжийг хэлж байна Libra и Калибра байгууллага.

Дэлхий нийтэд нээлттэй зүйл бол дэлхийн төлбөрийн дэд бүтцийн найдвартай платформ болох архитектурын хувьд шизофренитэй холбоотой олдвор юм.

Хэрэв та кодын бааз руу шумбах юм бол системийн бодит хэрэгжилт нь заасан зорилгоос бүрэн салж, хамгийн хачирхалтай байдлаар илэрдэг. Энэ төсөл нь компанийн сонирхолтой түүхтэй гэдэгт итгэлтэй байна. Тиймээс үүнийг хичээнгүйлэн боловсруулсан гэж үзэх нь логик юм, гэхдээ бодит байдал дээр би бүхэл бүтэн системийг эвдэж, хэрэглэгчдийг эрсдэлд оруулж буй архитектурын үнэхээр хачирхалтай шийдлүүдийг харж байна.

Би компанийн хувьд Facebook-ийн талаар бодитой бодолтой байгаа дүр эсгэхгүй. Мэдээллийн технологийн салбарын цөөхөн хүн түүнийг өрөвдөх сэтгэлээр хардаг. Гэхдээ түүний мэдэгдэл, нийтлэгдсэн кодыг харьцуулж үзэхэд уг зорилго нь үндсэндээ хууран мэхлэлт гэдгийг тодорхой харуулж байна. Товчхондоо энэ төсөл хэнд ч эрх мэдэл өгөхгүй. Тэрээр зар сурталчилгааны бизнес нь дуулиан шуугиан, авилгалд автсан компаний хяналтад бүхэлдээ хэвээр үлдэх бөгөөд амьд үлдэхийн тулд төлбөр, зээлийн оноогоо төрөлжүүлэхийг оролдохоос өөр аргагүй болно. Урт хугацааны тодорхой зорилго бол хэрэглэгчдийн хувийн сошиал медиа мэдээлэлд тулгуурлан зээл авахад нь мэдээллийн зуучлагч, зуучлагчийн үүрэг гүйцэтгэх явдал юм. Энэ бол зохих анхаарлыг нь татдаггүй үнэхээр аймшигтай, харанхуй түүх юм.

Энэ түүхийн цорын ганц аврах ач ивээл нь тэдний бүтээсэн олдвор нь даалгаварт тохиромжгүй, инээдэмтэй тул үүнийг зөвхөн бардам зан гэж харж болно. Энэ төсөлд хэд хэдэн томоохон архитектурын алдаа бий:

Хандалтын хяналтын сүлжээнд Византийн генералуудын асуудлыг шийдэх нь үл нийцэх загвар юм

Византийн генералуудын асуудал бол тархсан системийн судалгааны нэлээд явцуу талбар юм. Энэ нь сүлжээний системийн үйл ажиллагаанд чухал ач холбогдолтой залруулах арга хэмжээ авахын зэрэгцээ санамсаргүй бүрэлдэхүүн хэсгүүдийн эвдрэлийг тэсвэрлэх чадварыг тодорхойлдог. Тохиромжтой сүлжээ нь дахин эхлүүлэх, таслах, хорлонтой ачаалал, удирдлагын сонгуульд хорлонтой санал өгөх зэрэг хэд хэдэн төрлийн халдлагыг тэсвэрлэх ёстой. Энэ бол Жинлүүрийн архитектурын гол шийдвэр бөгөөд энэ нь огт утгагүй юм.

Энэхүү нэмэлт бүтцийн цаг хугацааны нарийн төвөгтэй байдал нь алгоритмаас хамаарна. Византийн генералуудын асуудлыг шийдвэрлэх Paxos болон Raft протоколуудын хувилбаруудын талаар маш олон ном зохиол байдаг боловч эдгээр бүх бүтэц нь харилцаа холбооны нэмэлт зардлыг бий болгодог. Архитектурын шизофрени Facebook Libra чуулгыг хадгалах. Жинлүүрийн хувьд тэд харилцааны хамгийн өндөр өртөгтэй алгоритмыг сонгосон Архитектурын шизофрени Facebook Libra удирдлага бүтэлгүйтсэн тохиолдолд. Мөн олон төрлийн сүлжээний доголдолтой холбоотой удирдагчдыг дахин сонгох боломжит нэмэлт зардал бий.

Өндөр зохицуулалттай үндэстэн дамнасан корпорациудын консорциумд үйл ажиллагаа явуулдаг, бүх хэрэглэгчид Facebook-ээр гарын үсэг зурсан кодтой, сүлжээнд нэвтрэх эрхийг Facebook-ээр удирддаг системийн хувьд хорлонтой оролцогчдыг зөвшилцлийн түвшинд авч үзэх нь утгагүй юм. Энэ систем нь дагаж мөрдөж байгаа эсэхийг шалгахын тулд аудитын тогтмол мөрийг хөтлөхөөс илүү Византийн генералуудын асуудлыг шийдэж байгаа нь тодорхойгүй байна. Mastercard эсвэл Andressen Horrowitz-ийн ажиллуулдаг Libra зангилаа гэнэт хортой код ажиллуулж эхлэх магадлал нь хачирхалтай хувилбар бөгөөд үүнийг зөвхөн протоколын бүрэн бүтэн байдал, техникийн бус (жишээ нь хууль эрх зүйн) арга хэрэгслээр хангах замаар шийдэх нь илүү дээр юм.

Конгресст өгсөн гэрчлэл нь уг бүтээгдэхүүнийг WeChat, Alipay, M-Pesa зэрэг олон улсын төлбөрийн шинэ протоколуудтай өрсөлдөхүйц гэж үзсэн. Гэсэн хэдий ч эдгээр системүүдийн аль нь ч Византийн генералуудын асуудлыг шийдэхийн тулд валидаторын усан сан дээр ажиллахаар төлөвлөөгүй болно. Тэдгээр нь энгийн дүрэм журмын дагуу утсыг хийдэг уламжлалт өндөр зурвасын автобусанд зориулагдсан. Энэ бол төлбөрийн системийг зохион бүтээх байгалийн арга юм. Сайхан зохион бүтээсэн төлбөрийн систем нь давхар зардал, салаа асуудалтай тулгарахгүй.

Зөвшилцлийн алгоритмын нэмэлт зардал нь ямар ч асуудлыг шийдэхгүй бөгөөд зөвхөн энэ хэрэглээний тохиолдолд зориулагдаагүй нийтийн блокчейн ачааны шүтэхээс өөр шалтгаангүйгээр системийн нэвтрүүлэх чадварыг хязгаарладаг.

Libra-д гүйлгээний нууцлал байхгүй

Баримт бичгийн дагуу системийг харгалзан боловсруулсан болно зохиомол нэр, өөрөөр хэлбэл, протоколд ашигласан хаягууд нь зууван муруй дээрх нийтийн түлхүүрүүдээс авсан бөгөөд дансны тухай мета өгөгдөл агуулаагүй болно. Гэсэн хэдий ч байгууллагын засаглалын бүтцийн тодорхойлолт эсвэл протоколын аль ч хэсэгт гүйлгээнд хамаарах эдийн засгийн мэдээллийг баталгаажуулагчдаас хэрхэн нуухыг заагаагүй болно. Энэхүү систем нь Европын болон АНУ-ын банкны нууцын тухай хууль тогтоомжийн дагуу эдийн засгийн нарийн ширийн зүйлийг мэдэхгүй байх ёсгүй олон тооны гадны талуудад гүйлгээг өргөн хүрээнд хуулбарлах зорилготой юм.

Улс орон даяар өгөгдлийн бодлогыг зохицуулахад хэцүү байдаг, ялангуяа мэдээллийн хамгаалалт, нууцлалын талаарх соёлын өөр өөр үзэл бодолтой өөр өөр харьяаллын дагуу өөр өөр хууль тогтоомжууд байдаг. Протокол нь анхдагч байдлаар консорциумын гишүүдэд бүрэн нээлттэй байдаг бөгөөд энэ нь түүний боловсруулсан шаардлагыг хангаагүй техникийн тодорхой дутагдал юм.

Libra HotStuff BFT нь төлбөрийн системд шаардагдах дамжуулах чадварыг хангаж чадахгүй байна

Их Британид BAC гэх мэт клирингийн системүүд сард 580 гүйлгээ хийх чадвартай. Үүний зэрэгцээ Visa зэрэг өндөр оновчтой системүүд өдөрт 000 гүйлгээг боловсруулах боломжтой. Гүйцэтгэл нь гүйлгээний хэмжээ, сүлжээний чиглүүлэлт, системийн ачаалал, болон зэргээс хамаарч өөр өөр байдаг AML шалгалт (мөнгө угаахтай тэмцэх, мөнгө угаах схем).

Сүүлийн 10 жилийн хугацаанд улс орнууд клирингийн дэд бүтцээ шинэчилсэн тул Libra нь дотоодын шилжүүлгийн хувьд үнэхээр асуудал биш асуудлуудыг шийдвэрлэхийг хичээж байна. Европын холбооны жижиглэнгийн хэрэглэгчдийн хувьд мөнгө шилжүүлэх нь огт асуудал биш юм. Уламжлалт дэд бүтцэд үүнийг стандарт ухаалаг гар утсаар хэдхэн секундын дотор хийж болно. Томоохон корпорацийн шилжүүлгийн хувьд их хэмжээний мөнгө шилжүүлэхтэй холбоотой янз бүрийн механизм, дүрэм журам байдаг.

Холбогдох хууль тогтоомжийн хоорондын дүрэм, шаардлагын зөрүүгээс бусад тохиолдолд хил дамнасан төлбөрийг шууд гүйцэтгэх боломжгүй техникийн шалтгаан байхгүй. Урьдчилан сэргийлэх шаардлагатай арга хэмжээг (харилцагчийн зохих шалгалт, хориг арга хэмжээг шалгах гэх мэт) гүйлгээний гинжин хэлхээний янз бүрийн үе шатанд олон удаа гүйцэтгэсэн бол энэ нь гүйлгээг хойшлуулахад хүргэж болзошгүй юм. Гэсэн хэдий ч энэ удаашрал нь технологи биш, зөвхөн зохицуулалтын хууль тогтоомж, дагаж мөрдөх үйл ажиллагаа юм.

Хэрэглэгчдийн хувьд Их Британийн гүйлгээ хэдхэн секундын дотор арилахгүй байх шалтгаан байхгүй. ЕХ дахь жижиглэнгийн худалдааны гүйлгээ үнэхээр удааширч байна KYC шалгах (Хэрэглэгчээ мэдээрэй) болон засгийн газар болон зохицуулагчдаас тогтоосон AML хязгаарлалтууд нь Libra-ийн төлбөрт адил хамаарна. Хэдийгээр Facebook хил дамнасан дамжуулалт болон хувийн мэдээлэл дамжуулахад тулгарч буй саад бэрхшээлийг даван туулж байсан ч санал болгож буй загвар нь дэлхийн гүйлгээний хүчин чадлаас хэдэн зуун жилийн зайтай бөгөөд эхнээс нь дахин дизайн хийх шаардлагатай болно.

Libra Move хэл буруу байна

Цагаан цаас нь Move хэмээх шинэ, шалгагдаагүй хэлний талаар зоримог мэдэгдлийг дэвшүүлдэг. Эдгээр мэдэгдэл нь програмчлалын хэлний онолын (PLT) үүднээс нэлээд эргэлзээтэй юм.

Move нь Libra блокчейн дээр захиалгат гүйлгээний логик болон ухаалаг гэрээг хэрэгжүүлэх шинэ програмчлалын хэл юм. Libra нь нэг л өдөр олон тэрбум хүнд үйлчлэх зорилготой учраас Move нь аюулгүй байдлыг нэн тэргүүнд тавьдаг.

Move-ийн гол онцлог нь шугаман логикоор өдөөгдсөн семантикийн тусламжтайгаар дурын нөөцийн төрлийг тодорхойлох чадвар юм.

Олон нийтийн блокчэйнд ухаалаг гэрээ нь эскроу данс, мөнгө угаах, OTC жетон гаргах, мөрийтэй тоглоом тоглох зэрэг олон нийтийн сүлжээний логиктой тулгардаг. Энэ бүхэн нь Solidity хэмээх гайхалтай муу хийцтэй хэлээр хийгдсэн бөгөөд энэ нь эрдэм шинжилгээний үүднээс РНР-ийн зохиогчийг суут ухаантан мэт харагдуулдаг. Хачирхалтай нь, Facebook-ийн шинэ хэл нь эдгээр технологитой ямар ч холбоогүй юм шиг санагдаж байна, учир нь энэ нь үнэндээ тодорхой бус бизнесийн зорилгоор зориулагдсан скрипт хэл юм.

Хувийн тараасан дэвтэрт ухаалаг гэрээ нь тодорхой тодорхойлолт, зорилгыг үл тоомсорлодог зөвлөхүүдийн ашигладаг нэр томъёоны нэг юм. Аж ахуйн нэгжийн програм хангамжийн зөвлөхүүд ихэвчлэн хоёрдмол байдлаас мөнгө олдог бөгөөд ухаалаг гэрээнүүд нь корпорацийн харанхуйн үзлийг үгүйсгэдэг, учир нь тэдгээрийг юу ч гэж тодорхойлж болно.

Түүний аюулгүй байдлын талаар мэдэгдэл хийсний дараа бид хэлний семантикийг харах хэрэгтэй. Програмчлалын хэлний онолын зөв байдал нь тухайн хэлний үнэлгээний дүрмийн бүх орон зайн нийцтэй байдлыг тодорхойлдог "хөгжил" ба "хадгалалт" гэсэн хоёр өөр нотолгооноос бүрддэг. Бүр тодруулбал, төрлийн онолд функц нь аргументаа яг нэг удаа ашиглавал "шугаман", хамгийн ихдээ нэг удаа хэрэглэвэл "аффин" болно. Шугаман төрлийн систем нь бүх функцийн дэд илэрхийлэлд төрлийг оноож, хаана дуудлага хийгдэж байгааг хянах замаар зарласан шугаман функц үнэхээр шугаман байна гэсэн статик баталгаа өгдөг. Энэ бол нотлох нарийн шинж чанар бөгөөд бүхэл бүтэн хөтөлбөрийг хэрэгжүүлэхэд тийм ч хялбар биш юм. Шугаман шивэх нь маш эрдэм шинжилгээний салбар хэвээр байгаа бөгөөд "Clean"-д төрлийн өвөрмөц байдал, Rust-д төрлийн өмчлөлийн хэрэгжилт нөлөөлсөн. Glasgow Haskell Compiler-д шугаман төрлийг нэмэх зарим урьдчилсан саналууд байдаг.

Move-ийн шугаман төрлүүдийг ашиглах тухай мэдэгдэл нь хөрвүүлэгч рүү үндэслэлгүй шумбаж байгаа мэт санагдаж байна. Ийм төрлийн шалгах логик байхгүй. Хэн нэгний мэдэж байгаагаар цагаан цаасан дээр Жирард, Пирс нарын каноник зохиолуудыг иш татсан бөгөөд бодит хэрэгжилтэд үүнтэй төстэй зүйл байхгүй.

Нэмж дурдахад, аюулгүй гэж үздэг хэлний албан ёсны семантик нь хэрэгжилт эсвэл баримт бичгийн аль алинд нь байдаггүй. Хэл нь Coq эсвэл Isabelle-ийн зөв семантикийн бүрэн нотолгоог олоход хангалттай жижиг юм. Бодит байдал дээр байт код руу нотлох дамжуулалт бүхий бүрэн хөрвүүлэх хөрвүүлэгчийг сүүлийн арван жилд зохион бүтээсэн орчин үеийн хэрэгслээр хэрэгжүүлэх бүрэн боломжтой юм. Бид үүнийг яаж хийхийг мэддэг, эхлээд Жорж Некула, Питер Ли нарын бүтээл буцаж 1996 онд.

Програмчлалын хэлний онолын үүднээс авч үзвэл, Move нь найдвартай, найдвартай хэл гэдгийг шалгах боломжгүй, учир нь эдгээр нэхэмжлэл нь бодит нотолгоо гэхээсээ илүү цэвэр гар даллах, маркетинг юм. Энэ нь олон тэрбум долларын гүйлгээг боловсруулахыг хүсч буй хэлний төслийн хувьд түгшүүртэй нөхцөл байдал юм.

Libra криптограф нь алдаатай байдаг

Аюулгүй криптосистемийг бий болгох нь маш хэцүү инженерийн асуудал бөгөөд эрүүл паранойны сайн тунгаар аюултай кодтой ажиллах нь үргэлж хамгийн сайн арга юм. Баталгаажуулж болох аюулгүй байдлыг бий болгож буй Microsoft Everest төсөл гэх мэт энэ салбарт томоохон нээлтүүд бий. TLS стек. Баталгаажуулж болох командуудыг үүсгэх хэрэгслүүд аль хэдийн байгаа. Хэдийгээр энэ нь үнэтэй ч Facebook-ийн эдийн засгийн чадавхиас хэтэрдэггүй нь тодорхой. Гэвч дэлхийн санхүүгийн системийн найдвартай суурь хэмээн зарласан уг төсөлд тус багийнхан оролцохгүй байхаар шийджээ.

Жинлүүрийн төсөл хамаарна Сүүлийн хэдэн жилд л гарч ирсэн туршилтын криптосистемийг бий болгох хэд хэдэн нэлээд шинэ номын сангаас. Эдгээр номын сангийн аль нь ч аудит хийгээгүй бөгөөд ил тод болгох стандарт бодлогогүй тул дараах хэрэгслүүдийн хамаарал аюулгүй эсэхийг хэлэх боломжгүй юм. Ялангуяа зарим үндсэн номын сангуудын хувьд хажуугийн сувгийн халдлага болон цаг хугацааны халдлагаас хамгаалах талаар тодорхой зүйл байдаггүй.

  1. ed25519-далек
  2. муруй25519-далек

Жинлүүрийн номын сан нь илүү туршилтын шинж чанартай болж, үүнээс цааш явдаг стандарт загвар, баталгаажуулах санамсаргүй функцууд (VRFs), хоёр шугаман хосууд, босго гарын үсэг зэрэг маш шинэ техникүүдийг ашиглах. Эдгээр арга, сангууд нь боломжийн байж болох ч бүгдийг нэг системд нэгтгэх нь довтолгооны гадаргуугийн талбайн талаар ноцтой асуудал үүсгэдэг. Эдгээр бүх шинэ хэрэгсэл, арга техникийг хослуулсан нь аюулгүй байдлыг батлах нарийн төвөгтэй байдлыг ихээхэн нэмэгдүүлдэг.

Энэ нь бүхэлдээ криптографийн стек нь өөрөөр нотлогдох хүртэл янз бүрийн халдлагад өртөмтгий гэж үзэх нь зүйтэй. Facebook-ийн алдарт 'Move Fast and Break Things' загварыг хэрэглэгчийн санхүүгийн мэдээллийг боловсруулдаг криптографийн хэрэгсэлд ашиглах боломжгүй.

Жинлүүр хэрэглэгчийн эрхийг хамгаалах механизмыг хэрэгжүүлж чадахгүй байна

Төлбөрийн системийн онцлог шинж чанар нь төлбөрийг шүүхээр цуцалсан эсвэл санамсаргүй эсвэл системийн доголдолд хүргэсэн тохиолдолд гүйлгээг буцаах чадвар юм. Libra систем нь "бүрэн" байхаар бүтээгдсэн бөгөөд төлбөрийг цуцлах гүйлгээний төрлийг оруулаагүй болно. Их Британид £100-аас 30,000 фунт стерлинг хүртэлх бүх төлбөрийг Хэрэглээний зээлийн тухай хуульд хамруулдаг. Энэ нь худалдан авсан бүтээгдэхүүнтэй холбоотой асуудал гарсан эсвэл төлбөр хүлээн авагч үйлчилгээ үзүүлэхгүй бол төлбөрийн систем нь худалдагчтай хариуцлага хүлээнэ гэсэн үг юм. Үүнтэй төстэй дүрэм ЕХ, Ази, Хойд Америкт үйлчилдэг.

Libra-ийн одоогийн загварт эдгээр хуулийг дагаж мөрдөх протокол байхгүй бөгөөд үүнийг бий болгох тодорхой төлөвлөгөө байхгүй байна. Архитектурын үүднээс авч үзвэл Меркле хөтөчийн төлөвт суурилсан цөмийн баталгаажсан өгөгдлийн бүтцийн эцсийн байдал нь цөмийг дахин төлөвлөхгүйгээр ийм протокол үүсгэх ямар ч механизмыг зөвшөөрдөггүй.

Энэхүү төслийн техникийн шалгалтыг хийсний дараа бид ямар ч нэр хүндтэй тархсан системийн судалгаа эсвэл санхүүгийн инженерийн сэтгүүлд шалгалт өгөхгүй гэж бид дүгнэж болно. Дэлхийн мөнгөний бодлогыг өөрчлөхийг оролдохын тулд олон нийт болон зохицуулагчид итгэж болохуйц найдвартай сүлжээг бий болгох, хэрэглэгчийн мэдээллийг найдвартай боловсруулах техникийн асар их ажил хийх шаардлагатай байна.

Фэйсбүүк нь эдгээр техникийн асуудлуудыг даван туулахын тулд дизайндаа шаардлагатай ажлыг хийсэн эсвэл одоогийн дэд бүтцээс техникийн давуу талтай гэж үзэх үндэслэл надад харагдахгүй байна. Компанид инновацийг судлахын тулд зохицуулалтын уян хатан байдал хэрэгтэй гэж хэлэх нь эхлээд үүнийг хийхгүй байх шалтаг биш юм.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх