
Cara Mengatasi Spam dengan QUICepat: Semua yang Perlu Anda Ketahui tentang Solana dan QUIC
Apa yang dibahas dalam artikel ini?
Solana adalah blockchain tercepat dan paling skalabel yang saat ini tersedia di pasar. Solana dikenal karena kecepatan transaksinya, sehingga menjadi chain yang ideal untuk berbagai kasus penggunaan. Terlepas dari pencapaian tersebut, jaringan Solana telah menjadi sasaran ketakutan, ketidakpastian, dan keraguan (secara umum disingkat FUD) terkait waktu henti. Meskipun FUD ini sebelumnya merupakan kekhawatiran yang beralasan, saat ini hal tersebut tidak beralasan. Mengapa? Para engineer di Solana Labs telah mengerjakan berbagai peningkatan jaringan selama setahun terakhir. Salah satu yang paling penting adalah mengganti protokol khusus Solana berbasis UDP mentah untuk menerima transaksi dengan QUIC.
Dalam artikel ini, kita akan membahas mekanisme protokol jaringan, TCP, dan UDP, serta mempelajari bagaimana QUIC menyempurnakan keduanya. Setelah itu, kita akan beralih ke Solana dan membahas keunggulan khususnya. Artikel ini bertujuan memberi Anda pemahaman menyeluruh tentang alasan peningkatan jaringan ini menjadi pencapaian teknis yang signifikan bagi Solana.
Peningkatan Jaringan Solana
Pada 13 Desember 2022, Solana Foundation menerbitkan artikel berita berjudul “Peningkatan Jaringan Solana”. Artikel tersebut menguraikan sejumlah peningkatan yang sedang dilakukan pada jaringan beserta progresnya. Peningkatan tersebut adalah sebagai berikut:
QUIC
- Saat ini aktif di Mainnet-beta
QoS berbobot stake
- Saat ini aktif di Mainnet-beta
Pasar biaya
- Saat ini aktif di Mainnet-beta, dengan dukungan RPC dan dompet yang akan segera tersedia
- Anda dapat mengikuti progresnya di sini
Peningkatan ukuran transaksi
- Saat ini sedang dikembangkan
Status voting ringkas
- Saat ini aktif di Testnet
Salah satu alasan utama Solana mengalami waktu henti pada masa lalu adalah spam. Beberapa contohnya meliputi:
- Spam Grape IDO pada 14 September 2021
- Serangan DDoS yang terjadi pada 6–12 Januari 2022
- Spam pencetakan NFT yang terjadi pada 30 April–1 Mei 2022
Sejak QUIC diterapkan, tidak ada kasus waktu henti terkait spam yang dilaporkan pada Solana. Hal ini menjadikan QUIC pencapaian penting dalam meningkatkan lalu lintas jaringan dan penerimaan data Solana. Sebelum mempelajari QUIC, kita harus terlebih dahulu memahami mekanisme protokol jaringan. Pemahaman yang lebih baik tentang dasar-dasar jaringan memungkinkan kita mengenali dampak nyata QUIC terhadap jaringan Solana.
Apa itu protokol jaringan?
Protokol jaringan adalah serangkaian aturan baku mengenai cara data dikirim di antara perangkat dalam jaringan yang sama. Protokol jaringan memungkinkan perangkat yang terhubung berkomunikasi dengan mudah, terlepas dari komponen internal, struktur, atau desainnya.
Bayangkan Anda duduk berhadapan dengan teman Anda di sebuah restoran di Paris. Anda berdua memutuskan untuk berbicara dalam bahasa Prancis sehingga percakapan pun mengalir lancar. Keputusan bersama untuk berbicara dalam bahasa Prancis merupakan kesepakatan atas serangkaian aturan tata bahasa, kosakata, dan pelafalan yang dipahami kedua pihak.
Protokol jaringan bekerja dengan cara serupa untuk perangkat jaringan yang terhubung, sebagaimana bahasa Prancis berfungsi sebagai “protokol” percakapan Anda di restoran Paris. Memilih TCP, UDP, atau QUIC berarti menyepakati serangkaian aturan dan konvensi yang telah ditetapkan untuk bertukar informasi. Kepatuhan terhadap protokol jaringan tertentu memastikan perangkat yang terhubung dapat saling memahami tanpa kebingungan.
Apa itu TCP?
Transmission Control Protocol (TCP) adalah antarmuka komunikasi standar untuk mengirim aliran data di antara dua endpoint dalam jaringan. Vint Cerf dan Bob Kahn menciptakan Transmission Control Program, sebuah protokol monolitik yang kemudian dibagi menjadi arsitektur modular yang terdiri dari TCP dan Internet Protocol (IP). Keseluruhan rangkaian ini disebut TCP/IP. Dalam pembahasan ini, saat menggunakan singkatan TCP, saya merujuk pada Transmission Control Protocol dan bukan keseluruhan rangkaian tersebut.
TCP berorientasi pada koneksi; koneksi antara klien dan server harus terbentuk sebelum data dikirim. TCP menggunakan jabat tangan tiga langkah untuk membuat koneksi: synchronize (SYN), synchronize-acknowledge (SYN-ACK), dan acknowledge (ACK). Anda dapat membayangkan SYN seperti mengulurkan tangan untuk berjabat tangan dan menanyakan apakah orang lain siap berbicara; SYN-ACK seperti orang tersebut menjabat tangan Anda, mengatakan bahwa ia siap berbicara, dan menanyakan apakah Anda ingin melanjutkan; sedangkan ACK seperti Anda membalas jabat tangan dan mengatakan ingin melanjutkan percakapan. Pada tahap ini, sesi terbentuk. Kedua pihak mengetahui bahwa mereka saling terhubung dan sepakat bahwa mereka siap berbagi informasi.
TCP membagi data menjadi paket-paket yang dikirim melalui jaringan. Sejumlah kecil data ditambahkan ke setiap paket. Data tambahan ini mencakup nomor urut yang digunakan untuk mendeteksi paket yang hilang atau tidak berada pada tempatnya, serta checksum yang memungkinkan deteksi kesalahan dalam paket.
Ketika percakapan terganggu, kita meminta orang lain mengulangi ucapannya untuk memastikan bahwa kita mendengarnya dengan benar. TCP menangani gangguan dengan cara serupa melalui Automatic Repeat Request (ARQ). Saat terjadi masalah, ARQ meminta pengirim mengirim ulang paket yang rusak atau hilang. Kemudian, TCP meminta pengguna memperlambat laju transmisi data dan membatasi jumlah paket tanpa konfirmasi yang dapat berada dalam perjalanan. Setelah kesalahan teratasi, TCP menggunakan mekanisme untuk menghindari kemacetan dan meningkatkan kecepatannya secara bertahap.
TCP bukan protokol yang tepat untuk setiap kasus penggunaan karena protokol ini mengurutkan seluruh lalu lintas. Jadi, jika satu bagian data hilang atau rusak, semua data setelah paket tersebut harus menunggu. Namun, bagaimana jika kita tidak perlu menunggu?
Apa itu UDP?
User Datagram Protocol (UDP) adalah antarmuka komunikasi standar yang digunakan untuk mengirimkan data melalui jaringan. Berbeda dengan TCP, UDP tidak berorientasi pada koneksi dan tidak menjamin pengiriman, urutan, atau tidak terjadinya duplikasi paket data. UDP tidak memiliki dialog jabat tangan sehingga transmisi data rentan terhadap ketidakandalan jaringan yang mendasarinya. Hal ini membuat UDP lebih cepat daripada protokol lain karena tidak menghabiskan waktu untuk membuat koneksi dengan tujuan. Namun, karena alasan ini pula orang-orang menyebut protokol tersebut sebagai “Unreliable Datagram Protocol”.
UDP bekerja dengan mengirimkan datagram melalui jaringan. Datagram adalah kumpulan data yang lebih mandiri dan dilengkapi informasi untuk perutean dari sumber ke tujuan. Karena informasi tersebut sudah disertakan, datagram tidak bergantung pada datagram lain untuk perutean. Datagram ini terdiri dari header dan data. Header memiliki empat bidang yang masing-masing sepanjang 16 bit: port sumber opsional, port tujuan, panjang, dan checksum opsional. Proses pengirimannya adalah sebagai berikut:
- Aplikasi pengirim membuat socket UDP
- Aplikasi pengirim menempatkan data yang ingin dikirim ke dalam datagram UDP, dengan header yang memuat port tujuan dan informasi relevan lainnya
- Datagram dikirim ke lapisan IP untuk perutean dan pengiriman
- Lapisan IP mengambil datagram, meneruskannya ke lapisan UDP, dan menghapus header-nya
- Datagram dikirim ke aplikasi yang mendengarkan pada port yang ditentukan
Bayangkan UDP seperti berbicara kepada seseorang di seberang ruangan yang ramai. Anda berteriak kepada orang tersebut tanpa mengkhawatirkan apakah ia mendengar Anda atau menunggu tanggapannya. Dalam situasi ini, Anda ingin menyampaikan pesan dengan cepat tanpa percakapan yang berkepanjangan. Cara ini berisiko karena orang tersebut mungkin tidak mendengar semua yang Anda katakan, tetapi bisa sangat efektif.
Mengapa Anda ingin menggunakan protokol komunikasi tanpa koneksi seperti UDP jika tersedia protokol yang lebih andal seperti TCP? UDP sangat berguna untuk aplikasi yang sensitif terhadap waktu atau situasi ketika kehilangan sebagian data masih dapat diterima. Kehilangan beberapa frame saat bermain video game bersama teman jauh lebih baik daripada jeda dan buffering terus-menerus. UDP juga digunakan untuk panggilan VoIP, kueri Domain Name System (DNS), serta pemantauan dan pencatatan log.
QUIC: Menyeimbangkan Efisiensi dan Keandalan
QUIC adalah protokol lapisan transportasi modern yang dirancang oleh Jim Roskind di Google pada 2013. Protokol ini menggabungkan keandalan TCP dengan manfaat latensi rendah UDP, sehingga menciptakan lingkungan yang dioptimalkan untuk komunikasi asinkron yang cepat dan aman. QUIC membedakan dirinya dengan memasukkan sesi aman dan strategi kontrol aliran tingkat lanjut yang menjadi karakteristik TCP ke dalam kerangka UDP yang lebih fleksibel dan cepat.
Dalam QUIC, penyiapan koneksi disederhanakan dengan mengintegrasikan pertukaran kunci kriptografis dan detail protokol ke dalam jabat tangan awal yang selalu dienkripsi secara aman menggunakan Transport Layer Security (TLS). Protokol ini memungkinkan koneksi termultipleks melalui UDP sehingga beberapa aliran data independen dapat mencapai endpoint masing-masing tanpa saling memengaruhi. QUIC mengontrol aliran setiap stream secara independen. Dengan demikian, sekalipun satu stream mengalami kesalahan, stream lainnya tidak akan terhambat. Hal ini membantu mencegah pemblokiran head-of-line (yaitu, antrean paket tertahan oleh paket pertama), masalah yang sering mengganggu koneksi TCP.
Jika sebuah paket hilang atau rusak, QUIC bertanggung jawab mengirimkan ulang data secara cerdas sehingga integritas dan kesinambungan komunikasi tetap terjaga. Selain itu, QUIC tangguh terhadap perubahan lingkungan jaringan. Setiap paket membawa pengidentifikasi koneksi yang secara unik mengidentifikasi koneksi ke server, apa pun sumbernya. Jadi, koneksi dapat dibuat kembali dengan mengirimkan paket lain karena setiap paket memuat ID ini, yang berarti koneksi awal masih valid. Secara metaforis, jika Anda berpindah ke ruangan lain, percakapan Anda tidak akan terputus dan dapat berlanjut dengan lancar.
Bayangkan Anda kembali berada di ruangan ramai itu dan mencoba berbicara dengan teman Anda. Kali ini, Anda dilengkapi walkie-talkie terenkripsi yang memungkinkan percakapan berlangsung aman dan jelas. Saat percakapan membahas berbagai topik, teman Anda mengonfirmasi setiap pesan dengan acungan jempol. Ekspresi kebingungan menjadi isyarat agar Anda mengulangi pesan yang tidak dipahami, sehingga tidak ada informasi yang hilang. Jika Anda atau teman Anda berpindah ke ruangan lain, dialog tetap tidak terputus. Itulah esensi QUIC—komunikasi yang tangguh, adaptif, dan efisien.
Cara Solana Menerapkan QUIC
QUIC menawarkan sejumlah keunggulan bagi Solana, yaitu:
- Waktu Pembuatan Koneksi Lebih Singkat: Dengan mengoptimalkan proses jabat tangan, QUIC meminimalkan latensi
- Multipleksing dan Pengelolaan Paket yang Efisien: Kemampuan QUIC menangani beberapa aliran data secara bersamaan tanpa pemblokiran head-of-line meningkatkan throughput dan efisiensi transaksi
- Kemampuan Beradaptasi dan Ketangguhan: Protokol ini dirancang untuk beradaptasi dengan perubahan kondisi jaringan, yang merupakan kebutuhan penting bagi sistem terdistribusi dan terdesentralisasi seperti Solana
- Penyesuaian untuk Optimalisasi Jaringan: Fleksibilitas QUIC memungkinkan penerapan yang disesuaikan, seperti milik Solana, untuk memenuhi sasaran performa dan keamanan jaringan tertentu
QUIC telah ditambahkan ke port yang menerima transaksi pengguna. Hal ini memungkinkan pembatasan lalu lintas pelaku agar jaringan dapat berfokus memproses transaksi yang sah. QUIC aktif di Solana dan diadopsi sepenuhnya ke Mainnet-beta dalam rilis 1.13.4. Setelah integrasinya, jaringan mengalami peningkatan stabilitas dan throughput yang signifikan.
Terlepas dari kemajuan tersebut, kemacetan jaringan baru-baru ini memicu perdebatan tentang efisiensi komputasi QUIC dibandingkan penerapan UDP Solana sebelumnya. Para pengkritik menunjukkan bahwa pendekatan UDP mentah memungkinkan validator berfokus secara eksklusif pada pemrosesan transaksi, bukan mengelola spam jabat tangan dan enkripsi. Selain itu, pertukaran dan verifikasi kunci bukan bagian dari jabat tangan awal dalam penerapan Solana. Solana menggunakan opsi QUIC untuk mengirim “paket tantangan” guna memverifikasi alamat IP. Tujuan utama tantangan ini adalah menghindari verifikasi sertifikat pada langkah pertama jabat tangan dan melakukannya pada bagian kedua setelah validasi IP. Apakah Solana pernah mengalami waktu henti terkait spam atau serangan DDoS masih menjadi perdebatan, karena gangguan jaringan Solana baru-baru ini pada Februari dapat dianggap sebagai denial of service.
Seiring evolusi jaringan, penting untuk terus meninjau dan menyempurnakan penerapan yang telah dibuat. QUIC bertujuan mengatasi banyak masalah TCP dan UDP, tetapi jika ditinjau kembali, efektivitasnya masih dapat diperdebatkan. Salah satu pertimbangan penting adalah bagaimana sesuatu bekerja pada perangkat keras. Karena lebih sederhana, TCP bekerja jauh lebih baik pada perangkat keras daripada QUIC. Dapat dengan mudah dikatakan bahwa dengan set instruksi AES, protokol berbasis TCP akan memiliki throughput yang lebih tinggi daripada QUIC dan lebih efisien dalam hal TPS.
Khususnya, tim di Jump Crypto terus mendorong batas kemampuan QUIC. Tim tersebut membuat penerapan yang tangguh dan skalabel saat mengembangkan Firedancer, klien validator baru untuk Solana. Jaringan Firedancer dirancang dari awal untuk memanfaatkan receive-side scaling, yaitu jenis penyeimbangan beban yang diakselerasi perangkat keras. Arsitektur paralel ini memungkinkan setiap core CPU menangani segmen lalu lintas masuk secara efisien. Tim tersebut mencuit bahwa:
Demo dan utas mengenai pencapaian teknis QUIC milik Firedancer dapat ditemukan di sini.
Kesimpulan
Selamat! Dalam artikel ini, kita telah membahas dasar-dasar protokol jaringan dengan fokus pada peran TCP dan UDP serta evolusinya menjadi QUIC. Kita juga membahas penerapan QUIC pada Solana dan menyoroti peran pentingnya dalam meningkatkan jaringan. Meskipun ketangguhan jaringan Solana terhadap spam dan serangan DDoS meningkat berkat QUIC, pertumbuhan jaringan telah mengungkap tantangan dan perdebatan seputar efisiensi komputasi serta detail penerapannya.
QUIC mewujudkan tujuan utama Solana untuk menghadirkan jaringan dengan throughput tinggi dan latensi rendah. Kemampuan multipleksing dan pemulihan kehilangan paketnya menempatkan Solana di garis depan diskusi mengenai performa dan skalabilitas. Penerapan oleh tim Firedancer menunjukkan kemampuan adaptasi QUIC sekaligus menyoroti potensi optimalisasi khusus untuk memenuhi perubahan kebutuhan jaringan.
Memahami QUIC sebagai developer Solana membantu Anda mengambil keputusan yang lebih tepat untuk berbagai topik, mulai dari arsitektur aplikasi hingga kesalahan transaksi. Solana terus berkembang, begitu pula QUIC. Mengikuti perubahan jaringan terbaru adalah cara terbaik untuk membangun aplikasi berperforma tinggi di atas Solana. Bahkan jika Anda bukan developer, pemahaman QUIC yang lebih teknis dapat membantu Anda memahami alasan Solana menjadi blockchain berperforma tinggi yang dikenal karena kecepatan dan skalabilitasnya.
Jika Anda telah membaca sejauh ini, anon, terima kasih! Pastikan untuk memasukkan alamat email Anda di bawah agar tidak pernah melewatkan kabar terbaru tentang Solana. Siap mempelajari lebih dalam? Jelajahi artikel terbaru di blog Helius dan lanjutkan perjalanan Solana Anda hari ini.
Sumber Daya Tambahan / Bacaan Lebih Lanjut
Artikel Terkait
Berlangganan Helius
Ikuti perkembangan terbaru dalam pengembangan Solana dan dapatkan pembaruan saat kami memublikasikan postingan


