Libra Blockchain için güvenli ve esnek bir programlama dili. Move, özel işlemleri ve akıllı sözleşmeleri uygulamak için kullanılan yürütülebilir bir bytecode dilidir. Move’un temel özelliği, özel kaynak türlerini tanımlama yeteneğidir.doğrusal mantıktan ilham alan anlambilimiyle: bir kaynak hiçbir zaman kopyalanamaz veya dolaylı olarak atılamaz, yalnızca program saklama yerleri arasında taşınabilir. Bu güvenlik garantileri, Move’un tip sistemi tarafından statik olarak uygulanır. Bu özel korumalara rağmen, kaynaklar sıradan program değerleridir – veri yapılarında saklanabilir, prosedürlere argüman olarak geçirilebilirler, vb. Birinci sınıf kaynaklar, programcıların yalnızca güvenli dijital varlıkları uygulamak için değil, varlıkları sarmak ve erişim kontrol politikalarını uygulamak için doğru iş mantığını yazmak için kullanabilecekleri çok genel bir kavramdır. Move’un güvenliği ve etkililiği, Libra Coini, işlem işleme ve validator yönetimi de dahil olmak üzere Move’da Terazi protokolünün önemli kısımlarını uygulamamızı sağladı.
- Giriş
İnternetin ve mobil genişbantın gelişmesi küresel olarak milyarlarca insanı birbirine bağladı;
bilgiye erişim, ücretsiz iletişim ve çok daha düşük maliyetli, daha uygun hizmet yelpazesi.
Bu bağlantı aynı zamanda daha fazla insanın finansal ekosisteme erişmesini sağlamıştır. Yine de buna rağmen
ilerleme, finansal hizmetlere erişim.
Libra’nin misyonu bu durumun değişmesidir [1]. Bu yazıda yeni bir hamle sunuyoruz.
Libra uygulamasında özel işlem mantığı ve akıllı sözleşmeler için programlama dili
protokol [2]. Move’u tanıtmak için biz:
- Bir dijital zincirde dijital varlıkları temsil etmenin zorluklarını tanımlayın (Bölüm 2).
- Tasarımımızın bu zorlukları nasıl ele aldığını açıklayınız (Bölüm 3).
- Move’un temel özellikleri ve programlama modeline örnek odaklı bir genel bakış verin (Bölüm 4).
- Dilin ve sanal makine tasarımının teknik ayrıntılarını inceleyin (Bölüm 5, Bölüm 6,
ve Ek A).
- Hareket halindeyken kaydettiğimiz ilerlemeyi özetleyerek, dil gelişimi için planlarımızı açıklayarak ve Libra’deki üçüncü taraf Move kodunu desteklemek için yol haritamızı ana hatlarıyla belirleyerek sonuca varın
Blok zinciri (Bölüm 7).
Yazarlar Yazarlar, Facebook, Inc.’in bir iştiraki olan Calibra’da çalışmakta ve Libra Derneği kapsamında bu makaleye katkıda bulunmaktadır.
Creative Commons Attribution 4.0 Uluslararası Lisansı. Libra ekosistemi hakkında daha fazla bilgi için, lütfen bakınız
Libra beyaz kağıdına [1].
bir
İzleyici. Bu makale iki farklı kitleye yöneliktir:
- Blockchain sistemlerine aşina olmayan programlama dil araştırmacıları. WA
Bu izleyiciyi kağıdı baştan sona okumaya teşvik edin, ancak
Bazen yabancı biri için yeterli bağlamı sağlamadan blockchain kavramlarına atıfta bulunabilirsiniz.
okuyucu. Bu kağıda dalmadan önce [2] okumak yardımcı olacaktır, ancak gerekli değildir.
- Programlama dillerine aşina olmayan blok zincir geliştiricileri
Move dili hakkında bilgi edinmek istiyorum. Bu hedef kitlenin başlaması için teşvik ediyoruz.
Bölüm 3. Bölüm 5, Bölüm 6 ve Ek A’nın bazı programlama içerdiğine dikkat ediyoruz.
yabancı olabilir yabancı dil terminolojisi ve formalizasyon.
- Bir Blockchain Üzerindeki Dijital Varlıkları Yönetme
Okuyucuyu anlamasına yardımcı olmak için özet olarak bir blok zinciri kısaca açıklayarak başlayacağız.
“ch chuckchain programlama dili tarafından oynanan rol” gibi. Bu tartışma bilerek yok sayılıyor
İlgili özelliklere odaklanmak için bir blok zincir sisteminin birçok önemli detayı
dil açısından.
2.1. Bir Blockchain Özet Görünümü
Bir blok zincir çoğaltılmış durum makinesidir [4] [5]. Sistemdeki kopyalayıcılar onaylayıcı olarak bilinir.
Sistemin kullanıcıları doğrulayıcılara işlem gönderir. Her doğrulayıcı bir
şu anki durumundan yeni bir duruma geçiş için işlem.
Validatörler, ortak işlem yürütme anlayışlarını güçlendirir
çoğaltılmış durumun toplu olarak tanımlanması ve sürdürülmesi için. Ifor
- doğrulayıcılar aynı başlangıç durumundan başlar ve
- Doğrulayıcılar bir sonraki işlemin ne olması gerektiği konusunda hemfikirdir; ve
- deterministik bir devlet geçişi üreten bir süreç,
daha sonra doğrulayıcılar bir sonraki durumun ne olduğu konusunda hemfikir olacaklar. Bu düzeni tekrar tekrar uygulamak
Geçerli durum üzerinde hemfikir olmaya devam ederken işlemlerin işlemesi için validatörler.
Mutabakat protokolünün ve durum geçişi bileşenlerinin birbirlerinin duyarlı olmadığına dikkat edin.
uygulama ayrıntıları. Mutabakat protokolü işlemler arasında tam bir düzen sağladığı sürece
ve devlet geçiş şeması deterministiktir, bileşenler uyum içinde etkileşime girebilir.
2.2. Açık Bir Sistemdeki Dijital Varlıkları Kodlama
Bir blockchain rolü
temsil etti. Zengin bir finansal altyapıyı desteklemek için Libra Blok Zinciri’nin
Dijital varlık sahiplerini belirli bir zamanda kodlayabilir. Ek olarak, durum geçişleri
varlıkların transferine izin vermelidir.
Bir blockchain programlama dilinin tasarımını bildirmesi gereken bir başka husus daha var.
Diğer kamu blokajlarında olduğu gibi, Libra Blok Zinciri de açık bir sistemdir. Herkes mevcut görüntüleyebilir
blok zinciri durumu ya da işlemleri bir doğrulayıcıya gönderin (yani, devlet geçişlerini önerin). geleneksel olarak,
dijital varlıkları yönetmek için yazılım
idari kontroller. Halka açık bir blokta, tüm katılımcılar eşit düzeydedir. Katılımcı
Sevdiği herhangi bir devlet geçişine, tüm devlet geçişlerine izin verilmemelidir.
Benim sistemim Örneğin, Alice, Bob’un sahip olduğu varlıkları aktaran bir devlet geçişi önermekte özgürdür.
Durum geçiş işlevi geçersiz ve reddedildi
Seçimi yapmak zordur