Tandatangan Digital dan Hashing
Tanda tangan digital dan fungsi hash kriptografi merangkumi sos rahsia yang menjadikan cryptocurrency berfungsi. Mereka memasukkan crypto ke dalam mata wang, boleh dikatakan. Tanda tangan digital anda membuktikan bahawa anda mempunyai kunci peribadi yang menuntut pemilikan aset yang dijelaskan dalam transaksi. Fungsi hash menentukan dan melindungi transaksi.
Kriptografi – Adakah Anda Ingin Mengetahui Rahsia?
Tanda tangan digital dan fungsi hash hidup dalam kriptografi, jadi apa itu kriptografi? Kriptografi mendefinisikan seni dan sains mesej pengekodan dan penyahkodan untuk menjaga privasi antara komunikator.
Hari-Hari Salad Kriptografi
Bentuk kriptografi yang berlainan mendominasi dalam tempoh yang berlainan selama bertahun-tahun. Pada zaman Julius Caesar, putaran abjad sudah cukup. Oleh itu, para kriptografer menyebutnya sebagai “the Caesar cipher.” Daripada kata “kucing”, mesej yang dienkripsi mungkin hanya memutar semua huruf satu langkah ke kiri, jadi “kucing” diterjemahkan menjadi “dbu”. Dalam filem 2001: A Space Odyssey, putar huruf “HAL” dengan cara yang sama, dan apa yang anda dapat?
Seiring berjalannya waktu, sistem kriptografi pecah apabila kriptanalisis menyelesaikan setiap sistem yang diberikan.
Kriptografi Kunci Awam
Kriptografi asimetri, juga dikenali sebagai penyulitan kunci awam / kunci peribadi atau kriptografi kunci awam, kini berlaku. Kunci awam dan kunci peribadi hanyalah angka.
Istilah asimetri membezakannya dengan kriptografi simetri. Dalam kriptografi simetri, kunci yang sama menyulitkan dan menyahsulitkan mesej. Oleh itu, kunci mesti disembunyikan. Ini menimbulkan masalah pengedaran kunci – bagaimana menghantar kunci dengan selamat kepada penerima dan juga mesej yang dienkripsi?
Kriptografi kunci awam menyelesaikan masalah ini dengan menerbitkan kunci awam yang boleh digunakan sesiapa sahaja untuk menyulitkan mesej, dan pengguna menyimpan kunci peribadi untuk digunakan untuk menyahsulitkan mesej. Ini berfungsi melalui keajaiban fungsi matematik sehala. Fungsi sehala menghitung dengan mudah dan mudah tetapi menentang teknik terbalik.
Contoh Kriptografi Kunci Awam
Untuk menggambarkan dengan contoh yang sangat mudah, darabkan dua nombor perdana: prime1 * prime2 = hasil. Memandangkan jumlahnya cukup besar, siapa pun dapat melihat hasilnya, tetapi menentukan dua nombor perdana yang digunakan untuk sampai pada hasil itu menimbulkan kesulitan besar. Hasilnya mewakili kunci awam, dan prime1 dan prime2 mewakili kunci peribadi.
Kriptografi asimetri pecah apabila penggodam menggunakan kekuatan pengkomputeran yang mencukupi untuk melawannya. Namun, penggodam memerlukan superkomputer untuk mencapainya dalam jangka masa yang munasabah. Penyulitan perlu berkembang apabila komputer kuantum tumbuh menjadi norma.
Tandatangan Digital
Dicipta oleh kunci peribadi, tandatangan digital mewakili kunci persendirian dan dengan itu menunjukkan pengguna log masuk pada transaksi yang diberikan.
Anda boleh menganggap tandatangan digital sebagai variasi mesej yang disulitkan. Sama seperti kriptografi kunci awam membuat mesej yang dienkripsi, kunci peribadi juga membuat tandatangan digital. Dengan kunci awam, anda dapat dengan cepat mengesahkan tandatangan digital dibuat oleh kunci peribadi. Anggap ini sebagai sesuatu teka-teki. Teka-teki itu mungkin sangat sukar untuk diselesaikan, tetapi apabila dilengkapkan dengan betul, anda mengesahkannya sekilas.
Kenduri di Rumah Hash
Hash kriptografi dihasilkan dari fungsi matematik yang memetakan data dengan ukuran sewenang-wenang menjadi rentetan bit berukuran tetap, yang dikenali sebagai nilai hash atau hanya hash. Data input yang diberikan selalu menghasilkan hash yang sama. Akibatnya, jika mesej tidak sesuai dengan nilai hash yang terkait dengannya, anda tahu bahawa mesej tersebut telah diubah. Dua mesej yang berbeza tidak boleh membuat nilai hash yang sama. Sekiranya mereka melakukannya, ini merupakan perlanggaran, dan fungsi hash yang mencipta nilai tersebut adalah salah.
Contoh Ringkas Hashing
Sebagai gambaran, anggaplah kita ingin mencantumkan rentetan sederhana “ABCDE” sebagai data input.
Mari buat algoritma hash yang mudah. Mula-mula, kita menerjemahkan huruf menjadi angka: A = 1, B = 2, C = 3, D = 4, E = 5. Nilai hash yang kita hasilkan mestilah satu digit. Kaedah asas hanya menambah semua digit bersama-sama: 1 + 2 + 3 + 4 + 5 = 15. Ini menghasilkan nombor dua digit, jadi algoritma kami terus berulang untuk menambahkan setiap digit nombor ini: 1 + 5 = 6. Ini menjadikan 6 nilai hash kami, dan 6 mewakili “ABCDE” sebagai hashnya.
Sekiranya anda menerima “ABCDE” sebagai mesej yang diwakili oleh 6 sebagai hashnya, anda percaya bahawa mesej itu betul. Tetapi jika anda menerima mesej “ABCXE” yang diwakili oleh hash of 6, terdapat ketidakcocokan, jelas kerana gangguan mesej.
Algoritma hash sederhana kami gagal pada banyak peringkat, tentu saja. Untuk satu, rentetan “EDCBA” atau gabungannya menghasilkan hash yang sama dengan “ABCDE”, dengan itu membuat perlanggaran. Matematik kompleks mengatasi masalah ini. Algoritma hashing yang paling banyak digunakan dalam cryptocurrency menggunakan nama SHA-256 (akronim bermaksud Secure Hash Algorithm). Dalam algoritma SHA-256, ukuran tetap nilai hash mencapai 256 bit.
Tandatangan Digital dan Hashing dalam Cryptocurrency
Baiklah, jadi bagaimana kita sebenarnya menggunakan tandatangan digital dan hashing dalam cryptocurrency?
Mari kita lihat transaksi Bitcoin untuk melihat teknologi beraksi.
Transaksi Bitcoin dipisahkan menjadi dua bahagian: 1) bahagian input, dan 2) bahagian output.
Bahagian input mengandungi kunci awam pengirim, maklumat yang menunjukkan pengirim memiliki cukup Bitcoin untuk menutupi transaksi, dan maklumat berguna lain. Kunci peribadi pengirim membuat tandatangan digital untuk menandatangani transaksi ini. Tandatangan digital ini masuk ke bahagian input transaksi.
Bahagian output mengandungi alamat dompet penerima, dan indeks kerana terdapat lebih dari satu output (pelbagai output akan pergi ke penerima, pengirim, dan ke pelombong).
Hashing berperanan untuk melindungi integriti transaksi. Data seperti pembayar, penerima, dan jumlah yang dibayar memerlukan penyembunyian untuk melindungi daripada pelaku hasad yang mengubah maklumat ini. Menggabungkan kunci kriptografi dan parameter input ini untuk memberi makan fungsi hash membuat ID Transaksi. Kami sekarang tahu dengan pasti bahawa kriptografi pengirim sebenarnya memiliki wewenang untuk melakukan pembayaran dan bahawa perincian transaksi itu betul dan belum dirusak.
Terbang di Buttermilk
Masalah yang diketahui dengan urus niaga Bitcoin timbul dengan sesuatu yang disebut kelenturan urus niaga.
Kelenturan transaksi berlaku kerana Bitcoin mencuri pelbagai bidang dalam urus niaga. Semasa memproses transaksi, beberapa bidang ini mungkin berubah dengan cara yang kelihatan marginal dan tidak signifikan. Tetapi kerana ia berubah, nilai hash berubah, menyebabkan ID Transaksi berubah.
Untuk memvisualisasikannya, fikirkan medan yang mengandungi bilangan bulat 123, tetapi semasa memproses, sistem memperluasnya menjadi 0123. Kedua-duanya membentuk nombor yang sama, dan melihatnya, kita tahu mereka sama, tetapi fungsi hash melihatnya sebagai berbeza dan seterusnya mencipta nilai hash yang berbeza untuk masing-masing. Pertanyaan ini memberi peluang kepada pelaku buruk bermain permainan sistem.
SegWit ke Penyelamat
Teknologi Segregated Witness (SegWit) menyelesaikan masalah ini. SegWit membuat struktur yang terpisah dari blok (diasingkan). Struktur yang terpisah ini mengandungi maklumat yang diperlukan untuk menentukan kesahihan transaksi (saksikan kesahihan transaksi) tetapi tidak mengandungi data transaksi itu sendiri. Memisahkan data transaksi dengan cara ini menghilangkan kemungkinan kelenturan.
Pemikiran Kesimpulan
Kriptografi berkembang seiring dengan perkembangan teknologi. Komputer pada masa akan datang pasti akan mematahkan kriptografi masa kini. Tetapi untuk dunia semasa kita hidup, tandatangan digital dan hash kriptografi memberikan perlindungan yang mencukupi untuk memastikan keselamatan dan integriti transaksi kita.