Artikel ini membahas ide evolusi dan alasan desain solusi perluasan Rollup

Penulis Asli: ORFEO

Sumber asli: The SeeDAO

Proyek L2 sekali lagi menjadi pusat perhatian.

Sebagai perwakilan dari rute ekspansi Rollup di L2, setelah airdrop Arbitrum, Era zkSync akan diluncurkan. Di balik desain dan peta jalan baru yang tak ada habisnya, apa garis utama Rollup dan apa pemikiran evolusionernya? Mari kita lihat hari ini.

Poin utama dari artikel ini:

  • Ide perluasan L1 ditulis untuk kelas tiga
  • Desain solusi Rollup dari awal
  • Cara menggunakan bukti tanpa pengetahuan untuk membuat Rollup berevolusi lagi

Dimulai dengan analogi

Untuk Bitcoin dan Ethereum, sejak kelahirannya, ada dua kritik terbesar dari pengguna biasa:

  • Lambat: Jalur awalnya sempit, dan jika terlalu banyak mobil, akan diblokir.
  • Mahal: Tol di puncak datar tidak murah. Jika Anda ingin lewat dengan cepat selama periode puncak, Anda perlu menggunakan "kemampuan uang" untuk menambah uang dan membiarkan penambang menerbangkan helikopter untuk menjemput Anda.

Kedua kritik ini berasal dari dua faktor dalam desain blockchain:

  • Kapasitas blok: analog dengan jalur, semakin besar kapasitas blok, semakin banyak mobil yang dapat ditampung, dan semakin kecil kemungkinannya untuk diblokir.
  • Mekanisme insentif: Tidak peduli seberapa besar jalan masuk, ada kemungkinan diblokir. Dalam hal ini, siapa yang boleh lewat lebih dulu? Tergantung siapa yang terburu-buru, tetapi Anda tidak bisa hanya mendengarkan kata-kata orang , itu tergantung kemauan membayar, seperti memanggil ambulans, itu akan menjadi beberapa ratus.

Jika blockchain benar-benar bisa menjadi seperti jalan masuk, maka solusi mendasarnya adalah secara alami memperluas jalan masuk, dan pada saat yang sama bekerja sama dengan sarana harga untuk memandu waktu keluar, dan jangan keluar jika Anda tidak berada di jalan. buru-buru.

Namun, meskipun pelebaran jalur dan peningkatan kapasitas blok merupakan solusi efisiensi lalu lintas yang menarik, ini merupakan upaya terakhir dalam desain blockchain. Karena semakin besar ukuran blok, semakin tinggi persyaratan perangkat keras untuk penambang, dan semakin sedikit penambang yang dapat memenuhi persyaratan; menurut ide ini, jika Anda ingin memproses ribuan transaksi per detik seperti Visa, Anda hanya akan membuat yang lain Visa terpusat bertentangan dengan tujuan inti dari ketidakpercayaan blockchain.

Apakah ada solusi lain? Ya, selain panduan waktu, kami juga dapat mengoptimalkan ruang, termasuk namun tidak terbatas pada:

  • Buka jalur yang berbeda, satu untuk truk besar, satu untuk mobil, dan satu untuk bus, tanpa mengganggu satu sama lain — Berdasarkan ide ini, kita dapat sampai pada beberapa rantai utama, rantai samping atau Plasma dengan kekuatannya masing-masing.
  • Optimalkan desain rute, alihkan lalu lintas dengan tepat, jangan pergi ke kota untuk melakukan apa pun, Anda harus mengambil jalan utama ini, Anda harus melalui pos pemeriksaan di sini —— Berdasarkan ide ini, kami dapat melakukan sharding.
  • Mengapa Anda harus keluar? Belum terlambat untuk mengadakan rapat jarak jauh dan mencapai kesepakatan, dan belum terlambat untuk menandatangani kesepakatan secara offline——Berdasarkan ide ini, kita dapat memiliki saluran negara (State Channel).
  • Anda tidak harus menyetir sendiri saat keluar, Anda juga bisa carpool, atau naik transportasi umum —— Berdasarkan ide ini, kami memiliki protagonis dari artikel ini, Rollup.

Sebagai bus di blockchain, kunci Rollup adalah menghemat ruang dan bensin (Gas, permainan kata-kata):

  • Hemat ruang, sehingga tidak mudah macet, dan tol yang ditanggung masing-masing orang jauh lebih sedikit daripada mengemudi sendiri;
  • Bensin hemat, sehingga harga tiket dekat dengan masyarakat, dan semua orang mampu membelinya.

Dengan cara ini, dua slot "lambat" dan "mahal" diselesaikan dengan Rollup.

Mari kembali ke blockchain dan lihat rencana spesifik Rollup.

Merancang Rollup dari awal;

Daripada mengintip jawaban standar (belum lagi tidak ada), lebih baik memiliki ketegangan dan membayangkan apa yang akan Anda lakukan ketika Anda ditugaskan merancang Rollup untuk Ethereum.

Sebaiknya kita mulai dari dua perspektif untuk mengurangi biaya komputasi (menghemat bensin) dan mengurangi biaya penyimpanan (menghemat ruang), dan pertama mengusulkan solusi yang lebih radikal yang disebut Rollup 1.0;.

Rollup 1.0;

Rollup 1.0 terdiri dari 3 poin utama:

  • Adanya penyedia layanan (Operator) yang mengumpulkan transaksi "carpooling" (Transaksi) semua orang, dan "kirim pesanan" ketika carpool penuh atau tidak tetapi waktu yang disepakati habis, dengan mempertimbangkan harga dan ketepatan waktu;
  • Semua kalkulasi yang terlibat dalam transaksi yang dikirimkan oleh semua orang dilakukan secara off-chain oleh penyedia layanan ini, karena kalkulasi off-chain lebih cepat daripada on-chain, dan kalkulasi seringkali merupakan bagian terbesar dari biaya on-chain, yang dapat menghemat banyak biaya uang;
  • Setelah perhitungan, dapatkan status yang diperbarui (seperti saldo terbaru di akun Anda), dan simpan di rantai, sehingga biaya penyimpanan jauh lebih rendah.

Sederhananya, itu untuk secara teratur dan kuantitatif mengumpulkan permintaan transaksi semua orang, dan setelah perhitungan off-chain, hanya hasil perhitungan yang dipadatkan pada rantai.

Solusi ini dengan sempurna memecahkan dua masalah utama "lambat" dan "mahal", tetapi tampaknya menimbulkan masalah baru:

  • Insentif: Siapa yang akan menyediakan layanan "carpooling" dan apa keuntungannya.
  • Masalah ulasan (Sensor): Penyedia layanan dengan sengaja tidak memproses pesanan saya (atau menutup atau berhenti), apa yang harus saya lakukan;
  • Masalah Penipuan (Fraud): Apa yang harus saya lakukan jika penyedia layanan menipu dan mengutak-atik hasil perhitungan, menyebabkan saya mentransfer uang ke orang lain, dan uang itu digelapkan olehnya.

Untuk tiga masalah baru ini, kita dapat mengulang versi rencana.

Rollup 2.0;

Masalah motivasi paling baik dipecahkan, dan masalah yang bisa diselesaikan dengan uang bukanlah masalah. Penyedia layanan dapat membagi biaya "carpooling" secara merata, dan membebankan sedikit "tip" tambahan.Meski begitu, ini masih merupakan situasi win-win dengan orang yang "carpooling".

Masalah peninjauan sedikit lebih merepotkan, tetapi solusinya sangat umum di bidang blockchain, dan itu adalah desentralisasi. Sekelompok orang adalah penyedia layanan, yang lebih baik dari hanya satu penyedia layanan; siapa pun bisa menjadi penyedia layanan, yang lebih baik daripada sekelompok orang tetap. Dalam cara bermain yang terakhir, jika semua penyedia layanan tidak bagus, Anda juga bisa menjadi penyedia layanan sendiri, atau langsung ke L1 untuk memulai arbitrase.

Penipuan sedikit lebih sulit. Ini dapat dipecah menjadi dua pertanyaan — satu adalah bagaimana mengidentifikasi penipuan, dan yang lainnya adalah bagaimana mencegahnya.

Pertama-tama, untuk mengidentifikasi penipuan, kita perlu mengetahui data transaksi (Transaksi) semua orang, keadaan sebelum transaksi (Negara), untuk menghitung keadaan baru (Negara') setelah transaksi, dan membandingkannya dengan keadaan baru. disimpan pada rantai penyedia layanan. Jika sama, berarti penyedia layanan itu jujur, jika tidak, itu berarti dia berbohong. Namun, kami tidak mengetahui data transaksi karena tidak on-chain. Alhasil, kita hanya bisa skeptis dan tidak bisa menilai apakah penyedia jasa itu jujur atau tidak.

Kemudian, cara terbaik untuk mencegah penipuan adalah dengan membuat tidak mungkin terjadinya penipuan. Ini relatif sulit, kecuali jika perhitungan penyedia layanan diperiksa setiap saat di rantai, tetapi dengan cara ini, tidak akan ada keuntungan dari " menumpang mobil". Jadi kita hanya bisa mundur selangkah dan membuat biaya penipuan menjadi sangat tinggi, sehingga penyedia layanan memiliki kulit dalam permainan, seperti membayar deposit (Stake), yang akan disita jika ditemukan penipuan. (Metode ini disebut konsensus sosial, yang termasuk dalam keamanan berbasis game, dan juga disebutkan dalam "Mingguan #3;".)

Rollup 3.0;

Rollup 2.0 lumayan, tetapi masalah pengidentifikasian penipuan tidak terpecahkan.

Menurut kesimpulan sebelumnya, untuk mengidentifikasi penipuan, kita harus mengetahui data transaksi, jadi bagian data ini harus berada pada rantai yang sama dengan data status.

Siapa yang akan mengetahui bahwa mereka curang? Jelas, ini tidak mungkin menjadi pengguna biasa, karena tidak mungkin semua orang memantau setiap gerakan penyedia layanan 7;x; 24 jam, sehingga hanya bisa menjadi "pemburu hadiah" profesional (Validator). Jika "pemburu hadiah" melaporkan penipuan dalam waktu 7 hari setelah penyedia layanan "mengirim pesanan" dan memverifikasi kebenarannya, transaksi akan dibatalkan dan penyedia layanan akan dihukum. Tentu saja, dengan cara yang sama, "pemburu hadiah" juga membutuhkan insentif, misalnya setelah penipuan ditemukan, sebagian dari setoran penyedia layanan akan diberikan kepada "pemburu hadiah" (hanya sebagian, untuk menghindari kolusi antara penyedia layanan dan pemburu hadiah).

Rollup 4.0;

Pada tahap Rollup 3.0, seluruh solusi telah dapat berjalan lancar, namun biaya baru telah diperkenalkan. Biaya sejauh ini meliputi:

  • Biaya kepada penyedia layanan (termasuk biaya dan "tips");
  • Biaya penyimpanan on-chain dari transaksi dan data negara;
  • Ketika "Pemburu Bayaran" percaya bahwa penyedia layanan itu curang, biaya komputasi untuk memverifikasi apa yang dikatakannya benar di rantai.

Mari kita lihat biaya apa saja yang bisa dioptimalkan.

data transaksi

Dengan cara tertentu, beberapa transaksi digabungkan menjadi satu, dan ruang yang ditempati bisa lebih kecil dari jumlah ruang yang ditempati oleh setiap transaksi.

Mengambil transaksi transfer ETH yang paling sederhana sebagai contoh, kami membongkar komposisi konten dari setiap transaksi, dan kami dapat melihat bahwa ruang tanda tangan menyumbang proporsi terbesar. Kami dapat menggabungkan tanda tangan dari semua transaksi menjadi satu (Agregasi Kunci), yang menghemat banyak biaya penyimpanan (mirip dengan Schnorr di Bitcoin). Selain itu, kami juga dapat mengoptimalkan bagian lain, seperti menghilangkan Nonce, dan memilih "gemuk dan kurus" sebanyak mungkin saat "carpooling", dan "carpooling person" yang sangat cocok untuk memaksimalkan penggunaan "carpooling". " ruang angkasa.

Artikel ini membahas ide evolusi dan alasan desain solusi perluasan Rollup

sumber:

Hanya tiga atau dua kali, ukuran setiap transaksi transfer ETH telah dikurangi dari 112 byte menjadi 12 byte, yang mendekati sepersepuluh dari yang sebelumnya; tentu saja, ada cara lain untuk mengompresi data transaksi lebih lanjut.

Dalam operasi sebenarnya, kita dapat memasang metode seperti itu dalam kontrak yang diterapkan pada rantai:

function storeTxData(bytes calldata data) eksternal {;// tidak melakukan apa-apa}

Kemudian setiap kali "carpooling" berhasil, data transaksi yang digabungkan dan dikompresi diteruskan ke metode ini sebagai calldata. Calldata tidak perlu disimpan secara permanen, dan setelah Periode Tantangan Publisitas Konsensus Sosial (Periode Tantangan), tidak masalah jika dipangkas (Prune); harganya sendiri sangat rendah, dan akan lebih murah dengan implementasi EIP seperti Danksharding dan Data Blob , bentuk penerapan L1 untuk distribusi penyimpanan data (Ketersediaan Data) juga akan lebih formal.

data status

Sekarang data transaksi telah diunggah ke rantai, siapa pun dapat menghitung status yang diperbarui melalui data transaksi, dan data status tidak begitu diperlukan. Kami hanya dapat menyimpan Root Merkel dari data negara, yang digunakan untuk memungkinkan pengguna biasa ("carpooler") mengajukan penarikan langsung ke L1 ketika penyedia layanan tidak bekerja sama, dan mengandalkan Bukti Merkel untuk membuktikan bahwa mereka memiliki uang di akun mereka.

Biaya Arbitrase Penipuan

Ketika "pemburu hadiah" melaporkan penipuan ke penyedia layanan, perhitungan kontrak on-chain (Putar Ulang) dilakukan sekali dan hasil status dibandingkan. Secara teori, hal ini layak dilakukan. Namun, biaya untuk melakukannya tidak rendah (walaupun sudah bagus), dan yang kedua adalah bahwa jumlah Gas dari transaksi yang termasuk dalam "daftar carpooling" Rollup dapat melebihi batas gas Ethereum, sehingga tidak mungkin untuk memverifikasi.

Oleh karena itu, arbitrase perlu mengurangi beban, dan cara untuk mengurangi beban adalah secara alami dengan menempatkan operasi kalkulasi yang tidak perlu di luar rantai. Salah satu solusinya disebut Interactive Proving Proses umumnya adalah sebagai berikut:

  • "Bounty Hunter" membayar deposit, lalu melaporkan, dan membagi seluruh proses penghitungan menjadi n segmen secara berurutan, menunjukkan bahwa penyedia layanan melakukan penipuan di segmen k (1;≤k≤n);
  • Penyedia layanan menelusuri dan membongkar segmen k menjadi segmen k, dan menunjukkan segmen "pemburu hadiah" mana yang salah;
  • Jadi bolak-balik, mengetahui bahwa operasi perhitungan tidak dapat lagi dibor atau dibongkar, misalnya, ketika "pemburu hadiah" berpikir 1+;1;=;2;, penyedia layanan berpikir 1+;1;= ;3;;
  • Pada saat ini, kontrak pada rantai mengintervensi, menghitung 1+;1;, dan memperoleh 2;, dengan demikian menentukan bahwa penyedia layanan curang, menyita depositnya, dan menghadiahkan sebagian darinya kepada "pemburu hadiah".

(Selama keseluruhan proses, jika salah satu pihak gagal membalas dalam waktu tunggu, pihak tersebut gagal.)

Dengan cara ini, biaya arbitrase di seluruh rantai sangat, sangat rendah.

Karena itu, kami telah sepenuhnya membangun solusi Rollup. Karena skema ini mengasumsikan bahwa penyedia layanan secara default jujur, kecuali ada laporan "pemburu hadiah", faksi ini disebut rollup optimis, yang disebut Batal Optimis.

Jadi, apakah Rollup 4.0 kami adalah solusi terbaik?

Evolusi ulang rollup

Setelah beberapa iterasi kami, Rollup 4.0 masih memiliki beberapa ketidaksempurnaan:

  • Penipuan perlu ditemukan oleh "pemburu hadiah", tetapi jika tidak ada penipuan untuk waktu yang lama, "pemburu hadiah" dapat keluar dari bisnis karena tidak menguntungkan, sehingga akan ada celah (walaupun tidak mungkin, karena Stakeholder rantai rollup seperti vendor aplikasi kemungkinan besar akan bertindak sebagai "pemburu hadiah");
  • Untuk memastikan tidak ada penipuan, berdasarkan konsensus sosial, Anda perlu menunggu beberapa hari, yang akan memengaruhi operasi seperti penarikan;
  • Ada banyak data di rantai, dan biayanya masih ada;
  • Saat ini mengandalkan lapisan ekspansi Rollup, throughput dapat ditingkatkan 10 kali lipat. Apakah mungkin lebih tinggi?

Apakah ada solusi yang dapat membuat penipuan menjadi tidak mungkin sama sekali, membuat finalitas (Finalitas) lebih cepat, membuat lebih sedikit data yang perlu diunggah ke rantai, dan membuat perluasan lebih besar? Saya tidak ingin terlalu banyak, tetapi ada semacam solusi yang dapat memuaskan hampir semua imajinasi - Zero Knowledge Rollup (singkatnya ZK-Rollup).

ZK-Rollup adalah ide Rollup menggunakan bukti tanpa pengetahuan (ZKP). Yang disebut ZKP mengacu pada teknologi yang meyakinkan pihak lain bahwa Anda mengetahui informasi ini tanpa mengungkapkan informasi sensitif apa pun. Untuk menjelaskan ZKP, ada dua contoh favorit saya:

*Bayangkan di kota Eropa abad pertengahan dan saya memiliki peta harta karun dengan tanda harta karun di atasnya. Untuk membuktikan kepada Anda bahwa saya memiliki peta harta karun, tetapi tanpa memberi tahu Anda lokasi persis harta karun itu, saya menutup mata Anda, menyeret Anda ke kereta, dan berkeliling kota selama setengah jam untuk memastikan Anda kehilangan arah, Akhirnya tiba di tempat tujuan, keluar dari mobil dan menunjukkan harta karun, lalu membawa Anda kembali berkeliling. Ini adalah bentuk ZKP yang naif.

  • Analogi lain lebih umum. Misalkan ada teka-teki Sudoku, saya tahu jawabannya tetapi Anda tidak, tetapi Anda tidak percaya bahwa saya tahu, saya ingin membuktikan kepada Anda bahwa saya tahu, tetapi saya tidak ingin Anda tahu jawabannya. apa yang harus dilakukan? Saya dapat meletakkan Sudoku di atas meja dengan kartu, lalu meletakkan angka terbuka dan angka yang perlu diisi di bawah, dan membiarkan Anda memilih untuk memeriksa jawaban saya per baris atau kolom. Jika berdasarkan baris, saya akan mengelompokkan angka di setiap baris, memecahnya, dan menunjukkan kepada Anda bahwa setiap baris adalah 1 sampai 9;. Tidak apa-apa mengulanginya beberapa kali, jadi Anda bisa percaya bahwa saya benar-benar tahu jawabannya dengan probabilitas tinggi. Ini adalah salah satu metode bukti interaktif ZKP (karena sulit untuk mencapai interaksi on-chain real-time di blockchain, bukti non-interaktif umumnya digunakan, dan tantangan acak dihasilkan oleh fungsi Hash).

Dalam istilah yang kurang ketat, gagasan inti ZKP adalah bahwa pembukti (Prover) pertama-tama menyembunyikan pengetahuan rahasia, "berkomitmen" (Komit), dan kemudian pemverifikasi (Pemverifikasi) memulai tantangan acak (Tantangan). jika dia berhasil melewati tantangan, maka kemungkinan besar dia memiliki pengetahuan rahasia yang sesuai.

ZKP harus memenuhi 3 persyaratan:

  • Jika peribahasa berbohong, ada kemungkinan besar gagal dalam tantangan (Soundness);
  • Jika peribahasa memiliki ilmu, ia akan mampu melewati tantangan (Kelengkapan);
  • Selama interaksi antara kedua belah pihak, peribahasa tidak akan mengungkapkan informasi yang berguna (Zero-knowledgeness).

Untuk memenuhi ketiga persyaratan ini, ZKP menggunakan berbagai masalah NP, termasuk dekomposisi bilangan prima yang paling sederhana, dan logaritma diskrit (seperti Schnorr) dan seterusnya.

ZKP bukanlah teknologi yang lahir untuk blockchain, tetapi dapat digunakan untuk ekspansi L2, terutama karena ZKP yang baik memiliki karakteristik berguna sebagai berikut:

  • Prover (penyedia layanan) dapat dengan cepat memberikan bukti, untuk memastikan bahwa efisiensi perhitungan di bawah rantai sangat tinggi dan tidak menjadi hambatan;
  • Ukuran pembuktiannya kecil, atau setidaknya sebanding dengan jumlah perhitungan yang akan dibuktikan, dan pengaruh jumlah data sekecil mungkin, sehingga biaya penyimpanan pada rantai rendah;
  • Pemverifikasi (kontrak L1) dapat dengan cepat memverifikasi apakah buktinya valid, sehingga biaya perhitungan pada rantai menjadi rendah.

Dengan menggunakan fitur ini, solusi Rollup kami dapat:

  • Tidak perlu "pemburu hadiah", kontrak L1 dapat mendeteksi penipuan di tempat dengan sendirinya;
  • Selama verifikasi ZKP valid, penarikan dapat dilakukan segera, dan finalitas dipersingkat dari hari ke menit;
  • Hanya perbedaan antar status yang diperlukan pada rantai, ruang sangat kecil, dan biaya penyimpanan sangat rendah (bonus tambahan — privasi juga ditingkatkan);
  • Melalui pengoptimalan perangkat lunak dan perangkat keras yang disesuaikan dari proses pembuktian dan verifikasi, kapasitas ekspansi dapat ditingkatkan dengan urutan besarnya yang lain.

Tentu saja, mekanisme keamanan apa pun akan memiliki prasyarat potensial, dan ZKP bukanlah obat mujarab untuk blockchain. ZKP saat ini masih memiliki banyak keterbatasan yang perlu diatasi secara bertahap, seperti:

  • Ambil zk-SNARK yang paling umum digunakan di blockchain sebagai contoh Banyak skema perlu memperkenalkan sebanyak mungkin orang atau perusahaan bergengsi di awal, dan melakukan Pengaturan Tepercaya untuk menghasilkan nomor acak yang sebenarnya dan menjamin Proses pembuatannya dapat diverifikasi tetapi tidak sepenuhnya publik (seperti dalam upacara Kekuatan Tau, selama satu pihak dapat dipercaya, tetapi masih dianggap cacat). Tentu saja, beberapa skema zk-SNARK baru dan zk-STARK yang lebih baru dapat menyelesaikan masalah ini, tetapi terkadang masalah baru muncul.
  • Banyak masalah yang sulit untuk diringkas sebagai masalah ZKP, yang telah menyebabkan fakta bahwa programabilitas belum terselesaikan dengan baik untuk waktu yang lama Sulit untuk mewujudkan ZKP yang sepenuhnya kompatibel dengan EVM di Ethereum, atau bahkan jika bisa tercapai, Namun aspek lain (seperti efisiensi verifikasi) akan terpengaruh.

Artikel ini membahas ide evolusi dan alasan desain solusi perluasan Rollup

sumber:

Inilah sebabnya, di ZK-Rollup, bidang ekspansi berorientasi masa depan, setiap kemajuan patut dipuji dan memuaskan.

Artikel ini membahas ide evolusi dan alasan desain solusi perluasan Rollup

sumber:

tulis di akhir

Sejauh menyangkut perluasan kapasitas di masa depan, penulis percaya bahwa dibandingkan dengan perluasan kapasitas asli L1, desain berlapis termasuk Rollup adalah ide yang lebih andal. Modularisasi, setiap lapisan memecahkan masalah setiap lapisan, yang kurang berisiko daripada penumpukan terus menerus pada L1 yang sudah "monolitik"; terlebih lagi, desentralisasi L1 yang mendasarinya karena perluasan kapasitas secara teoritis tidak mungkin terjadi. itu. Selain itu, ide desain berlapis ini tampaknya memiliki aplikasi yang sukses di bidang selain blockchain. Sudut pandang belum tentu benar, tetapi ini adalah kognisi penulis saat ini.

Artikel ini mencoba memilah pemikiran dan desain alasan solusi perluasan Rollup dalam nada proyek-agnostik. Karena tingkat yang terbatas, beberapa tempat masih agak tumpul, yang mungkin tidak hanya tidak menjelaskannya di tempat, tetapi juga menambah kesulitan pemahaman; sebagai bidang vertikal yang berubah setiap hari, penulis mungkin tidak menyadarinya dari dan memperhitungkan banyak perkembangan baru dalam waktu. Sangat menyambut teman-teman untuk memperbaiki dan berkomunikasi.

Lihat Asli
Konten ini hanya untuk referensi, bukan ajakan atau tawaran. Tidak ada nasihat investasi, pajak, atau hukum yang diberikan. Lihat Penafian untuk pengungkapan risiko lebih lanjut.
  • Hadiah
  • Komentar
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate.io
Komunitas
Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)