İki yıl sonra Haskell ve matematikle ilgili alışılagelmiş sıkıcı derslerden farklı bir yazı için bloga geri döndüm. Son birkaç yıldır AB'de fintech üzerinde çalışıyorum ve teknoloji medyasının çok az ilgi gösterdiği bir konu hakkında yazmanın zamanı gelmiş gibi görünüyor.
Facebook yakın zamanda Libra adında “yeni bir finansal hizmetler platformu” adını verdiği platformu yayınladı. Bir “blockchain” üzerinde yönetilen ve İsviçre'den yönetilen bir para havuzunda saklanan uluslararası para birimlerinden oluşan bir sepete dayalı bir dijital ödeme sistemi olarak konumlandırılmıştır. Projenin hedefleri iddialı ve büyük ölçekli jeopolitik sonuçlara yol açıyor.
В
Dünyaya açık olan, küresel ödeme altyapısı için güvenli bir platform olduğu iddia edilen, mimari açıdan şizofrenik bir eserdir.
Kod tabanına derinlemesine inerseniz, sistemin gerçek uygulamasının belirtilen hedeften tamamen ve en tuhaf şekillerde saptığını görürsünüz. Bu projenin ilginç bir kurumsal geçmişi olduğuna eminim. Dolayısıyla bunun biraz özenle tasarlandığını varsaymak mantıklı, ancak gerçekte tüm sistemi bozan ve kullanıcıları riske sokan gerçekten tuhaf bir dizi mimari karar görüyorum.
Bir şirket olarak Facebook hakkında objektif bir görüşe sahipmiş gibi davranmayacağım. Bilişim sektöründe çok az insan ona sempatiyle bakıyor. Ancak açıklamaları ve yayınlanan kod karşılaştırıldığında, belirtilen amacın temelde aldatıcı olduğu açıkça görülüyor. Kısacası bu projenin kimseye gücü yok. Reklamcılık işi skandal ve yolsuzluğa bu kadar batmış olan ve ayakta kalabilmek için ödemelerini ve kredi notunu çeşitlendirmekten başka çaresi olmayan bir şirketin tamamen kontrolü altında kalacak. Açık uzun vadeli hedef, tüketicilerin kişisel sosyal medya verilerine dayalı olarak krediye erişiminde bir veri komisyoncusu ve aracı olarak hareket etmektir. Bu kesinlikle hak ettiği ilgiyi görmeyen, korkunç ve karanlık bir hikaye.
Bu hikayenin tek kurtarıcı yanı, yarattıkları eserin mevcut göreve o kadar uygunsuz olması ki, bunun yalnızca bir kibir eylemi olarak görülebilmesidir. Bu projede birkaç önemli mimari hata var:
Bizans Generalleri Sorununu Erişim Kontrol Ağında Çözmek Tutarsız Bir Tasarımdır
Bizans generallerinin sorunu, dağıtılmış sistemlerin oldukça dar bir araştırma alanıdır. Bir ağ sisteminin, sistemin çalışması için kritik olan düzeltici önlemleri alırken rastgele bileşen arızalarına dayanma yeteneğini açıklar. Dayanıklı bir ağ, yeniden başlatmalar, kesintiler, kötü amaçlı yüklemeler ve liderlik seçimlerinde kötü niyetli oylama dahil olmak üzere çeşitli saldırı türlerine dayanmalıdır. Libra mimarisi için asıl karar budur ve burada tamamen anlamsızdır.
Bu ek yapının zaman karmaşıklığı yükü algoritmaya bağlıdır. Bizans generalleri problemini çözen Paxos ve Raft protokollerinin çeşitleri hakkında pek çok literatür bulunmaktadır, ancak tüm bu yapılar iletişim için ek yük getirmektedir. çoğunluğu korumak. Libra için mümkün olan en yüksek iletişim maliyetine sahip bir algoritma seçtiler liderliğin başarısız olması durumunda. Ayrıca, birden fazla türde ağ arızası olayında liderlerin potansiyel olarak yeniden seçilmesinden kaynaklanan ek bir yük söz konusudur.
Tüm kullanıcıların kodunun Facebook tarafından imzalandığı ve ağa erişimin Facebook tarafından kontrol edildiği, sıkı denetime tabi çokuluslu şirketlerden oluşan bir konsorsiyum içinde çalışan bir sistem için, kötü niyetli katılımcıları fikir birliği düzeyinde dikkate almak mantıklı değildir. Bu sistemin, uyumluluğu kontrol etmek için tutarlı bir denetim takibi sağlamak yerine neden Bizans generallerinin sorununu çözeceği bile açık değil. Mastercard veya Andressen Horowitz tarafından çalıştırılan bir Libra düğümünün aniden kötü amaçlı kod çalıştırmaya başlaması olasılığı, planlanması garip bir senaryodur ve sadece protokol bütünlüğünün ve teknik olmayan (yani yasal) araçların sağlanmasıyla daha iyi ele alınır.
Kongre tanıkları, ürünün WeChat, Alipay ve M-Pesa gibi yeni uluslararası ödeme protokollerine rakip olduğunu beyan etti. Ancak bu sistemlerin hiçbiri Bizans generalleri sorununu çözmek için doğrulayıcı havuzlarda çalışacak şekilde tasarlanmamıştır. Bunlar, kablolamayı sabit bir dizi kurala göre yapan geleneksel yüksek bant genişliğine sahip bir veri yolu üzerinde tasarlanmıştır. Bu, bir ödeme sistemi tasarlamanın doğal bir yaklaşımıdır. İyi tasarlanmış ödeme sistemi çifte harcama ve çatallanma sorunuyla karşılaşmayacaktır.
Konsensüs algoritmasının ek yükü herhangi bir sorunu çözmez ve bu kullanım durumu için amaçlanmayan halka açık blok zincirinin kargo kültü dışında hiçbir neden olmaksızın yalnızca sistemin verimini sınırlandırır.
Libra'nın işlem gizliliği yoktur
Dokümantasyona göre sistem dikkate alınarak tasarlanmıştır takma adyani protokolde kullanılan adresler eliptik eğriler üzerindeki ortak anahtarlardan elde edilir ve hesaplara ilişkin meta veriler içermez. Bununla birlikte, kuruluşun yönetişim yapısının açıklamasında veya protokolün hiçbir yerinde, işlemlere dahil olan ekonomik verilerin doğrulayıcılardan nasıl gizleneceği belirtilmemektedir. Sistem, mevcut Avrupa ve ABD banka gizliliği kanunları uyarınca ekonomik ayrıntıları bilmemesi gereken bir dizi harici tarafa işlemleri büyük ölçekte kopyalamak üzere tasarlandı.
Özellikle veri koruma ve mahremiyet konusunda farklı kültürel görüşlere sahip farklı yetki alanlarındaki farklı yasa ve düzenlemeler göz önüne alındığında, ülkeler arasındaki veri politikalarını koordine etmek zordur. Protokolün kendisi varsayılan olarak konsorsiyum üyelerine tamamen açıktır; bu, tasarlandığı gereksinimleri karşılamayan açık bir teknik eksikliktir.
Libra HotStuff BFT, bir ödeme sistemi için gereken verimi sağlayamıyor
Birleşik Krallık'ta BAC gibi takas sistemleri ayda yaklaşık 580 işlemi gerçekleştirebilmektedir. Aynı zamanda Visa gibi yüksek düzeyde optimize edilmiş sistemler günde 000 işlem gerçekleştirebilmektedir. Performans, işlem boyutuna, ağ yönlendirmesine, sistem yüküne ve
Ulus devletler son on yılda takas altyapılarını modernize ettiğinden Libra, yurt içi transferler için aslında sorun olmayan sorunları çözmeye çalışıyor. Avrupa Birliği'ndeki perakende tüketiciler için parayı taşımak hiç sorun değil. Geleneksel altyapıda bu, standart bir akıllı telefonla saniyeler içinde yapılabilir. Büyük kurumsal transferler için, büyük miktarlarda paranın taşınmasıyla ilgili çeşitli mekanizmalar ve kurallar vardır.
İlgili yargı bölgeleri arasındaki kural ve gereksinimlerdeki farklılıklar dışında, sınır ötesi ödemelerin de anında işlenememesinin teknik bir nedeni yoktur. İşlem zincirinin farklı aşamalarında gerekli önleyici tedbirlerin (müşteri durum tespiti, yaptırım kontrolleri vb.) birden fazla kez yapılması işlemin gecikmesine neden olabilir. Ancak bu gecikme, teknolojiden değil, tamamen düzenleyici mevzuattan ve uyumluluktan kaynaklanmaktadır.
Tüketiciler açısından Birleşik Krallık'taki bir işlemin birkaç saniye içinde sonuçlanmaması için hiçbir neden yok. AB'de perakende işlemler gerçekten de yavaşlıyor
Libra Move dili yanlış
Teknik inceleme, Move adlı yeni, denenmemiş bir dil hakkında cesur iddialarda bulunuyor. Bu ifadeler programlama dili teorisi (PLT) açısından oldukça şüphelidir.
Move, Libra blok zincirinde özel işlem mantığını ve akıllı sözleşmeleri uygulamaya yönelik yeni bir programlama dilidir. Libra bir gün milyarlarca insana hizmet vermeyi hedeflediği için Move, güvenlik öncelikli olacak şekilde tasarlandı.
Move'un önemli bir özelliği, rastgele kaynak türlerini doğrusal mantıktan ilham alan anlambilimle tanımlama yeteneğidir.
Halka açık blok zincirlerde akıllı sözleşmeler, emanet hesapları, kara para aklama, OTC token ihracı ve kumar içeren kamu ağlarının mantığıyla karşı karşıyadır. Bütün bunlar, akademik açıdan PHP'nin yazarının bir dahi gibi görünmesini sağlayan, Solidity adı verilen şaşırtıcı derecede kötü tasarlanmış bir dilde yapılıyor. Garip bir şekilde, Facebook'un yeni dilinin bu teknolojilerle hiçbir ilgisi yok gibi görünüyor, çünkü aslında belirsiz kurumsal amaçlara yönelik bir kodlama dilidir.
Özel dağıtılmış defterlerde akıllı sözleşmeler, danışmanlar tarafından açık bir tanım veya amaç dikkate alınmaksızın atılan terimlerden biridir. Kurumsal yazılım danışmanları genellikle belirsizlikten para kazanırlar ve akıllı sözleşmeler kurumsal bilgisizliğin tanrısıdır çünkü kelimenin tam anlamıyla her şey olarak tanımlanabilirler.
Güvenliği konusunda iddialarda bulunduktan sonra dilin anlambilimine bakmamız gerekiyor. Programlama dili teorisinde doğruluk tipik olarak iki farklı kanıttan oluşur: dilin tüm değerlendirme kuralları alanının tutarlılığını belirleyen “ilerleme” ve “koruma”. Daha spesifik olarak, tip teorisinde bir fonksiyon, argümanını tam olarak bir kez kullanıyorsa "doğrusal", en fazla bir kez kullanıyorsa "afine"dir. Doğrusal tür sistemi, tüm işlev alt ifadelerine tür atayarak ve çağrıların nerede yapıldığını takip ederek, bildirilen bir doğrusal işlevin gerçekten doğrusal olduğuna dair statik garanti sağlar. Bu kanıtlanması zor bir özelliktir ve programın tamamına uygulanması kolay değildir. Doğrusal yazım hala oldukça akademik bir çalışma alanıdır ve Clean'de tür benzersizliği ve Rust'ta tür sahipliğinin uygulanmasından etkilenmiştir. Glasgow Haskell Derleyicisine doğrusal türlerin eklenmesine yönelik bazı ön öneriler bulunmaktadır.
Move'un doğrusal türlerin kullanımına ilişkin ifadesi, derleyiciye yersiz bir dalış gibi görünüyor, çünkü orada
Ek olarak, güvenli olduğu varsayılan dilin biçimsel semantiği ne uygulamanın ne de belgenin hiçbir yerinde görünmüyor. Dil, Coq veya Isabelle'de doğru anlambilimin tam bir kanıtını bulabilecek kadar küçüktür. Gerçekte, son on yılda icat edilen modern araçlarla, kanıtların bayt koduna aktarılmasını sağlayan uçtan uca tam dönüşüm derleyicisinin uygulanması oldukça mümkündür. Bunu nasıl yapacağımızı biliyoruz, şundan başlayarak:
Programlama dili teorisi açısından bakıldığında, Move'un güvenilir ve güvenli bir dil olduğu iddiasını test etmek imkansızdır çünkü bu iddialar gerçek kanıtlardan ziyade saf el sallama ve pazarlama anlamına gelir. Bu, milyarlarca dolarlık işlem gerçekleştirmesi istenen bir dil projesi için endişe verici bir durum.
Libra kriptografisi hatalı
Güvenli kriptosistemler oluşturmak çok zor bir mühendislik problemidir ve tehlikeli kodlarla çalışmaya iyi dozda sağlıklı paranoyayla yaklaşmak her zaman en iyisidir. Bu alanda, doğrulanabilir bir güvenlik ağı oluşturan Microsoft Everest projesi gibi büyük atılımlar var.
terazi projesi
Libra kütüphanesi daha da deneysel hale geliyor ve ötesine geçiyor
Aksi kanıtlanana kadar tüm bu kriptografik yığının çeşitli saldırılara karşı savunmasız olduğu varsayılmalıdır. Facebook'un ünlü 'Hızlı Hareket Edin ve İşleri Kırın' modeli, müşterilerin finansal verilerini işleyen kriptografik araçlara uygulanamaz.
Libra tüketici koruma mekanizmalarını uygulamada başarısız oluyor
Ödeme sisteminin ayırt edici bir özelliği, ödemenin bir dava nedeniyle iptal edilmesi veya kazara veya sistem arızasına yol açması durumunda işlemi geri alma yeteneğidir. Libra sistemi "tam" olacak şekilde tasarlanmıştır ve ödeme iptaline yönelik bir işlem türü içermez. Birleşik Krallık'ta 100 £ ile 30,000 £ arasındaki tüm ödemeler Tüketici Kredisi Yasasına tabidir. Bu, satın alınan üründe bir sorun olması veya ödemeyi alan kişinin hizmeti sağlamaması durumunda ödeme sisteminin sorumluluğu satıcıyla paylaştığı anlamına gelir. Benzer kurallar AB, Asya ve Kuzey Amerika'da da geçerlidir.
Libra'nın mevcut tasarımı bu yasalara uyacak bir protokol içermiyor ve bir tane oluşturmak için net bir plan içermiyor. Daha da kötüsü, mimari açıdan bakıldığında, Merkle sürücüsünün durumuna dayalı olarak çekirdeğin doğrulanmış veri yapısının kesinliği, çekirdeği yeniden tasarlamadan herhangi bir mekanizmanın böyle bir protokol oluşturmasına izin vermez.
Bu projenin teknik incelemesini yaptıktan sonra, bunun hiçbir saygın dağıtılmış sistem araştırması veya finans mühendisliği dergisinde kabul edilmeyeceği sonucuna varabiliriz. Küresel para politikasını değiştirmeye çalışmak için, güvenilir bir ağ oluşturmak ve halkın ve düzenleyicilerin güvenebileceği kullanıcı verilerinin güvenli bir şekilde işlenmesini sağlamak için çok büyük miktarda teknik çalışmanın yapılması gerekiyor.
Facebook'un bu teknik sorunların üstesinden gelmek için tasarımında gerekli çalışmaları yaptığına veya mevcut altyapıya göre herhangi bir teknik avantaja sahip olduğuna inanmak için hiçbir neden göremiyorum. Bir şirketin yenilikleri keşfetmek için mevzuat esnekliğine ihtiyacı olduğunu söylemek, bunları ilk önce yapmamak için bir mazeret değildir.
Kaynak: habr.com