
Algoritma tanda tangan digital merupakan metode kriptografi yang memanfaatkan private key untuk menandatangani dan public key untuk memverifikasi pesan, sehingga memastikan asal dan integritasnya. Bayangkan seperti memberikan cap yang dapat diverifikasi pada dokumen elektronik—terlihat oleh semua orang, namun tanpa menyembunyikan isinya.
Private key adalah angka acak rahasia yang hanya diketahui oleh pemiliknya. Public key diturunkan dari private key dan berfungsi sebagai identitas publik untuk verifikasi tanda tangan. Tanda tangan digital menjawab dua pertanyaan utama: Siapa pengirim pesan? Apakah pesan telah diubah selama proses pengiriman?
Di blockchain, "pesan" biasanya berupa data transaksi atau informasi otorisasi. Node hanya akan memasukkan transaksi Anda ke dalam blok setelah tanda tangan diverifikasi menggunakan public key Anda.
Proses dasar algoritma tanda tangan digital meliputi pembuatan pasangan kunci, penandatanganan pesan, dan verifikasi tanda tangan oleh pihak lain menggunakan public key. Inti dari proses ini: hanya private key yang dapat menandatangani, namun siapa pun dapat melakukan verifikasi.
Contohnya, ECDSA (Elliptic Curve Digital Signature Algorithm) menggunakan nilai acak satu kali pada setiap tanda tangan. Nilai acak ini harus benar-benar acak dan tidak pernah digunakan ulang, karena keacakan yang buruk dapat membahayakan private key Anda.
Algoritma tanda tangan digital sangat penting untuk konfirmasi transaksi, otorisasi izin, dan autentikasi pesan di Web3. Tanpa tanda tangan, node blockchain tidak dapat mempercayai sumber transaksi.
Selain itu, banyak API bursa membutuhkan "tanda tangan." Misalnya, API Gate menggunakan HMAC (Hash-based Message Authentication Code) untuk penandatanganan permintaan. HMAC juga memverifikasi sumber dan integritas, tetapi menggunakan shared secret, bukan pasangan public/private key.
Algoritma tanda tangan digital yang umum meliputi RSA, ECDSA, Ed25519, dan BLS, masing-masing memiliki karakteristik berbeda dari sisi keamanan, kecepatan, ukuran tanda tangan, dan kompleksitas implementasi.
Kebanyakan dompet mengotomatisasi proses penandatanganan digital menggunakan algoritma tanda tangan digital, namun langkah-langkahnya dapat dijabarkan sebagai berikut:
Di Gate, penarikan on-chain mengikuti alur penandatanganan dan verifikasi ini. Untuk permintaan API (sering menggunakan HMAC), pemeriksaan ketat di sisi server juga memastikan permintaan tidak dapat dipalsukan.
Tanda tangan digital sering digunakan bersamaan dengan fungsi hash. Hashing mengubah data dengan panjang berapa pun menjadi ringkasan berukuran tetap—sebagai "sidik jari" unik untuk setiap file.
Tanda tangan biasanya diterapkan pada ringkasan, bukan pesan mentah, untuk meningkatkan efisiensi dan mengurangi risiko saat menangani pesan besar. Jika ada bagian pesan yang berubah, ringkasannya juga berubah—sehingga tanda tangan menjadi tidak valid.
Fungsi hash yang umum meliputi SHA-256 dan Keccak-256. Sebagai contoh, Bitcoin menggunakan double SHA-256 untuk ringkasan transaksi; Ethereum menggunakan Keccak-256, yang sering disebut sebagai varian SHA3.
Algoritma tanda tangan digital dirancang untuk "pembuktian dan integritas," sedangkan algoritma enkripsi berfokus pada "kerahasiaan." Tujuannya berbeda namun sering kali disalahartikan.
Tanda tangan digital tidak menyembunyikan isi; tanda tangan memastikan bahwa "pesan ini dikirim oleh saya dan belum diubah." Enkripsi mengubah isi menjadi ciphertext yang hanya dapat dibaca oleh pihak yang memiliki kunci dekripsi.
Dalam praktiknya, aplikasi dapat menggunakan keduanya: chat terenkripsi melindungi privasi pesan, sementara tanda tangan digital mengamankan header atau bidang penting untuk keaslian dan integritas.
Pemilihan algoritma tanda tangan digital bergantung pada standar chain, alat ekosistem, dan kebutuhan performa—setiap blockchain memiliki pertimbangan tersendiri.
Per Oktober 2024:
Untuk throughput maksimal dan kesederhanaan, Ed25519 banyak digunakan; untuk kompatibilitas dengan ekosistem Ethereum atau Bitcoin, ECDSA lebih disukai; untuk konsensus atau lintas-chain yang membutuhkan agregasi tanda tangan, BLS menjadi pilihan utama.
Ukuran tanda tangan dan biaya verifikasi juga penting: tanda tangan RSA relatif besar dan lambat—jarang digunakan on-chain; Ed25519 memiliki tanda tangan tetap 64 byte dengan verifikasi cepat; tanda tangan BLS di layer konsensus Ethereum berukuran 96 byte terkompresi namun dapat menggabungkan ratusan atau ribuan tanda tangan menjadi satu—mengurangi biaya verifikasi secara keseluruhan.
Risiko utama dalam penggunaan algoritma tanda tangan digital adalah kebocoran private key dan otorisasi tidak disengaja akibat penandatanganan yang keliru. Pencegahan berfokus pada manajemen kunci yang aman dan praktik penandatanganan yang cermat.
Algoritma tanda tangan digital menggunakan private key untuk menandatangani dan public key untuk verifikasi—menjawab masalah "siapa pengirim pesan" dan "apakah telah diubah" dalam konteks kepercayaan. Algoritma ini bekerja bersama fungsi hash (umumnya menandatangani ringkasan pesan) dan berbeda dari enkripsi karena tidak menyembunyikan isi. Sebagian besar transaksi blockchain mengandalkan ECDSA atau Ed25519; mekanisme konsensus dan protokol lintas-chain sering memanfaatkan agregasi BLS. Dalam praktiknya, fokus pada keamanan private key, kejelasan pesan, dan kualitas keacakan; di platform seperti Gate, tanda tangan digital sangat penting untuk penerimaan transaksi oleh jaringan. Pemilihan algoritma bergantung pada standar chain, kebutuhan performa, dan kompatibilitas ekosistem—tujuan akhirnya adalah pembuktian identitas dan integritas data yang tepercaya.
Tanda tangan digital menggunakan private key Anda untuk mengautentikasi data secara kriptografi—membuktikan bahwa Anda menguasai private key tersebut. Sertifikat digital adalah file tepercaya berisi informasi public key Anda yang diterbitkan oleh otoritas pihak ketiga. Secara sederhana: tanda tangan digital seperti tanda tangan tulisan tangan Anda; sertifikat seperti kartu identitas. Di dompet blockchain, tanda tangan mengotorisasi transaksi, sedangkan sertifikat memvalidasi identitas atau publikasi informasi.
Jika tanda tangan diubah selama transmisi, validator akan langsung mendeteksi dan menolak transaksi atau pesan tersebut. Jaringan blockchain secara otomatis membuang transaksi yang tidak valid demi menjaga keamanan. Ini adalah keunggulan utama tanda tangan digital—bahkan perubahan satu karakter saja akan menyebabkan kegagalan verifikasi.
Tidak—tanda tangan tidak lagi aman. Jika private key Anda bocor, orang lain dapat menandatangani atas nama Anda—menyamar sebagai identitas Anda. Melindungi private key sangat penting: gunakan hardware wallet, jangan pernah membagikan kunci secara online, dan pantau aktivitas akun secara rutin. Jika Anda menduga ada kebocoran, segera pindahkan aset ke dompet baru.
Login berbasis tanda tangan lebih aman dibandingkan kata sandi—kata sandi rentan terhadap serangan brute-force atau phishing. Penandatanganan mengharuskan Anda memiliki private key secara lokal; tidak ada pihak ketiga yang pernah melihatnya. Platform seperti Gate menawarkan login berbasis tanda tangan agar Anda dapat membuktikan identitas tanpa memasukkan kata sandi—private key selalu berada di bawah kendali Anda.
Kriptografi dasarnya identik di semua perangkat—semuanya mengikuti standar yang sama. Perbedaan utama adalah kenyamanan versus keamanan: dompet mobile lebih praktis namun berpotensi lebih berisiko; dompet desktop menawarkan fitur lebih lengkap namun mungkin memiliki hambatan penggunaan lebih tinggi. Hardware wallet (cold storage wallet) beroperasi secara offline saat penandatanganan—memberikan keamanan maksimal. Pilih sesuai frekuensi penggunaan dan nilai aset Anda.


