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ı.

  1. 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:

  1. Bir dijital zincirde dijital varlıkları temsil etmenin zorluklarını tanımlayın (Bölüm 2).
  2. Tasarımımızın bu zorlukları nasıl ele aldığını açıklayınız (Bölüm 3).
  3. Move’un temel özellikleri ve programlama modeline örnek odaklı bir genel bakış verin (Bölüm 4).
  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).

  1. 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.

  1. 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