This article has been translated from English to Malay.

Dalam pelajaran ini, kita akan belajar bagaimana tandatangan digital sebenarnya berfungsi dalam Bitcoin dan mata wang kripto lain.

Untuk sampai ke tahap ini, kita perlu belajar beberapa konsep teknikal terlebih dahulu kerana mereka adalah "batu asas" yang diperlukan untuk membuat tandatangan digital:

Kalau korang TAK kenal dengan konsep-konsep ini, ia telah dijelaskan dengan cara mesra newbie dalam pelajaran-pelajaran sebelumnya. Jelajah pautan di atas untuk tahu lebih lanjut.

Macam mana tandatangan digital dibuat?

Jom tengok langkah demi langkah bagaimana tandatangan digital dibuat:

  1. Bila korang nak hantar bitcoin, dompet korang buat satu mesej transaksi. Mesej ini mengandungi maklumat seperti jumlah bitcoin yang korang nak hantar dan alamat penerima.
  2. Mesej ini akan melalui satu fungsi hash.
  3. Fungsi hash akan menghasilkan satu output yang dikenali sebagai "hash mesej" atau hanya "hash".
  4. Hash mesej ini kemudian disulitkan dengan kunci peribadi anda.
  5. Hash mesej yang disulitkan ini menjadi "tandatangan digital".

Ini adalah carta aliran proses ini:

Bagaimana Tandatangan Digital Dibuat

Jadi di akhir proses ini, dompet korang telah mencipta dua “item”:

  1. Mesej transaksi
  2. Tandatangan digital (hash transaksi yang disulitkan)

Pada tahap ini, tiada apa-apa lagi yang telah dihantar ke rangkaian Bitcoin.

Kalau korang tak perasan, mesej transaksi itu sendiri diperlukan sebagai "bahan" untuk mencipta tandatangan digital.

Jadi korang bukan sahaja menggunakan kunci peribadi untuk mencipta tandatangan digital… korang guna kunci peribadi DAN hash mesej transaksi.

Ini bermaksud korang tak boleh guna tandatangan digital ini untuk transaksi lain. Kalau korang cuba guna tandatangan digital ini dalam transaksi kedua, ia akan ditolak oleh rangkaian Bitcoin kerana tandatangan digital ini hanya berdasarkan data dari transaksi pertama.

Setiap tandatangan digital adalah unik untuk transaksi tertentu.

Bagaimana tandatangan digital disahkan?

Untuk menggunakan bitcoin dari alamat Bitcoin tertentu, seseorang mesti membuktikan "pemilikan" (atau: pengetahuan) kunci peribadi yang dipasangkan dengan kunci awam yang berkaitan dengan alamat itu.

Tapi korang nak buat ini tanpa perlu mendedahkan kunci peribadi korang.

Satu tandatangan digital adalah sesuatu yang boleh korang gunakan untuk MEMBUKTIKAN bahawa korang tahu kunci peribadi yang bersambung dengan kunci awam, tanpa perlu mendedahkan kunci peribadi sebenar.

Jom tengok macam mana ia berfungsi:

  1. Bila korang memulakan transaksi Bitcoin, perisian dompet korang sebenarnya menyediakan tiga “item” kepada rangkaian Bitcoin: mesej transaksi asal, tandatangan digital, dan kunci awam korang (yang terikat dengan alamat di mana bitcoin yang korang nak hantar kini disimpan).
  2. Sebaik sahaja nod Bitcoin menerima “item” ini, ia akan memisahkan mereka.
  3. Ia akan mengambil mesej transaksi asal dan melalui fungsi hash yang sama yang korang guna sebelum ini. (Semua perisian Bitcoin menggunakan fungsi hash yang sama.) Untuk tandatangan digital, ia akan menggunakan kunci awam yang korang sediakan untuk menyahkodnya.
  4. Kedua-dua hash kemudian akan dibandingkan.
  5. Adakah kedua-dua hash sepadan?
  6. Jika kedua-dua hash sepadan, maka ini membuktikan bahawa korang adalah pemilik sebenar bitcoin yang korang nak hantar.

Ini adalah carta aliran proses ini:

Bagaimana Tandatangan Digital Disahkan

Ada dua perkara yang nak ditunjukkan di sini:

1. Boleh menyahkod dengan kunci awam membuktikan identiti pengirim.

Dalam langkah 3, sebaik sahaja satu nod boleh menyahkod tandatangan digital, ini membuktikan “identiti” korang.

Ingat, sejak kunci peribadi dan kunci awam terikat secara matematik, jika korang boleh menyahkod mesej dengan kunci awam saya, itu bermakna saya menyulitkannya dengan kunci peribadi saya.

Jika korang tak dapat menyahkod mesej, itu bermakna ia disulitkan oleh kunci peribadi orang lain. Dan itu bermakna mesej itu bukan datang dari saya.

2. Hash yang sepadan membuktikan bahawa mesej tidak diubah.

Dalam langkah 6, memeriksa untuk memastikan kedua-dua hash sepadan memastikan bahawa mesej asal tidak diubah.

Ini penting untuk diketahui kerana walaupun tandatangan digital disulitkan, mesej transaksi asal adalah dalam teks biasa kerana semua transaksi Bitcoin adalah umum untuk semua lihat.

Ingat, sebarang perubahan sedikit akan menghasilkan hash yang berbeza sepenuhnya. Jadi jika seseorang mencegat mesej transaksi asal dalam perjalanan ke nod dan mengubahnya (seperti menghantar bitcoin ke alamatnya), bila mesej itu melalui fungsi hash, ia akan menghasilkan hash yang berbeza sepenuhnya dari tandatangan digital.

Sama seperti bagaimana tandatangan tulisan tangan menghubungkan seseorang ke dokumen tertentu, “tandatangan digital” menggunakan kriptografi….kriptografik….menghubungkan identiti kepada mesej tertentu.

Ringkasan

Sekarang korang faham bagaimana tandatangan digital dicipta dan bagaimana ia disahkan, ini adalah pandangan GAMBAR BESAR tentang apa sebenarnya maksud "menandatangani" satu transaksi dan bagaimana "tandatangan digital" pengirim digunakan untuk mengesahkan pemilikan bitcoin yang dia/ dia hendak hantar:

Proses Tandatangan Digital