L1s vs. L2s, Rollup vs. Terintegrasi, Tujuan umum vs. Khusus aplikasi

MenengahJan 10, 2024
Artikel ini menguraikan trade-off antara Rollup dan integrasi, L1 dan L2, serta rantai khusus aplikasi dan rantai tujuan umum.
L1s vs. L2s, Rollup vs. Terintegrasi, Tujuan umum vs. Khusus aplikasi

Pengantar

Posting singkat ini akan menjelaskan pengorbanan nyata dari:

  • L1 vs. L2
  • Rollup vs. terintegrasi
  • Khusus aplikasi vs. tujuan umum

Kita memerlukan pemahaman yang lebih baik tentang arsitektur apa yang akan dibangun dan kapan. Jika tidak, kita akan terus mendapatkan infrastruktur membingungkan yang tidak dapat dipahami atau berinteraksi dengan pengguna mana pun. Ini adalah kesalahan paling umum yang saya lihat:

Sebagaimana dicatat dalam posting pengantar Eclipse menjelang peluncuran mainnet mereka yang akan datang:

Seringkali terdapat dikotomi palsu antara visi rollup modular vs. kemampuan untuk memiliki rantai tunggal dengan skala besar, eksekusi paralel, dan status bersama. “Modular” sering kali disamakan dengan “khusus aplikasi”, yang akan membuat Anda percaya bahwa rollup berarti dunia dengan banyak rantai yang terfragmentasi dan throughput rendah. Kami menantang gagasan itu.

Rollup dan L2 bukanlah UX yang buruk. Rollup dan L2 yang terfragmentasi adalah UX yang buruk. Rollup dan L2 yang dirancang dengan benar akan meningkatkan UX.

Rollup vs. Terintegrasi

Semua rantai pada akhirnya dapat mengadopsi teknologi terbaik (misalnya DAS + ZK) jika terbukti bermanfaat. Seperti yang dibahas dalam laporan terakhir saya , Apakah Rollup Mewarisi Keamanan?, perbedaan yang tersisa kira-kira sebagai berikut:

  • "Rollup" alias “Modular” - Membangun rantai terpisah secara logis yang memposting data ke rantai hostnya (lapisan DA). Mereka menggunakan kembali konsensus rantai host.
  • “Terintegrasi” alias “Monolitik” – Mengintegrasikan semuanya ke dalam satu protokol dengan konsensusnya sendiri. Jangan memposting data ke rantai host terpisah. (Bahkan jika lapisan DA dan lapisan eksekusi dalam beberapa hal secara logis merupakan bagian terpisah dari protokol bersama).

Solana dan Eclipse mewakili jalur paralel, seperti yang ditunjukkan dalam Tesis Solana Synccracy :

Seperti yang saya bahas di episode Uncommon Core baru-baru ini dengan Hasu, kedua pendekatan tersebut akan memiliki nilai jangka panjang.

Solana mengambil pendekatan dengan menggabungkan semuanya menjadi satu konsensus. Ini mengejar latensi minimum (waktu slot rata-rata saat ini ~400-500 md dengan harapan mencapai 200 md di masa mendatang) sambil mempertahankan set validator yang besar (~2.000). Pencapaian luar biasa ini memerlukan beberapa terobosan teknis.

Namun, kedua tujuan ini (desentralisasi maksimum + latensi minimum) secara inheren berada dalam ketegangan. Sangatlah menantang untuk menjaga agar konsensus ini tetap stabil saat berjalan pada kecepatan dan throughput maksimal. TowerBFT tidak memiliki analisis keamanan atau keaktifan formal, dan tidak jelas apakah bukti sejarah saat ini berguna dan tangguh dalam model permusuhan atau dapat dihilangkan begitu saja. Keekonomian sistem latensi rendah juga tentu saja meningkatkan insentif untuk melakukan sentralisasi.

Eclipse mengambil pendekatan unbundling konsensus. Rollup dapat memiliki rangkaian sequencer pilihan yang lebih kecil (bahkan berpotensi dijalankan oleh satu operator) untuk mengoperasikan lingkungan yang terkendali. Hal ini dapat meningkatkan keandalan dan mengurangi latensi lebih jauh lagi, menawarkan produk Web2 dengan keunggulan crypto rails. Code, sebuah aplikasi pembayaran yang diterapkan sebagai L2 di Solana menggunakan nonce yang tahan lama, memiliki keinginan serupa untuk pembayaran instan dan andal. Selain UX yang luar biasa dengan latensi yang hampir instan, mendorong batas bawah lebih jauh lagi juga diperlukan untuk aplikasi keuangan yang bernilai tinggi dan berlatensi rendah.

Rollup kemudian dapat memposting datanya ke kumpulan konsensus terdesentralisasi lainnya untuk verifikasi yang lebih kuat dalam skala waktu yang lebih lambat. Misalnya, Celestia memiliki waktu blok 15 detik dengan finalitas satu slot, yang sebenarnya tidak jauh berbeda dengan Solana! Solana memiliki konfirmasi ~400 md, kemudian finalitas dicapai setelah 32 slot (~12,8 dtk).

Tidak ada makan siang gratis di sini. Ada potensi trade-off pada properti set validator real-time (misalnya, Solana memiliki validator yang jauh lebih banyak dibandingkan rollup sequencer) vs. jaminan yang diberikan (misalnya, lingkungan berketahanan terkendali, latensi lebih rendah, dll.). Tingkat komitmen yang tepat yang diberikan (dan pada skala waktunya) adalah sebuah spektrum. Pertanyaan teknik terbuka masih ada, dan kecocokan terbaik kemungkinan akan bervariasi berdasarkan kasus penggunaan. Tentu saja biaya juga penting di sini, sehingga lapisan DA yang dapat diskalakan seperti Celestia (yang digunakan Eclipse) akan diperlukan.

Eclipse jelas tidak akan menggantikan Solana. Masing-masing membuat pengorbanan yang berbeda dan mengejar pasar yang berbeda. Solana tetap menjadi jantung dan jiwa pengembangan SVM, dan kemungkinan besar akan ada banyak aplikasi baru yang diterapkan di sana sebagai hasilnya. Namun, jelas bahwa akan ada lebih dari satu rantai SVM dalam jangka panjang (bahkan Pyth sudah ada). Masa depan bukanlah rantai tunggal, dan SVM adalah teknologi yang luar biasa. Eclipse memulai tren mengekspornya ke L2, tapi saya berharap orang lain menyadari nilainya di sini dan mengikuti jejak mereka.

L1 vs L2

Saya menggunakan L1 dan L2 di sini dalam arti yang lebih populer untuk memasukkan rollup, validium, dll. Seperti yang tercakup dalam Berbagai jenis lapisan 2 Vitalik :

Jembatan validasi dua arah hampir cukup untuk membuat suatu rantai menjadi validium. Bahan utama yang tersisa adalah komitmen sosial bahwa jika sesuatu yang luar biasa terjadi di Ethereum yang membuat jembatan tersebut tidak lagi berfungsi, rantai lainnya akan melakukan hardfork sebagai responsnya.

Apa yang membuat L1 vs. L2 secara efektif adalah cara menangani fork. Validium akan kembali jika L1-nya mengembalikan satu blok, dan akan melakukan hard-fork jika lapisan dasarnya melakukan hard-fork. Untuk meningkatkan L2, beberapa bentuk tata kelola L2 harus ada di L1 sebagai kontrak jembatan yang dapat dibaca oleh L1.

Sekarang, mengapa kita menggunakan hal seperti itu? Apakah masuk akal bagi sebuah rantai untuk mendelegasikan pilihan garpunya ke L1 yang mendasarinya dan berakar di sekitar jembatannya di sana?

Terlepas dari kepercayaan umum bahwa perang L1 telah berakhir, Ethereum telah menang, dan semua pesaing Ethereum ingin menjadi L2 sekarang - Ethereum L2 bukanlah solusi terbaik untuk semua rantai.

Ethereum L2 sering dipandang sebagai cara paling aman dan terukur untuk membangun rantai. Namun, properti keamanan ini sering kali disalahpahami seperti yang dibahas dalam laporan terakhir saya. Hanya memposting bukti ke Ethereum dan mendelegasikan aturan pilihan fork Anda di sana tidak secara ajaib membuat rantai Anda menjadi super aman.

Argumen bahwa semua rantai harus diterapkan sebagai Ethereum L2 demi keamanannya sendiri sering kali salah. Sebaliknya, manfaat utama L2 adalah kemampuan untuk memanfaatkan efek jaringan Ethereum (pengguna, likuiditas, pengembang, peralatan, dll.). Ini adalah strategi masuk ke pasar.

Berjuang untuk mendapatkan perhatian masuk akal mengingat perhatian adalah satu-satunya sumber daya yang langka di kripto. L2 secara alami menjadi yang terdepan di kalangan pengembang, pengguna, media, dll. Menjadi L2 dulu sudah cukup untuk mendapatkan perhatian itu.

Namun, perhatian yang diterima dari menjadi L2 semakin berkurang. Daftar Ethereum L2 yang aktif dan yang akan datang sekarang terlalu panjang untuk dilacak oleh siapa pun. Rantai yang berputar ke L2 tidak mendapatkan peningkatan perhatian seperti yang didapat oleh penggerak awal (misalnya, Optimisme dan Arbitrum). Bahkan membanjirnya zkEVM yang telah lama ditunggu-tunggu sedang berjuang untuk menarik pengguna, aplikasi, dan nilai.

Jadi, menjadi L2 saja tidak menjamin perhatian semua orang lagi. Namun, ia tetap dapat menawarkan keunggulan produk dibandingkan rantai mandiri jika Anda dapat menarik perhatian dengan cara lain. Misalnya, mengubah skema piramida menjadi persegi dapat menarik ~$700mm menjadi multisig tanpa L2. Alternatifnya, Anda dapat membangun SVM L2 pertama Ethereum.

Dengan asumsi Anda memiliki produk yang menarik perhatian, sekarang mari kita pertimbangkan bagaimana menjadi L2 dapat membantu rantai memanfaatkan basis pengguna Ethereum dan menawarkan pengalaman produk yang lebih baik. Hal ini terutama dilakukan dengan memanfaatkan aset asli Ethereum (misalnya, ETH) dengan cara yang menguntungkan (misalnya, jembatan dengan keamanan dan/atau UX yang menarik).

Nilai dari hal ini sangat bergantung pada dua asumsi inti:

1. Bahwa aset Ethereum yang ada penting untuk kasus penggunaan tertentu (misalnya DeFi yang bergantung pada ETH)

Jika aplikasi Anda sangat bergantung pada aset ekosistem Ethereum, arsitektur L2 mungkin berguna. Jika Anda sama sekali tidak peduli dengan aset Ethereum, maka menjadi Ethereum L2 tidak terlalu berharga. Aset berbasis Ethereum jelas merupakan aset paling penting dalam kripto saat ini, jadi ada pasar besar yang bisa dilayani di sini saat ini.

Melihat ke depan pada tingkat industri, pertanyaan intinya adalah seperti apa penciptaan negara kripto yang baru dan berharga di masa depan?

  • Jika keadaan masa depan ini semakin tidak terikat dengan keadaan asli Ethereum saat ini (misalnya, keadaan baru yang unik, RWA, dll.), maka daya tarik L2 mungkin berkurang.
  • Jika keadaan masa depan ini sangat bergantung pada keadaan asli Ethereum saat ini (misalnya perdagangan ETH), maka L2 mungkin memainkan peran penting.

Skenario sebelumnya mengambil pandangan bahwa kita hanya melihat penurunan dalam hal apa yang akan terjadi dengan kripto, dan Anda tidak boleh mengindeks secara berlebihan apa yang ada di sini hari ini. Skenario terakhir mengambil pandangan bahwa pengembangan dan aplikasi kripto akan sangat bergantung pada jalurnya, sehingga keadaan saat ini akan mempengaruhi hasilnya.

Keduanya memang benar, namun menurut saya pandangan optimistis mengenai prospek jangka panjang industri ini cenderung mengarah pada pandangan pertama. Akan ada banyak negara baru dan unik yang kita bahkan tidak dapat berpikir tentang hal itu terlepas dari negara saat ini. Keadaan kripto saat ini sangat buruk dibandingkan dengan keadaan masa depan yang diharapkan.

Misalnya, “jaminan penyelesaian” Ethereum yang sering dikutip tidak banyak berarti bagi aset dunia nyata (RWA) seperti stablecoin (misalnya, USDC) atau surat utang negara yang diberi token. Mereka “menyelesaikan” ketika penerbit (misalnya, Circle) menganggapnya demikian.

Dalam skenario ini, daya tarik menjadi Ethereum L2 mungkin berkurang sebagai bagian dari aplikasi. Aplikasi pembayaran baru berbasis USDC tidak peduli apakah itu Ethereum L2 atau bukan. Mereka hanya menginginkan infrastruktur termurah, tercepat, dan paling andal yang memungkinkan mereka menawarkan pengalaman produk terbaik kepada pengguna.

Pembentukan negara baru secara historis menjadi rintangan bagi Solana, meskipun kami melihat dengan jelas perubahan yang terjadi di sini. Banyak proyek DeFi dan infrastruktur terkenal di Solana kini meluncurkan token, dan masih banyak lagi yang akan datang. Ini memulai roda gila Solana.

2. Bahwa jembatan Ethereum ←→ L2 lebih disukai daripada jembatan Ethereum ←→ L1 (misalnya, karena alasan keamanan dan/atau UX)

Mari kita asumsikan bahwa asumsi pertama memang terpenuhi untuk kasus penggunaan tertentu (yaitu, Ethereum-native cukup berharga untuk aplikasi Anda). Lalu, kita perlu bertanya apakah L2 dapat mengekspos aset-aset ini dengan cara yang lebih menguntungkan vs. L1 yang terpisah. Katakanlah pengguna memiliki sejumlah ETH, dan mereka ingin menukarnya dengan USDC. Kemana mereka pergi?

Meskipun keamanan jembatan sering disebut-sebut sebagai motivasi di sini, argumen ini tampaknya lemah berdasarkan informasi yang tersedia. Banyak jembatan rollup terbesar bahkan tidak memiliki bukti, memiliki bukti yang masuk daftar putih, peningkatan yang dikontrol multisig, atau bahkan tidak memiliki L2.

Hal ini dibandingkan dengan jembatan pemverifikasi konsensus klasik (misalnya, IBC). Dalam praktiknya, tidak ada kegagalan kuorum validator yang besar dalam skenario seperti itu. Kegagalan jembatan umumnya terjadi karena peretasan dan/atau multisig jembatan yang dikompromikan (yang juga rentan terhadap L2).

Meskipun peningkatan keamanan kurang meyakinkan bagi saya di sini, akses mudah ke pengguna dan aset Ethereum adalah manfaat utama dari jembatan L2 saat ini menurut saya. Rollup seperti Base, Optimism, dan Arbitrum lebih terasa seperti ekstensi Ethereum. Pengguna menyimpan dompet dan alamat yang sama, token gas asli adalah versi kanonik tunggal dari ETH, ETH mendominasi DeFi seperti semua pasangan dagang, aplikasi sosial memberi harga NFT dalam ETH dan membayar pembuat konten dalam ETH (misalnya, friends.tech), setoran ke L2 bersifat instan (karena akan disusun kembali bersama-sama), dll.

Pengguna tidak dapat diharapkan untuk mempertimbangkan jembatan mana yang akan digunakan, menganalisis berbagai asumsi keamanan, mendapatkan salah satu dari beberapa token terbungkus yang tersedia, memperoleh token asli rantai untuk bahan bakar, dll. Mereka hanya ingin menjembatani ETH mereka, mendapatkan ETH di sisi lain, dan tetap menggunakan L2 seperti mereka menggunakan Ethereum atau L2 lainnya. Inilah sebabnya Eclipse hanya akan menggunakan ETH sebagai token asli yang digunakan untuk gas. Memaksakan token gas baru merugikan UX.

Jadi, mengapa Solana tidak bisa memberikan keunggulan yang sama seperti Ethereum L2? Ini sebenarnya lebih merupakan pertanyaan teknik daripada pertanyaan mendasar apa pun, dan akan menjadi lebih mudah seiring berjalannya waktu. Hal ini berlaku untuk token gas serta tantangan UX lainnya yang terkait dengan tidak menggunakan EVM (yang tidak melekat pada L1 vs. L2):

  • Token gas - Pembayaran gas dapat dipisahkan dari pengguna, memungkinkan pengguna membayar dengan token gas apa pun yang mereka pilih.
  • Menjembatani - Menjembatani kemungkinan akan semakin mengeras dan terstandarisasi dari waktu ke waktu, sehingga mengurangi kebingungan pengguna dan fragmentasi likuiditas.
  • Dompet - Snaps MetaMask yang baru-baru ini diluncurkan memperluas dukungan MetaMask ke rantai non-EVM melalui integrasi pihak ketiga yang dibangun di atasnya, seperti melalui MetaMask Snaps milik Drift atau Solflare.
  • Pengalaman Pengembang - Hambatan bahasa akan teratasi. Proyek seperti Solang dan Neon dapat membantu pengembang Solidity membangun Solana, dan proyek seperti Stylus dapat membantu pengembang Rust membangun Arbitrum.

Di masa depan, ETH bahkan mungkin berperan dalam Solana DeFi jika pengguna menyatakan preferensi yang kuat terhadap ETH dengan kecepatan dan skala Solana. Dalam praktiknya, kemungkinan besar pengguna dengan aset asli Ethereum ini akan terus menggunakannya dalam ekosistem Ethereum L2 karena alasan yang telah kita diskusikan, dengan asumsi mereka memiliki akses ke L2 yang skalabelnya sebanding.

Khusus aplikasi vs. Tujuan umum

Terlepas dari apakah suatu rantai merupakan L1 atau L2, terdapat kebutuhan yang jelas untuk meningkatkan throughput rantai tunggal dengan menskalakan eksekusi. Rollup tidak boleh berarti fragmentasi. Menyatukan banyak rantai homogen di bawah satu sequencer bersama yang stateful akan terlihat seperti satu rantai yang diparalelkan dari perspektif penskalaan dengan UX yang lebih menantang.

Kita sering melihat “blockspace khusus” disebut sebagai alasan untuk menerapkan rollup khusus aplikasi. Namun, kesalahpahaman ini sebagian besar muncul karena keterbatasan EVM single-threaded yang tidak perlu di pasar biaya global. SVM yang diparalelkan dengan pasar biaya lokal sangat mengurangi kebutuhan akan rantai aplikasi. Menghosting lebih banyak aplikasi di infrastruktur bersama secara signifikan mengurangi kompleksitas pengembang dan pengguna. UX lintas rantai dan kompleksitas pengembang di dunia banyak rantai adalah risiko eksistensial yang kurang dihargai.

Hal ini tidak berarti bahwa pada akhirnya akan ada satu rantai saja. Saya secara umum melihat empat argumen untuk menerapkan rantai Anda sendiri:

  1. Skalabilitas & Blockspace Khusus - Seperti disebutkan di atas, yang satu ini biasanya tidak meyakinkan. Satu mint NFT seharusnya tidak secara efektif menutup sisa rantai, tetapi jawabannya umumnya bukanlah membuat rantai lain. Hal ini diatasi dengan VM yang diparalelkan dengan pasar biaya lokal. Namun, jika bandwidth seluruh jaringan sudah jenuh, pasar biaya lokal tidak akan membantu (yaitu, biaya untuk rantai bersama akan meningkat secara global). Maka Anda memerlukan rantai lain.
  2. Kedaulatan - Tata kelola dalam kripto masih sangat buruk, dan memiliki rantai sendiri dapat menjadi mekanisme koordinasi yang membantu. Intuisi saya adalah bahwa ini adalah keadaan yang sangat jarang terjadi, namun sulit untuk mengatakannya dengan pasti. Hal ini sejalan dengan minat MakerDAO terhadap rantai aplikasi.
  3. Kemampuan untuk disesuaikan - Kustomisasi tingkat konsensus dapat bermanfaat untuk aplikasi tertentu (misalnya, dYdX v4), namun kasus-kasus ini secara empiris hanya sedikit dan jarang terjadi hingga saat ini. Bahkan dYdX, contoh cemerlang dari rantai aplikasi, “kemungkinan besar akan bergerak lebih ke arah eksekusi umum pada rantai dYdX” menurut Antonio dalam episode Bell Curve baru-baru ini. Kebutuhan akan penyesuaian tumpukan penuh yang tidak dapat diselesaikan pada rantai bersama umumnya kurang di sebagian besar kripto. Hampir semua rollup baru tetap hanya berupa fork vanilla EVM dengan token baru.
  4. Pengambilan Nilai - Ini bisa dibilang merupakan bagian dari kemampuan penyesuaian, tetapi ini cukup penting sehingga kami akan membaginya. Akan lebih sulit untuk menginternalisasi nilai pada infrastruktur bersama yang tidak dibangun hanya dengan mempertimbangkan aplikasi Anda. Rantai aplikasi dapat mempermudah pengalokasian nilai ke aplikasi yang bertanggung jawab. Namun, ini merupakan upaya rekayasa yang lebih dari sekedar upaya mendasar, dan ada penelitian yang sedang berlangsung di Solana tentang cara melakukan hal ini. Selain itu, perhatikan bahwa ada biaya overhead yang serius dalam penerapan rantai Anda sendiri vs. biaya amortisasi di seluruh infrastruktur bersama.

Motivasi utama peluncuran rantai aplikasi saat ini sering kali adalah peningkatan narasi dan/atau utilitas token untuk proyek yang sedang mengalami kesulitan. Penurunan pasar yang menurun dan kurangnya pertumbuhan aplikasi memberi insentif pada pengembangan dan pendanaan arsitektur yang terlalu rumit sehingga menghasilkan proyek-proyek baru yang diperlukan untuk memecahkan kompleksitas yang diakibatkan oleh diri sendiri.

Meluncurkan jaringan Anda sendiri saat ini membawa konsekuensi yang menyakitkan dan tidak perlu (kompleksitas, biaya, UX yang lebih buruk, likuiditas yang terfragmentasi, dll.) yang sebagian besar aplikasi tidak dapat membenarkan manfaat tambahannya. Infrastruktur yang diperlukan untuk membuat UX kompetitif tampaknya masih jauh. Hal ini tidak berarti bahwa tidak ada alasan bagi rantai aplikasi untuk ada (tentu saja ada). Sebaliknya, kita baru saja melakukan pengindeksan berlebihan secara besar-besaran ke arah narasi ini sebagai sebuah industri, sehingga tren penggabungan ulang saat ini jelas bermanfaat mengingat keadaan saat ini.

Kesimpulan

Solana berhak mendapatkan banyak momentum dalam beberapa bulan terakhir. Koreksi tajam ini sebagian besar merupakan pengakuan atas keadaan UX multi-rantai saat ini - terfragmentasi dan menyakitkan. UX penggunaan aplikasi Solana sungguh luar biasa. Halus dan cepat.

Rollup dan L2 mendapat reputasi buruk untuk UX, tetapi masalah sebenarnya adalah fragmentasi. Kami mengasosiasikan rollup dan L2 dengan penskalaan horizontal terfragmentasi karena dalam praktiknya sebagian besar dari mereka telah melakukan fork pada EVM apa adanya dan menggunakan bandwidth DA yang dibatasi. Mereka akhirnya mahal dan kikuk untuk digunakan.

Namun, hal ini tidak mendasar. Penskalaan vertikal dengan VM yang kuat pada lapisan DA yang dapat diskalakan mengatasi masalah UX dan biaya ini. Beberapa tingkat penggabungan ulang tumpukan untuk L1 dan L2 kemungkinan besar akan terjadi. L2 dan rollup akan meningkatkan UX jika digunakan dengan benar. Itu seharusnya menjadi nilai jual mereka yang sebenarnya.

Kedua pendekatan tersebut mempunyai kelebihannya masing-masing. Kita hanya perlu melakukan pekerjaan yang lebih baik dengan terlebih dahulu bertanya pada diri sendiri “pasar apa yang ingin dituju oleh produk ini?” dan “bagaimana arsitektur ini dapat memenuhi kebutuhan saya?” sebelum kita membangun L1, L2, L3 berikutnya…

Penafian:

  1. Artikel ini dicetak ulang dari [dba]. Semua hak cipta milik penulis asli [Jon Charbonneau]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500
Tạo tài khoản