Хоёр жилийн дараа би Хаскелл болон математикийн тухай ердийн уйтгартай лекцүүдээс ялгаатай нийтлэл бичихээр блогтоо буцаж ирэв. Би сүүлийн хэдэн жил ЕХ-нд финтек дээр ажиллаж байгаа бөгөөд технологийн хэвлэл мэдээллийн хэрэгслээр бага анхаарал хандуулсан сэдвийн талаар бичих цаг нь болсон юм шиг байна.
Facebook саяхан Libra нэртэй "санхүүгийн үйлчилгээний шинэ платформ"-оо гаргасан. Энэ нь "блокчэйн" дээр удирдаж, Швейцарь улсаас удирддаг мөнгөний санд хадгалагддаг олон улсын мөнгөн тэмдэгтийн сагсанд суурилсан дижитал төлбөр тооцооны систем юм. Төслийн зорилго нь амбицтай бөгөөд томоохон хэмжээний геополитикийн үр дагаврыг дагуулдаг.
В
Дэлхий нийтэд нээлттэй зүйл бол дэлхийн төлбөрийн дэд бүтцийн найдвартай платформ болох архитектурын хувьд шизофренитэй холбоотой олдвор юм.
Хэрэв та кодын бааз руу шумбах юм бол системийн бодит хэрэгжилт нь заасан зорилгоос бүрэн салж, хамгийн хачирхалтай байдлаар илэрдэг. Энэ төсөл нь компанийн сонирхолтой түүхтэй гэдэгт итгэлтэй байна. Тиймээс үүнийг хичээнгүйлэн боловсруулсан гэж үзэх нь логик юм, гэхдээ бодит байдал дээр би бүхэл бүтэн системийг эвдэж, хэрэглэгчдийг эрсдэлд оруулж буй архитектурын үнэхээр хачирхалтай шийдлүүдийг харж байна.
Би компанийн хувьд Facebook-ийн талаар бодитой бодолтой байгаа дүр эсгэхгүй. Мэдээллийн технологийн салбарын цөөхөн хүн түүнийг өрөвдөх сэтгэлээр хардаг. Гэхдээ түүний мэдэгдэл, нийтлэгдсэн кодыг харьцуулж үзэхэд уг зорилго нь үндсэндээ хууран мэхлэлт гэдгийг тодорхой харуулж байна. Товчхондоо энэ төсөл хэнд ч эрх мэдэл өгөхгүй. Тэрээр зар сурталчилгааны бизнес нь дуулиан шуугиан, авилгалд автсан компаний хяналтад бүхэлдээ хэвээр үлдэх бөгөөд амьд үлдэхийн тулд төлбөр, зээлийн оноогоо төрөлжүүлэхийг оролдохоос өөр аргагүй болно. Урт хугацааны тодорхой зорилго бол хэрэглэгчдийн хувийн сошиал медиа мэдээлэлд тулгуурлан зээл авахад нь мэдээллийн зуучлагч, зуучлагчийн үүрэг гүйцэтгэх явдал юм. Энэ бол зохих анхаарлыг нь татдаггүй үнэхээр аймшигтай, харанхуй түүх юм.
Энэ түүхийн цорын ганц аврах ач ивээл нь тэдний бүтээсэн олдвор нь даалгаварт тохиромжгүй, инээдэмтэй тул үүнийг зөвхөн бардам зан гэж харж болно. Энэ төсөлд хэд хэдэн томоохон архитектурын алдаа бий:
Хандалтын хяналтын сүлжээнд Византийн генералуудын асуудлыг шийдэх нь үл нийцэх загвар юм
Византийн генералуудын асуудал бол тархсан системийн судалгааны нэлээд явцуу талбар юм. Энэ нь сүлжээний системийн үйл ажиллагаанд чухал ач холбогдолтой залруулах арга хэмжээ авахын зэрэгцээ санамсаргүй бүрэлдэхүүн хэсгүүдийн эвдрэлийг тэсвэрлэх чадварыг тодорхойлдог. Тохиромжтой сүлжээ нь дахин эхлүүлэх, таслах, хорлонтой ачаалал, удирдлагын сонгуульд хорлонтой санал өгөх зэрэг хэд хэдэн төрлийн халдлагыг тэсвэрлэх ёстой. Энэ бол Жинлүүрийн архитектурын гол шийдвэр бөгөөд энэ нь огт утгагүй юм.
Энэхүү нэмэлт бүтцийн цаг хугацааны нарийн төвөгтэй байдал нь алгоритмаас хамаарна. Византийн генералуудын асуудлыг шийдвэрлэх Paxos болон Raft протоколуудын хувилбаруудын талаар маш олон ном зохиол байдаг боловч эдгээр бүх бүтэц нь харилцаа холбооны нэмэлт зардлыг бий болгодог. чуулгыг хадгалах. Жинлүүрийн хувьд тэд харилцааны хамгийн өндөр өртөгтэй алгоритмыг сонгосон удирдлага бүтэлгүйтсэн тохиолдолд. Мөн олон төрлийн сүлжээний доголдолтой холбоотой удирдагчдыг дахин сонгох боломжит нэмэлт зардал бий.
Өндөр зохицуулалттай үндэстэн дамнасан корпорациудын консорциумд үйл ажиллагаа явуулдаг, бүх хэрэглэгчид Facebook-ээр гарын үсэг зурсан кодтой, сүлжээнд нэвтрэх эрхийг Facebook-ээр удирддаг системийн хувьд хорлонтой оролцогчдыг зөвшилцлийн түвшинд авч үзэх нь утгагүй юм. Энэ систем нь дагаж мөрдөж байгаа эсэхийг шалгахын тулд аудитын тогтмол мөрийг хөтлөхөөс илүү Византийн генералуудын асуудлыг шийдэж байгаа нь тодорхойгүй байна. Mastercard эсвэл Andressen Horrowitz-ийн ажиллуулдаг Libra зангилаа гэнэт хортой код ажиллуулж эхлэх магадлал нь хачирхалтай хувилбар бөгөөд үүнийг зөвхөн протоколын бүрэн бүтэн байдал, техникийн бус (жишээ нь хууль эрх зүйн) арга хэрэгслээр хангах замаар шийдэх нь илүү дээр юм.
Конгресст өгсөн гэрчлэл нь уг бүтээгдэхүүнийг WeChat, Alipay, M-Pesa зэрэг олон улсын төлбөрийн шинэ протоколуудтай өрсөлдөхүйц гэж үзсэн. Гэсэн хэдий ч эдгээр системүүдийн аль нь ч Византийн генералуудын асуудлыг шийдэхийн тулд валидаторын усан сан дээр ажиллахаар төлөвлөөгүй болно. Тэдгээр нь энгийн дүрэм журмын дагуу утсыг хийдэг уламжлалт өндөр зурвасын автобусанд зориулагдсан. Энэ бол төлбөрийн системийг зохион бүтээх байгалийн арга юм. Сайхан зохион бүтээсэн төлбөрийн систем нь давхар зардал, салаа асуудалтай тулгарахгүй.
Зөвшилцлийн алгоритмын нэмэлт зардал нь ямар ч асуудлыг шийдэхгүй бөгөөд зөвхөн энэ хэрэглээний тохиолдолд зориулагдаагүй нийтийн блокчейн ачааны шүтэхээс өөр шалтгаангүйгээр системийн нэвтрүүлэх чадварыг хязгаарладаг.
Libra-д гүйлгээний нууцлал байхгүй
Баримт бичгийн дагуу системийг харгалзан боловсруулсан болно зохиомол нэр, өөрөөр хэлбэл, протоколд ашигласан хаягууд нь зууван муруй дээрх нийтийн түлхүүрүүдээс авсан бөгөөд дансны тухай мета өгөгдөл агуулаагүй болно. Гэсэн хэдий ч байгууллагын засаглалын бүтцийн тодорхойлолт эсвэл протоколын аль ч хэсэгт гүйлгээнд хамаарах эдийн засгийн мэдээллийг баталгаажуулагчдаас хэрхэн нуухыг заагаагүй болно. Энэхүү систем нь Европын болон АНУ-ын банкны нууцын тухай хууль тогтоомжийн дагуу эдийн засгийн нарийн ширийн зүйлийг мэдэхгүй байх ёсгүй олон тооны гадны талуудад гүйлгээг өргөн хүрээнд хуулбарлах зорилготой юм.
Улс орон даяар өгөгдлийн бодлогыг зохицуулахад хэцүү байдаг, ялангуяа мэдээллийн хамгаалалт, нууцлалын талаарх соёлын өөр өөр үзэл бодолтой өөр өөр харьяаллын дагуу өөр өөр хууль тогтоомжууд байдаг. Протокол нь анхдагч байдлаар консорциумын гишүүдэд бүрэн нээлттэй байдаг бөгөөд энэ нь түүний боловсруулсан шаардлагыг хангаагүй техникийн тодорхой дутагдал юм.
Libra HotStuff BFT нь төлбөрийн системд шаардагдах дамжуулах чадварыг хангаж чадахгүй байна
Их Британид BAC гэх мэт клирингийн системүүд сард 580 гүйлгээ хийх чадвартай. Үүний зэрэгцээ Visa зэрэг өндөр оновчтой системүүд өдөрт 000 гүйлгээг боловсруулах боломжтой. Гүйцэтгэл нь гүйлгээний хэмжээ, сүлжээний чиглүүлэлт, системийн ачаалал, болон зэргээс хамаарч өөр өөр байдаг
Сүүлийн 10 жилийн хугацаанд улс орнууд клирингийн дэд бүтцээ шинэчилсэн тул Libra нь дотоодын шилжүүлгийн хувьд үнэхээр асуудал биш асуудлуудыг шийдвэрлэхийг хичээж байна. Европын холбооны жижиглэнгийн хэрэглэгчдийн хувьд мөнгө шилжүүлэх нь огт асуудал биш юм. Уламжлалт дэд бүтцэд үүнийг стандарт ухаалаг гар утсаар хэдхэн секундын дотор хийж болно. Томоохон корпорацийн шилжүүлгийн хувьд их хэмжээний мөнгө шилжүүлэхтэй холбоотой янз бүрийн механизм, дүрэм журам байдаг.
Холбогдох хууль тогтоомжийн хоорондын дүрэм, шаардлагын зөрүүгээс бусад тохиолдолд хил дамнасан төлбөрийг шууд гүйцэтгэх боломжгүй техникийн шалтгаан байхгүй. Урьдчилан сэргийлэх шаардлагатай арга хэмжээг (харилцагчийн зохих шалгалт, хориг арга хэмжээг шалгах гэх мэт) гүйлгээний гинжин хэлхээний янз бүрийн үе шатанд олон удаа гүйцэтгэсэн бол энэ нь гүйлгээг хойшлуулахад хүргэж болзошгүй юм. Гэсэн хэдий ч энэ удаашрал нь технологи биш, зөвхөн зохицуулалтын хууль тогтоомж, дагаж мөрдөх үйл ажиллагаа юм.
Хэрэглэгчдийн хувьд Их Британийн гүйлгээ хэдхэн секундын дотор арилахгүй байх шалтгаан байхгүй. ЕХ дахь жижиглэнгийн худалдааны гүйлгээ үнэхээр удааширч байна
Libra Move хэл буруу байна
Цагаан цаас нь Move хэмээх шинэ, шалгагдаагүй хэлний талаар зоримог мэдэгдлийг дэвшүүлдэг. Эдгээр мэдэгдэл нь програмчлалын хэлний онолын (PLT) үүднээс нэлээд эргэлзээтэй юм.
Move нь Libra блокчейн дээр захиалгат гүйлгээний логик болон ухаалаг гэрээг хэрэгжүүлэх шинэ програмчлалын хэл юм. Libra нь нэг л өдөр олон тэрбум хүнд үйлчлэх зорилготой учраас Move нь аюулгүй байдлыг нэн тэргүүнд тавьдаг.
Move-ийн гол онцлог нь шугаман логикоор өдөөгдсөн семантикийн тусламжтайгаар дурын нөөцийн төрлийг тодорхойлох чадвар юм.
Олон нийтийн блокчэйнд ухаалаг гэрээ нь эскроу данс, мөнгө угаах, OTC жетон гаргах, мөрийтэй тоглоом тоглох зэрэг олон нийтийн сүлжээний логиктой тулгардаг. Энэ бүхэн нь Solidity хэмээх гайхалтай муу хийцтэй хэлээр хийгдсэн бөгөөд энэ нь эрдэм шинжилгээний үүднээс РНР-ийн зохиогчийг суут ухаантан мэт харагдуулдаг. Хачирхалтай нь, Facebook-ийн шинэ хэл нь эдгээр технологитой ямар ч холбоогүй юм шиг санагдаж байна, учир нь энэ нь үнэндээ тодорхой бус бизнесийн зорилгоор зориулагдсан скрипт хэл юм.
Хувийн тараасан дэвтэрт ухаалаг гэрээ нь тодорхой тодорхойлолт, зорилгыг үл тоомсорлодог зөвлөхүүдийн ашигладаг нэр томъёоны нэг юм. Аж ахуйн нэгжийн програм хангамжийн зөвлөхүүд ихэвчлэн хоёрдмол байдлаас мөнгө олдог бөгөөд ухаалаг гэрээнүүд нь корпорацийн харанхуйн үзлийг үгүйсгэдэг, учир нь тэдгээрийг юу ч гэж тодорхойлж болно.
Түүний аюулгүй байдлын талаар мэдэгдэл хийсний дараа бид хэлний семантикийг харах хэрэгтэй. Програмчлалын хэлний онолын зөв байдал нь тухайн хэлний үнэлгээний дүрмийн бүх орон зайн нийцтэй байдлыг тодорхойлдог "хөгжил" ба "хадгалалт" гэсэн хоёр өөр нотолгооноос бүрддэг. Бүр тодруулбал, төрлийн онолд функц нь аргументаа яг нэг удаа ашиглавал "шугаман", хамгийн ихдээ нэг удаа хэрэглэвэл "аффин" болно. Шугаман төрлийн систем нь бүх функцийн дэд илэрхийлэлд төрлийг оноож, хаана дуудлага хийгдэж байгааг хянах замаар зарласан шугаман функц үнэхээр шугаман байна гэсэн статик баталгаа өгдөг. Энэ бол нотлох нарийн шинж чанар бөгөөд бүхэл бүтэн хөтөлбөрийг хэрэгжүүлэхэд тийм ч хялбар биш юм. Шугаман шивэх нь маш эрдэм шинжилгээний салбар хэвээр байгаа бөгөөд "Clean"-д төрлийн өвөрмөц байдал, Rust-д төрлийн өмчлөлийн хэрэгжилт нөлөөлсөн. Glasgow Haskell Compiler-д шугаман төрлийг нэмэх зарим урьдчилсан саналууд байдаг.
Move-ийн шугаман төрлүүдийг ашиглах тухай мэдэгдэл нь хөрвүүлэгч рүү үндэслэлгүй шумбаж байгаа мэт санагдаж байна.
Нэмж дурдахад, аюулгүй гэж үздэг хэлний албан ёсны семантик нь хэрэгжилт эсвэл баримт бичгийн аль алинд нь байдаггүй. Хэл нь Coq эсвэл Isabelle-ийн зөв семантикийн бүрэн нотолгоог олоход хангалттай жижиг юм. Бодит байдал дээр байт код руу нотлох дамжуулалт бүхий бүрэн хөрвүүлэх хөрвүүлэгчийг сүүлийн арван жилд зохион бүтээсэн орчин үеийн хэрэгслээр хэрэгжүүлэх бүрэн боломжтой юм. Бид үүнийг яаж хийхийг мэддэг, эхлээд
Програмчлалын хэлний онолын үүднээс авч үзвэл, Move нь найдвартай, найдвартай хэл гэдгийг шалгах боломжгүй, учир нь эдгээр нэхэмжлэл нь бодит нотолгоо гэхээсээ илүү цэвэр гар даллах, маркетинг юм. Энэ нь олон тэрбум долларын гүйлгээг боловсруулахыг хүсч буй хэлний төслийн хувьд түгшүүртэй нөхцөл байдал юм.
Libra криптограф нь алдаатай байдаг
Аюулгүй криптосистемийг бий болгох нь маш хэцүү инженерийн асуудал бөгөөд эрүүл паранойны сайн тунгаар аюултай кодтой ажиллах нь үргэлж хамгийн сайн арга юм. Баталгаажуулж болох аюулгүй байдлыг бий болгож буй Microsoft Everest төсөл гэх мэт энэ салбарт томоохон нээлтүүд бий.
Жинлүүрийн төсөл
Жинлүүрийн номын сан нь илүү туршилтын шинж чанартай болж, үүнээс цааш явдаг
Энэ нь бүхэлдээ криптографийн стек нь өөрөөр нотлогдох хүртэл янз бүрийн халдлагад өртөмтгий гэж үзэх нь зүйтэй. Facebook-ийн алдарт 'Move Fast and Break Things' загварыг хэрэглэгчийн санхүүгийн мэдээллийг боловсруулдаг криптографийн хэрэгсэлд ашиглах боломжгүй.
Жинлүүр хэрэглэгчийн эрхийг хамгаалах механизмыг хэрэгжүүлж чадахгүй байна
Төлбөрийн системийн онцлог шинж чанар нь төлбөрийг шүүхээр цуцалсан эсвэл санамсаргүй эсвэл системийн доголдолд хүргэсэн тохиолдолд гүйлгээг буцаах чадвар юм. Libra систем нь "бүрэн" байхаар бүтээгдсэн бөгөөд төлбөрийг цуцлах гүйлгээний төрлийг оруулаагүй болно. Их Британид £100-аас 30,000 фунт стерлинг хүртэлх бүх төлбөрийг Хэрэглээний зээлийн тухай хуульд хамруулдаг. Энэ нь худалдан авсан бүтээгдэхүүнтэй холбоотой асуудал гарсан эсвэл төлбөр хүлээн авагч үйлчилгээ үзүүлэхгүй бол төлбөрийн систем нь худалдагчтай хариуцлага хүлээнэ гэсэн үг юм. Үүнтэй төстэй дүрэм ЕХ, Ази, Хойд Америкт үйлчилдэг.
Libra-ийн одоогийн загварт эдгээр хуулийг дагаж мөрдөх протокол байхгүй бөгөөд үүнийг бий болгох тодорхой төлөвлөгөө байхгүй байна. Архитектурын үүднээс авч үзвэл Меркле хөтөчийн төлөвт суурилсан цөмийн баталгаажсан өгөгдлийн бүтцийн эцсийн байдал нь цөмийг дахин төлөвлөхгүйгээр ийм протокол үүсгэх ямар ч механизмыг зөвшөөрдөггүй.
Энэхүү төслийн техникийн шалгалтыг хийсний дараа бид ямар ч нэр хүндтэй тархсан системийн судалгаа эсвэл санхүүгийн инженерийн сэтгүүлд шалгалт өгөхгүй гэж бид дүгнэж болно. Дэлхийн мөнгөний бодлогыг өөрчлөхийг оролдохын тулд олон нийт болон зохицуулагчид итгэж болохуйц найдвартай сүлжээг бий болгох, хэрэглэгчийн мэдээллийг найдвартай боловсруулах техникийн асар их ажил хийх шаардлагатай байна.
Фэйсбүүк нь эдгээр техникийн асуудлуудыг даван туулахын тулд дизайндаа шаардлагатай ажлыг хийсэн эсвэл одоогийн дэд бүтцээс техникийн давуу талтай гэж үзэх үндэслэл надад харагдахгүй байна. Компанид инновацийг судлахын тулд зохицуулалтын уян хатан байдал хэрэгтэй гэж хэлэх нь эхлээд үүнийг хийхгүй байх шалтаг биш юм.
Эх сурвалж: www.habr.com