Pada tanggal 31 Oktober 2023, TON (sebelumnya Telegram Open Network) mencetak rekor dunia baru, mencapai puncak yang menakjubkan yaitu 104,715 transaksi per detik dalam uji langsung kinerja publik pertama, menyelesaikan total 107,652,545 transaksi dalam 25 menit. Diverifikasi dan dikonfirmasi oleh Certi, kinerja ini menjadikan TON sebagai blockchain tercepat dan paling terukur di dunia, melebihi kecepatan pemrosesan semua blockchain L1 dan jaringan pembayaran terpusat terkenal seperti PayPal, Visa, dan Mastercard.

TON tidak diragukan lagi merupakan proyek yang menarik perhatian. Artikel ini akan memberikan analisis mendalam mengenai kertas putih TON, mengungkapkan fitur teknis dan inovasi uniknya, dan mengapa TON bisa menjadi blockchain tercepat di dunia.

Masalah ekspansi

Skalabilitas selalu menjadi masalah besar selama perkembangan teknologi blockchain. Rencana perluasan blockchain terutama untuk meningkatkan throughput sistem dan mengurangi biaya transaksi, sehingga jaringan blockchain dapat menangani lebih banyak transaksi dan beradaptasi dengan lebih baik terhadap aplikasi skala besar. Meskipun rantai publik yang berbeda terus mencoba konsensus dan desain arsitektur baru, hasil saat ini masih belum memuaskan dan telah menjadi hambatan bagi blockchain untuk bergerak menuju aplikasi skala besar, sehingga sulit untuk mewujudkan visi TG kami yaitu satu miliar pengguna. Solusi ekspansi arus utama saat ini dapat dibagi ke dalam kategori berikut:

Sharding: Membagi jaringan menjadi beberapa bagian yang lebih kecil. Setiap shard dapat memproses transaksi dan kontrak pintar secara paralel, sehingga meningkatkan throughput jaringan secara signifikan. Namun sharding memiliki potensi masalah keamanan, karena setiap shard mungkin kurang aman dibandingkan keseluruhan jaringan. Selain itu, komunikasi lintas pecahan merupakan tantangan teknis. Contoh representatif: protokol Ethereum 2.0 dan NEAR Nightshade sebelumnya.

Sidechains: Sidechain adalah blockchain yang beroperasi secara independen dari rantai utama. Ia dapat memiliki mekanisme konsensus dan parameter bloknya sendiri. Melalui sidechain, pengguna dapat mentransfer aset antara dua rantai, sehingga melepaskan beban dari rantai utama. Contoh representatif: Poligon

Solusi lapisan 2: Dengan membangun lapisan struktur lain di atas rantai utama, L2 dapat memberikan waktu konfirmasi transaksi yang lebih cepat dan biaya transaksi yang lebih rendah. Ambil contoh L2 yang lebih terkenal, Optimisme dan Arbitrum: Keduanya adalah solusi ekspansi yang dirancang khusus untuk Ethereum. Oleh karena itu, bagian dari arsitektur Optimisme dan Arbitrum terletak di Layer 1. Saat Ethereum ditingkatkan, batas transaksi per detik (TPS) mereka meningkat dari yang semula 2-4k menjadi sekitar 2w.

zkSync 2.0: Dibandingkan dengan batas ratusan TPS pada zkSync 1.0, zkSync 2.0 menghadirkan peningkatan yang signifikan. Tim zkSync mengklaim bahwa versi 2.0 dapat mencapai batas atas 100.000 TPS, namun sebagian besar institusi memperkirakan bahwa batas atas sebenarnya mungkin 1-20.000. Starknet: Setelah menyelesaikan peningkatan Quantum Leap pada bulan Juni, TPS-nya saat ini sedikit di atas 100TPS.

Solana: Solana menggunakan algoritma konsensus inovatif yang disebut Proof of History (PoH) sebagai inti dari rencana ekspansinya. Meski Solana mengklaim TPS-nya bisa mencapai 65.000, namun nyatanya sebagian besar TPS digunakan sebagai komunikasi antar node. Volume transaksi riil hanya dapat dibatasi pada 6-8 ribu TPS. Selain itu, karena desain mekanisme konsensusnya yang terpusat, Solana mengalami beberapa kali downtime saat dihadapkan pada permintaan dalam jumlah besar, seperti saat pencetakan NFT. Selain itu, Solana juga belum berhasil mengimplementasikan rotasi node pusat.

Perancang blockchain TON berasal dari pendiri dan tim inti Telegram. Sebagai salah satu platform sosial paling populer di dunia, Telegram memiliki hampir 900 juta pengguna aktif bulanan. Meskipun memiliki tingkat keamanan dan privasi yang tinggi, Telegram juga memberikan pengalaman pengguna yang stabil dan lancar perangkat lunak setiap hari. Konsep web3 telah menjadi relatif terkenal, namun pengguna kripto asli sebenarnya masih minoritas, dan kebanyakan orang bergantung pada pertukaran terpusat untuk mengakses token. Metamask, dompet kripto terdesentralisasi terpopuler di dunia, saat ini hanya memiliki 30 juta pengguna aktif bulanan. Konsep desain TON sejak awal didasarkan pada melayani miliaran pengguna, bukan hanya beberapa ahli web3.

paradigma sharding tak terbatas

Sharding adalah konsep yang berasal dari desain database. Ini mengacu pada membagi kumpulan data logis yang besar dan kemudian mendistribusikannya ke beberapa database yang tidak dibagikan satu sama lain. Database ini dapat didistribusikan ke beberapa server. Sederhananya, sharding memberikan kemampuan untuk menskalakan secara horizontal, memungkinkan data dipecah menjadi bagian-bagian independen yang dapat diproses secara paralel.

TON bukanlah proyek pertama yang memperkenalkan teknologi sharding ke dalam blockchain. Misalnya, Ethereum 2.0 pernah mengumumkan 64 shard tetap dan kemudian menyerah karena terlalu sulit, sementara protokol Night Shadow NEAR berencana untuk mencapai 100 sharding pada tahun depan saat ini berjumlah 4 pecahan.

Berbeda dari metode sharding tradisional, TON mengadopsi strategi sharding tak terbatas.

Namun, pendekatan TON dianggap canggih bukan karena memiliki lebih banyak pecahan, namun karena dua fitur unik:

  • Jumlah shard tidak tetap: TON mendukung peningkatan jumlah shard sesuai kebutuhan bisnis, hingga maksimum 2^60 rantai kerja, yang merupakan jumlah yang hampir tidak terbatas.

  • Jumlah pecahan bersifat elastis: TON dapat secara otomatis membagi pecahan ketika beban sistem tinggi dan menggabungkannya ketika beban berkurang. Ini adalah strategi yang sangat efektif untuk menangani kebutuhan penskalaan yang dinamis.

Saat ini, TON terdiri dari dua rantai kerja, rantai utama (Masterchain) untuk sinkronisasi dan tata kelola, dan rantai kerja (Workchain) untuk kontrak pintar. Di bawah rantai kerja adalah rantai shard dan rantai akun virtual terbawah (Rantai akun)

Rantai kerja dapat dibagi menjadi N pecahan (dari 1 hingga 256 pecahan). Setiap pecahan memiliki kumpulan validatornya sendiri. Tim rantai kerja bertanggung jawab untuk mengeksekusi transaksi di pecahannya sendiri. Pada saat yang sama, ia terus-menerus mengunduh blok dari semua pecahan lain dalam rantai kerjanya. Secara umum, blockchain adalah serangkaian blok yang mencatat perubahan statusnya. Untuk blockchain POS, validator terlebih dahulu menyepakati bagaimana mereka ingin mengubah status blockchain dengan menyusun blok yang berisi daftar perubahan. Blok tersebut kemudian dipilih, dan jika cukup suara terkumpul, mereka menerapkan blok tersebut ke status blockchain dan berpindah ke blok berikutnya.

Kapasitas throughput dari sebuah block thread sangat terbatas karena validator harus memeriksa semua transaksi dalam sebuah blok sebelum menyetujui untuk menerimanya. Jadi ada banyak thread di TON, Anda bisa menganggapnya sebagai mikro-blockchain mini. Mereka ada berdampingan dan masing-masing memiliki kumpulan validatornya sendiri.

rantai utama

Rantai utama adalah thread blok utama di TON. Ini digunakan untuk menyinkronkan semua blok yang tersisa dan menghitung ulang set validator. Ketika semua thread menyetujui blok baru, mereka menandatanganinya dan mendaftarkannya ke rantai utama. Namun, validator rantai utama tidak memverifikasi validitas blok, mereka hanya memeriksa apakah blok tersebut ditandatangani oleh validator yang sesuai. Begitu banyak thread yang bisa hidup berdampingan secara paralel. Kontrak dari thread yang berbeda berkomunikasi satu sama lain dengan mengirimkan pesan.

rantai kerja

Rantai kerja adalah ruang alamat independen yang dapat berjalan sesuai aturannya. Misalnya, mereka mungkin memiliki mesin virtual yang berbeda atau memperpanjang waktu yang diperlukan untuk menerbitkan blok dengan batas bahan bakar yang tinggi. Yang terpenting, rantai kerja harus memiliki format antrian pesan yang sama sehingga dapat bertukar pesan. Ini juga berarti bahwa semua rantai kerja harus memiliki jaminan keselamatan yang kurang lebih sama. Karena mereka dapat bertukar pesan, pesan-pesan ini membawa token jaringan. Saat ini terdapat dua rantai kerja yang aktif: rantai utama dan rantai kerja pemrosesan pertama. Rantai kerja ditentukan oleh awalan alamat: -1:ax...1s2 - alamat akun di rantai utama. -1 adalah awalan rantai utama.

0:zx...123 - Alamat akun di rantai pekerjaan pertama. 0 - adalah awalan untuk rantai tugas pemrosesan pertama.

rantai pecahan

Thread pemrosesan, atau rantai pecahan, adalah thread blok independen dalam rantai kerja pemrosesan. Secara default, rantai kerja 0 hanya memiliki satu thread dan satu rantai. Validator thread ini menerima pesan eksternal dan memproses pesan internal yang dikirim sendiri atau dari rantai pekerja lain. Jika ada situasi di mana sebuah thread kelebihan beban selama N blok terakhir, thread tersebut dipecah: satu thread dipecah menjadi dua, dengan transaksi berjalan secara paralel.

Akun dengan alamat dimulai dengan 0:00.. - 0:88.. sekarang ada di thread 1, dan akun 0:88.. - 0:FF.. ada di thread 2. Karena semua kontrak pintar berkomunikasi satu sama lain secara asinkron, tidak ada gangguan, sementara throughputnya tiga kali lipat. Ketika beban turun, benang-benang tersebut digabungkan kembali setelah beberapa saat. Jika beban terus bertambah maka kedua benang tersebut dapat terpecah lagi dan lagi, begitu seterusnya. Rantai utama hanya memiliki satu utas.

Blok di TON lebih dari sekedar daftar transaksi yang harus diselesaikan untuk menerapkan perubahan keadaan. Sebaliknya, sebuah blok adalah:

Jalankan daftar pesan transaksi, hapus dari antrian masuk. Pesan baru memasuki antrian keluar setelah pemrosesan pesan, dan kemudian pemrosesan pesan menyebabkan perubahan status kontrak pintar. Artinya, agar validator shard X dapat mempertahankan status shard Y saat ini, ia tidak perlu mengeksekusi semua transaksi di blok shard Y. Itu hanya mengunduh blok dan merangkum perubahan yang telah terjadi. Terjadi dalam antrian pesan dan status kontrak pintar.

Perubahan mendasar pada dunia blockchain tidak dapat dilakukan tanpa biaya. Untuk memanfaatkan pendekatan radikal ini, pengembang kontrak pintar TON harus merancang kontrak mereka secara berbeda. Unit atom dasar dari blockchain TON adalah kontrak pintar. Kontrak pintar memiliki alamat, kode, dan unit data (status persisten). Unit seperti ini disebut unit atom karena kontrak pintar selalu memiliki akses tersinkronisasi atom ke semua status persistennya.

Perutean Jaringan Hypercube

TON telah menciptakan mekanisme perutean cerdas yang unik untuk memastikan bahwa transaksi antara dua blockchain selalu dapat diproses dengan cepat. Tidak peduli seberapa besar sistemnya, waktu yang dibutuhkan untuk mengirim informasi antar blockchain TON hanya meningkat secara logaritmik dengan jumlah rantai cara meningkat, sehingga penskalaan hingga jutaan rantai memungkinkan mereka berkomunikasi secepat mungkin.

Dalam blockchain TON, Perutean Hypercube Instan dan Perutean Lambat adalah dua mekanisme perutean yang digunakan untuk menangani transaksi lintas rantai.

 

Perutean Hypercube Instan: Ide yang diajukan oleh TON untuk mempercepat perutean pesan, memungkinkan transaksi lintas rantai diselesaikan dalam waktu yang sangat singkat. Dalam proses perutean kubus lambat tradisional, pesan dirutekan oleh rantai pecahan di sepanjang jaringan hypercube ke rantai pecahan tujuan. Namun, selama proses perutean pesan, validator (validator) yang memiliki rantai shard tujuan pesan dapat memilih untuk memproses pesan terlebih dahulu dan menambahkannya ke blok, lalu memberikan bukti Merkel (tanda terima) dan mengirimkan a tanda terima untuk menghancurkan pesan yang sedang dikirim. Hal ini memungkinkan transaksi lintas rantai diselesaikan dalam waktu yang sangat singkat. Perutean Ekspres mencapai interaksi lintas rantai yang efisien dengan membangun struktur perutean kubus berdimensi tinggi (hiperkubus). Dalam struktur ini, setiap rantai dipetakan ke sebuah simpul kubus, dan jarak antar rantai dinyatakan sebagai jumlah lompatan antar simpul. Melalui metode ini, transaksi dapat dengan cepat diarahkan pada jalur terpendek, memungkinkan interaksi lintas rantai yang efisien. Perutean cepat dapat menyelesaikan transaksi lintas rantai dalam hitungan detik tanpa menunggu konfirmasi blok.

Perutean Lambat: Perutean lambat adalah metode pemrosesan transaksi lintas rantai yang relatif tradisional, yang diterapkan dengan mentransfer transaksi secara bertahap dari rantai sumber ke rantai target. Dalam pendekatan ini, transaksi pertama-tama dikemas ke dalam blok pada rantai sumber dan kemudian ditransfer ke rantai target melalui relayer. Validator rantai target memverifikasi validitas transaksi dan kemudian mengemasnya ke dalam blok pada rantai target. Keuntungan perutean lambat dibandingkan perutean cepat adalah memberikan keamanan dan desentralisasi yang lebih tinggi, karena transaksi lintas rantai harus melalui proses konfirmasi blok yang lengkap. Mirip dengan jaringan TCP/IP, pengiriman ke tujuan melalui alamat IP tujuan dapat memastikan bahwa pesan disebarkan secara andal ke rantai tujuan secara berurutan. Untuk jaringan hypercube rantai shard berukuran N, rantai shard perantara yang perlu dilewati melalui hop = log16(N)-1. Oleh karena itu, hanya diperlukan 4 node perutean (rantai shard perantara) untuk mendukung jutaan rantai shard.

Mengapa didesain seperti ini?

Distribusi memerlukan node verifikasi. Jika sistemnya sangat besar dan memiliki puluhan ribu node, maka bebannya akan terlalu berat dan tidak dapat diperluas. Setelah sharding, setiap shard memiliki satu set, shard0, shard1... dan komunikasi lintas-shard harus tercapai. Komunikasinya bisa lintas shard. Dari satu shard ke shard lainnya, artinya harus ada mekanisme perutean antar shard. Koneksi membentuk rute yang dilewati melalui beberapa node perantara. Setiap kali informasi melewati suatu rute, hal ini setara dengan menambah waktu transmisi sebesar satu blok waktu.

Seiring bertambahnya jumlah rantai shard, hal ini akan memerlukan banyak daya komputasi dan bandwidth jaringan, sehingga membatasi skalabilitas sistem. Oleh karena itu, tidak mungkin meneruskan pesan secara langsung dari satu shard ke semua shard lainnya. Sebaliknya, setiap pecahan hanya "terhubung" ke pecahan yang berbeda satu digit heksadesimal pengidentifikasi pecahannya (w,s). Dengan cara ini, semua rantai pecahan membentuk grafik "hypercube", dan pesan diteruskan di sepanjang tepi hypercube ini.

Jika pesan dikirim ke shard yang berbeda dari yang sekarang, angka heksadesimal dari pengidentifikasi shard saat ini (dipilih secara deterministik) akan diganti dengan nomor yang sesuai dari shard target, dan pengidentifikasi yang dihasilkan akan digunakan sebagai perkiraan target, menjadi Penerima pesan yang diteruskan.

Keuntungan utama dari perutean hypercube adalah kondisi validitas blok. Validator yang membuat blok rantai shard harus mengumpulkan dan memproses pesan dalam antrean keluaran rantai shard yang "berdekatan" atau kehilangan sahamnya. Dengan cara ini, pesan apa pun diharapkan mencapai tujuan akhirnya cepat atau lambat; pesan tidak hilang dalam perjalanan atau terduplikasi.

Perutean Hypercube menimbulkan beberapa latensi dan biaya tambahan karena pesan perlu diteruskan melalui beberapa rantai shard perantara. Namun, jumlah rantai pecahan perantara ini tumbuh sangat lambat, terkait dengan logaritma jumlah total rantai pecahan N, log N.

Komunikasi tidak sinkron

Kontrak pintar di TON menerapkan komunikasi asinkron. Kontrak pintar di TON dapat dibandingkan dengan layanan mikro Internet. Setiap layanan mikro hanya memiliki akses sinkron atom ke data lokalnya. Komunikasi antara dua layanan mikro melibatkan pengiriman pesan asinkron melalui jaringan.

Dalam arsitektur sistem, sistem yang lebih besar sering kali perlu membangun layanan mikro. Pendekatan terdistribusi ini memerlukan beberapa trade-off untuk diadopsi, namun dapat memberikan manfaat pengalaman pengguna. Manajemen sistem modern mengandalkan sequencer seperti Kubernetes untuk mengambil serangkaian layanan mikro dalam container dan secara otomatis menjalankan instance baru sesuai permintaan (penskalaan otomatis) dan mempartisinya secara efisien di seluruh mesin.

Jika kita menggunakan analogi Kubernetes (sistem manajemen klaster berskala besar), inilah yang dilakukan TON. Saat beban meningkat pada rantai pecahan tertentu, rantai pecahan tersebut terbagi menjadi dua bagian. Karena kontrak pintar bersifat atomik, kontrak tersebut tidak akan pernah dapat dibagi dua. Ini berarti bahwa beberapa kontrak pintar yang dulunya berada di rantai pecahan yang sama mungkin suatu hari nanti akan berada di rantai pecahan yang berbeda.

Mesin Virtual (TVM) TON menerapkan konsep layanan mikro terdistribusi ke keseluruhan arsitektur Ethereum EVM.

Desentralisasi negara

Ini adalah mekanisme sharding yang paling kompleks dan menantang di bidang sharding. Seluruh database dipisahkan dan ditempatkan pada pecahan yang berbeda. Setiap pecahan menyimpan semua data dalam pecahannya sendiri, bukan dalam keadaan keseluruhan blockchain.

Dalam sharding blockchain TON, semua layanan diimplementasikan dalam bentuk kontrak pintar, dan data status kontrak pintar hanya disimpan di jaringan sharding yang sesuai untuk mencapai sharding negara.

Tidak hanya itu, di TON, kontrak menerapkan jalur implementasi unik di industri. Setiap pengguna dapat mengelola status token dalam kontraknya sendiri, sehingga benar-benar mencapai desentralisasi dari status blockchain. Saya mengeksplorasi prinsip desain ini secara detail melalui kasus.

Pertama, Anda perlu memahami kontrak Dompet dan kontrak dompet Jetton. Kontrak dompet adalah kontrak pintar khusus pengguna yang digunakan untuk mengelola token pengguna di blockchain TON. Kontrak dompet Jetton (Rusia: permata) adalah kontrak Dompet khusus yang khusus digunakan untuk mengelola tiket Jetton pengguna. Token ini dapat digunakan untuk membayar biaya jaringan dan melaksanakan kontrak pintar. Setiap pengguna memiliki kontrak Dompet dan kontrak dompet Jetton sendiri. Kontrak ini bertindak sebagai dompet digital pengguna untuk menyimpan dan mengelola token. Pada saat yang sama, kontrak ini juga dapat berinteraksi dengan kontrak pengguna lain untuk mencapai transfer aset dan transaksi yang terdesentralisasi.

Saat ini, diasumsikan bahwa pengguna A dan pengguna B masing-masing memiliki kontrak Wallet sendiri. Pengguna A ingin mentransfer sejumlah token ke Pengguna B. Dalam hal ini, kontrak Dompet pengguna A akan berinteraksi dengan kontrak Dompet Pengguna B untuk merealisasikan transfer token. Keseluruhan proses tidak perlu bergantung pada kontrak yang terpusat, namun dilaksanakan melalui dua kontrak yang terdesentralisasi.

Pengguna blockchain TON memiliki kontraknya sendiri untuk mengelola status asetnya, yang berarti tidak ada satu kontrak terpusat yang menanggung risiko pengelolaan semua aset. Hal ini meningkatkan desentralisasi sistem dan mengurangi risiko kegagalan tunggal. Status aset semua pengguna dikelola berdasarkan kontrak eksklusif, dan penyerang tidak dapat memengaruhi keseluruhan sistem dengan menyerang satu kontrak terpusat. Transaksi aset antar pengguna juga dapat dieksekusi secara otomatis melalui kontrak pintar, sehingga menghindari risiko operasi manusia. Anda juga dapat menyesuaikan kontrak Dompet dan kontrak dompet Jetton Anda sendiri sesuai dengan kebutuhan Anda untuk mencapai lebih banyak fungsi dan skenario aplikasi. Hal ini memberi pengguna fleksibilitas dan otonomi yang lebih besar. Setiap orang mengelola status aset dalam kontrak mereka sendiri, dan skalabilitas sistem ditingkatkan. Seiring bertambahnya jumlah pengguna, jumlah kontrak juga akan meningkat, namun hal ini tidak akan memberikan tekanan berlebihan pada keseluruhan sistem karena setiap kontrak berjalan secara independen.

Di atas adalah analisis saya tentang skalabilitas blockchain TON dan konsep arsitektur teknis dari kertas putih. Saya ingin mengucapkan terima kasih kepada Dr. Awesome Doge karena telah mengedit draf pertama. Terima kasih kepada tim pengembangan Rusia dan Ukraina atas upaya mereka yang tak henti-hentinya, dan terakhir terima kasih kepada Tuan Nikolai Durov, pendiri Telegram, atas rancangan hebatnya bertahun-tahun yang lalu, yang semuanya demi kemuliaan pikiran manusia.