TON Blockchain Architecture Verileri saklama ve yönetme sistemi TON:
- Verilerin örgütlenmesi bag of cells;
- Şartlama Hesap seviyesi (ISP);
- konsensüs ve valide koşulları;
- masterchain Ağın tüm şarjlarını ve parametrelerini koordine ediyor.
Bag of Cells#
Tüm TON verileri koleksiyon tarafından sunuluyor hücre (cells). Her hücre şunları içerir:
- Daha önce 1023 bit veriler;
- Daha önce 4 bağlantı diğer hücrelere (SHA-256 hashları);
- 2 bayt tanımlayıcı + veri.
Hücreler şöyle düzenlenir: Ağaçlar veya DAG (Directed Acyclic Graph). TL-B (Type Language — Binary).
Infinite Sharding Paradigm (ISP)#
Her hesap ayrı accountchain. Accountchain sanal blokları Gruplandırılırlar . Daha verimli olmak için şardçeyn bloklarına.
Şartçeyn Durumu = tüm şard hesaplarının durumu. Şardçeyn bloğu = hesaplar için sanal blok koleksiyonu.
TON'da akıllı sözleşme ile hesap arasındaki fark yoktur.
Şardçeyn bloğunun yapısı#
2 bölüme ayrılır:
Bölünmemiş (non-split)
| Bileşen | İçeriği |
|---|---|
| InMsgDescr | Gelen iletilerin açıklaması |
| OutMsgDescr | Çıktı iletilerin açıklaması |
| Block header | Hash, blok parametreleri. |
| OutMsgQueue | Teslim edilmemiş mesajların sırası (komşu şardalara teslim edildikten sonra silinir) |
Ayrılmış (split)
Hashmap account_id → account_state. Hesap State:
- Gram ' lardaki denge;
- akıllı sözleşme kodu;
- kontratın sürekli verileri;
- depo kullanımı istatistikleri;
- arayüzün seçmeli resmi açıklaması;
- Kullanıcının halka açık bilgileri.
Masterchain#
- Ne bölünür ne de birleştirilir. (single chain);
- Bir öncek (initial config ile sıfır bloğu hariç);
- İçeriği: Tüm aktif şardların listesi ve her birinin son blokları;
- Saklıyor Yapılandırılabilir parametreler Özel bir yapılandırma sözleşmesi ile.
Yapılandırma Seçenekleri
- Validatörlerin en düşük ücreti;
- Validatörler grubunun en fazla büyüklüğü;
- Grubun sorumluluğu altındaki blokların en fazla sayısı;
- Validatörleri seçme ve cezalama süreci;
- Validatörlerin mevcut ve sonraki setleri;
- Parametreleri değiştirme süreci.
Başlangıç Değeri ve Kod Temel akıllı sözleşmeler v Sıfır bloka masterchain.
Anlaşmanın şartları#
Sadece geçerli işlemlerle veri değişikliğinin doğruluğunu garanti ederler.
| Türü: | Tanımlama |
|---|---|
| Küresel | Tüm ağ için değişkenler (örneğin, mesaj teslimat garantisi) |
| İç yerel | Tek bir blok içinde (örneğin, gelen mesajları işlemek) |
| Dış Yerel | Bloklar arasında, genellikle komşu chordlar. |
Bir blok geçerliValidatörlerin sorumluluğu jenerasyon ve doğrulama.
Mantıksal Zaman (LT)#
64 bitlik negatif olmayan bir bütün, aşağıdaki olaylara verilir:
- Bağımlı Olay LT tüm bağımlılıklarının en fazlasına sahiptir;
- Bağımsız bir etkinlik LT = 0 ' dur;
- Dışarıdaki İletiler LT ' yi bir işlemden miras alacaklar;
- İşlem ve blok sahipler Zaman aralığıBaşlıkta belirtilen.
LT olayları düzenlemek için lazım. Küresel saat olmadan.
Genel durum ve görünürlük#
- Masterchain bloğu tüm şardların durumunu son bloklarının hashları ile kaydediyor;
- Şardçeyn bloğu başlıkta son masterchain bloğunun hashini içerir;
- Görülebilir bloklar bu blokta belirtilenler masterchain + onların öncekileri;
- Şarda bloğu İçeriye aktarır OutMsgQueue görünen komşulardan gelen mesajlar; görünmeyen bloklardan gelen mesajları etkinleştiremez.
Akıllı Sözleşmeler#
Kurulumu
Temel çit zinciri ve masterchain için geçerlidir (diğer çit çitlerinin kendi mekanizmaları olabilir):
- Daha önce bahsedilmemiş bir adrese gönderilen mesaj Anlamı → yaratıyor ** Başlatılmamış bir hesap** Bilançlı, ama kod ve verisi olmayan;
- Yapılandırma mesajı initial code + data içerir → akıllı sözleşme oluşturur;
- Constructor genellikle ilk denge için değer taşır (minimum depolama ücretine bağlıdır);
- Akıllı sözleşmeler Kendi başımıza yapalım. Yeni akıllı sözleşmeler.
Değiştirme
- Daimi Veriler Kodun çalıştırılmasında değişir . TVM;
- Eğer kod değişimleri öngörmüyorsa → veriler değişmez;
- Kodun kendisi Eğer geçerli kod izin verirse, bu değişebilir.
Yok edilme ve donma
- Sözleşme Yok edilemez., Bilanç > minimum;
- Bu arada ... negatif bakiye Hesap Donduruyor . code + data 32 baytlı bir hash ' e değiştirilir;
- Hesap bir süre saklanır → sahibi, fonları aktararak ve kod + veri ile bir mesaj göndererek hesabı yeniden oluşturabilir.