This article has been translated from English to Indonesian.

Dalam pelajaran ini, kita akan mempelajari cara kerja tanda tangan digital dalam Bitcoin dan mata uang kripto lainnya.

Untuk mencapai titik ini, kita harus mempelajari beberapa konsep teknis terlebih dahulu karena konsep-konsep tersebut merupakan "blok bangunan" yang diperlukan untuk membuat tanda tangan digital:

Jika Anda TIDAK terbiasa dengan konsep-konsep ini, konsep-konsep ini telah dijelaskan dengan cara yang ramah untuk pemula di pelajaran sebelumnya. Jelajahi tautan di atas untuk mempelajari lebih lanjut.

Bagaimana tanda tangan digital dibuat?

Mari kita lihat bagaimana tanda tangan digital dibuat selangkah demi selangkah:

  1. Ketika Anda ingin mengirim bitcoin, dompet Anda akan membuat pesan transaksi. Pesan ini berisi informasi seperti jumlah bitcoin yang ingin Anda kirimkan dan alamat penerima.
  2. Pesan ini dijalankan melalui fungsi hash.
  3. Fungsihash menghasilkan output yang dikenal sebagai"hash pesan" atau "hash".
  4. Hash pesan ini kemudiandienkripsi dengan kunci pribadi Anda.
  5. Hash pesan yang dienkripsi menjadi"tanda tangan digital".

Berikut adalah diagram alir dari proses ini:

How a Digital Signature is Created

Jadi, pada akhir proses ini, dompet Anda telah membuat dua "item":

  1. Pesan transaksi
  2. Tanda tangan digital (hash terenkripsi dari pesan transaksi)

Pada titik ini, belum ada yang dikirim ke jaringan Bitcoin.

Jika Anda tidak menyadarinya, pesan transaksi itu sendiri diperlukan sebagai "bahan" untuk membuat tanda tangan digital.

Jadi, Anda tidak hanya menggunakan kunci pribadi Anda untuk membuat tanda tangan digital... Anda menggunakan kunci pribadi DAN hash dari pesan transaksi.

Ini berarti Anda tidak dapat menggunakan tanda tangan digital ini untuk transaksi lain. Jika Anda TRY menggunakan tanda tangan digital ini pada transaksi kedua, maka transaksi tersebut akan ditolak oleh jaringan Bitcoin karena tanda tangan digital tersebut hanya didasarkan pada data dari transaksi pertama.

Setiap tanda tangan digital unik untuk transaksi tertentu.

Bagaimana tanda tangan digital diverifikasi?

Untuk membelanjakan bitcoin dari alamat Bitcoin tertentu, seseorang harus membuktikan "kepemilikan" (atau: pengetahuan) atas kunci pribadi yang dipasangkan dengan kunci publik yang terkait dengan alamat tersebut.

Namun, Anda ingin melakukan hal ini tanpa harus mengungkapkan kunci pribadi Anda.

Tanda tangan digital adalah sesuatu yang dapat Anda gunakan untuk MEMBUKTIKAN bahwa Anda mengetahui private key yang terhubung dengan public key, tanpa harus mengungkapkan private key yang sebenarnya.

Mari kita lihat bagaimana cara kerjanya:

  1. Ketika Anda memulai sebuah transaksi Bitcoin, perangkat lunak dompet Anda sebenarnya memberikan tiga "item" kepada jaringan Bitcoin: pesan transaksi asli, tanda tangan digital, dan kunci publik Anda(yang terhubung dengan alamat di mana bitcoin yang ingin Anda kirimkan saat ini disimpan).
  2. Setelah sebuah node Bitcoin menerima "item" ini, ia akan memisahkannya.
  3. Ia akan mengambil pesan transaksi asli dan menjalankannya melalui fungsi hash yang sama dengan yang Anda gunakan sebelumnya. (Semua perangkat lunak Bitcoin menggunakan fungsi hash yang sama.) Sedangkan untuk tanda tangan digital, ia akan menggunakan kunci publik yang Anda berikan untuk mendekripsinya.
  4. Kedua hash tersebut kemudian akan dibandingkan.
  5. Apakah kedua hash sama persis?
  6. Jika kedua hash sama persis, maka ini membuktikan bahwa Anda adalah pemilik sebenarnya dari bitcoin yang ingin Anda kirim.

Berikut adalah diagram alir dari proses ini:

How a Digital Signature is Verified

Ada dua hal yang perlu diperhatikan di sini:

1. Mampu mendekripsi dengan kunci publik membuktikan identitas pengirim.

Pada langkah 3, setelah sebuah node dapat mendekripsi tanda tangan digital, ini membuktikan "identitas" Anda.

Ingat, karena kunci privat dan kunci publik terhubung secara matematis, jika Anda dapat mendekripsi sebuah pesan dengan kunci publik saya, itu berarti saya mengenkripsinya dengan kunci privat saya.

Jika Anda tidak dapat mendekripsi pesan tersebut, itu berarti pesan tersebut dienkripsi dengan kunci privat orang lain. Dan itu berarti pesan tersebut bukan berasal dari saya.

2. Hash yang sama persis membuktikan bahwa pesan tersebut tidak diubah.

Pada langkah 6, memeriksa untuk memastikan bahwa kedua hash sama persis memastikan bahwa pesan asli belum diubah.

Hal ini penting untuk diketahui karena tidak seperti tanda tangan digital yang dienkripsi, pesan transaksi asli berada dalam bentuk plaintext karena semua transaksi Bitcoin bersifat publik dan dapat dilihat oleh semua orang.

Ingat, perubahan sedikit saja akan menghasilkan hash yang sama sekali berbeda. Jadi, jika seseorang mencegat pesan transaksi asli dalam perjalanannya menuju sebuah node dan memodifikasinya (misalnya dengan mengirimkan bitcoin ke alamat yang dituju), ketika pesan tersebut melewati fungsi hash, maka akan menghasilkan hash yang sama sekali berbeda dengan tanda tangan digital.

Mirip dengan bagaimana tanda tangan tulisan tangan menghubungkan seseorang dengan dokumen tertentu, "tanda tangan digital" yang menggunakan kriptografi....kriptografi....menghubungkan identitasdengan pesan tertentu.

Ringkasan

Sekarang setelah Anda memahami bagaimana tanda tangan digital dibuat dan bagaimana tanda tangan digital diverifikasi, berikut ini adalah gambaran besar mengenai apa yang dimaksud dengan "penandatanganan" sebuah transaksi dan bagaimana "tanda tangan digital" pengirim digunakan untuk memverifikasi kepemilikan bitcoin yang ingin dikirim:

Digital Signature Process