Saya akan berbicara tentang keamanan di balik alamat dan kunci Bitcoin, yang disebut Kriptografi Kunci Publik. Ini termasuk SHA256, Pembuat Angka Acak(RNGs), Fungsi Hash, dan Tanda Tangan Digital Kurva Elliptik (ECDSA.) Jika Anda memiliki pertanyaan di luar ini, jangan ragu untuk DM saya. Saya seorang ahli matematika dengan pelatihan, dan saya memiliki cinta yang mendalam untuk itu. Jika ternyata Anda memiliki minat baru dalam kriptografi sebagai hobi, ada banyak orang yang membuat algoritme kriptografi untuk bersenang-senang, dan komunitas mereka dapat membantu perjalanan Anda.

Saya berjanji bahwa Anda hanya memerlukan beberapa aljabar dasar untuk ini, serta pemahaman sederhana tentang fungsi eksponensial. Jika Anda familiar dengan aritmatika modular, bagus sekali. Jika tidak, tidak masalah.

Kriptografi telah ada selama ribuan tahun, dan saat ini memiliki komunitas profesional dan penggemar yang sangat kuat. Teknologi telah berkembang sangat jauh, dan iterasinya saat ini memungkinkan keamanan online yang hampir tidak perlu kita pikirkan.

Mari kita mulai dengan konsep Kriptografi Kunci Publik, khususnya dalam konteks Bitcoin. Pada tingkat paling dasar, PKC melibatkan kunci pribadi Anda, dan kunci publik dihasilkan darinya. PKC menggunakan apa yang disebut “fungsi pintu jebakan” yang mudah dipecahkan (mudah untuk menghasilkan kunci publik dari kunci pribadi), tetapi hampir tidak mungkin untuk merekayasa balik (menemukan kunci pribadi yang diberikan kunci publik.) Ini adalah karena penggunaan aritmatika modular, fungsi eksponensial, dan bilangan prima.

Kunci pribadi bitcoin Anda mungkin berupa kata-kata, tetapi juga bisa berupa angka yang sangat besar. Untuk lebih spesifiknya, ketika kami memulai enkripsi, kunci pribadi Anda akan dikonversi ke sejumlah besar atau string biner (rangkaian satu dan nol) terlepas dari apa bentuk awalnya. Betapa rapinya! Inilah sebabnya mengapa orang terkadang mengatakan kunci pribadi Anda”mewakili jumlah yang sangat, sangat besar”dan merupakan alasan keamanannya. Meskipun secara teknis ini benar dalam pengertian deterministik/algoritmik, belum tentu alasannya jelas.

Pembuatan kunci pribadi adalah aspek lain yang menarik. Perangkat keras dan dompet kustodian melakukan ini untuk Anda, dan mereka mungkin atau mungkin tidak memberi tahu Anda dengan tepat bagaimana mereka melakukannya (perangkat lunak open-source vs closed-source.) Ini pasti patut dipertimbangkan saat memilih dompet. Pilihan lainnya adalah membuat sendiri dari awal. Anda dapat melempar dadu yang bagus, melempar koin, atau menggunakan metode serupa lainnya. Ada juga generator nomor acak online yang telah diuji dan dinilai oleh komunitas kriptografi profesional. RNG sering menggunakan waktu saat ini sebagai generator mereka untuk membuat perbedaan awal kecil yang, setelah iterasi yang cukup, membuat angka yang benar-benar unik. Pilih RNG online dengan risiko Anda sendiri. Bahkan jika RNG itu sendiri bagus, mungkin ada malware di situs tersebut. Semakin banyak yang Anda ketahui!

Jadi kami memiliki kata-kata rahasia kami. Mari kita lihat apa yang terjadi selanjutnya.

ga mod n persamaan keacakan

Ini adalah bentuk yang sangat sederhana dari fungsi pintu jebakan kami.”G ke a mod n”mewakili kunci publik terakhir kami (mod adalah kependekan dari aritmatika modular, yang membatasi jawaban kami ke batas angka tertentu, berbeda dengan setiap bilangan asli). Namun, bahkan jika Anda mengetahui G dan n, tidak ada cara mudah bagi Anda untuk menemukan a, yang mewakili kunci pribadi Anda. Menghitung G ke mod n relatif mudah, tetapi tidak ada jalan mundur, berkat Masalah Log Diskrit. N umumnya merupakan bilangan prima yang besar karena menurut definisi mereka tidak dapat difaktorkan. Juga, Jika kompleksitas relatif dari fungsi/masalah menarik minat Anda, jangan ragu untuk melihat Kerumitan Waktu Algoritma.

Mari kita masuk lebih dalam, dan melihatnya secara grafis untuk pemahaman yang lebih konkret.

ecdsa kurva elips tanpa nama

Garis merah adalah kurva kami, dan merupakan kurva khusus yang digunakan oleh ECDSA Bitcoin. G adalah titik awal kami,”generator”kami, jika Anda mau. Kemudian, kita akan”menambahkan”G ke dirinya sendiri (walaupun itu bukan penjumlahan dalam arti biasa-matematikawan gila itu suka mendefinisikan ulang sesuatu. Jangan suruh saya memulai topologi!). Dalam hal ini, menambahkannya berarti kita akan mengambil garis singgung dari titik ini. Di mana pun garis singgung itu memotong kurva akan menjadi titik kita berikutnya. Kami akan kembali mengambil garis singgung, dan menemukan titik baru. Dalam praktiknya (di komputer) ini dilakukan ribuan, atau bahkan jutaan kali. Hasil akhirnya adalah bahkan jika Anda tahu di mana saya memulai, Anda tidak tahu berapa kali saya “menambahkan” G ke dirinya sendiri untuk mencapai titik akhir. Berapa kali kami melakukan penambahan adalah kunci pribadi Anda (nomor pribadi Anda). Sekali lagi, ini mudah untuk diperiksa dengan memberikan jawaban potensial, tetapi hampir tidak mungkin untuk”memaksa”. Voila!

Jadi kami memiliki deterministik pertama kami (satu masukan memberi Anda satu jawaban) pengacakan informasi, tetapi itu tidak dalam format yang bagus (saat ini, itu hanya pasangan terurut (x,y). Sekarang kita memiliki kunci publik, yang diturunkan dari kunci pribadi. Mari kita mengacak informasi itu lagi dan mengubahnya.

Kita melakukan ini melalui SHA 256, yang merupakan singkatan dari Secure Hashing Algorithm. Algoritma Hashing adalah serangkaian langkah spesifik yang diterapkan pada informasi, yang menghasilkan kumpulan data terenkripsi dengan panjang tetap, terlepas dari panjang input.

Ya, keluarga algoritma ini dikembangkan oleh Badan Keamanan Nasional Amerika Serikat (NSA), tapi jangan biarkan hal itu membuat Anda khawatir.Keindahan ilmu terapan — termasuk matematika, adalah penemuan dan pengetahuannya. berdiri independen dari siapa yang mengembangkannya. Inilah sebabnya kami memiliki bukti. Jika sebuah bukti adalah”suara”, maka ia berdiri di atas kedua kakinya sendiri, dan tidak dapat”diretas”atau dikerjakan. Keluarga SHA2 adalah pengetahuan publik. Anda dapat online dan melihat kodenya, dan jika Anda suka gunakan SHA256 sendiri untuk mengenkripsi beberapa hal. Anda akan menemukan bahwa perubahan input yang sangat kecil akan menghasilkan output yang dramatis pada jawabannya. Teori Chaos itu bagus. Namun bagaimanapun juga.

Karena banyak orang mendapatkan miliaran dolar dengan SHA256, mereka juga menghabiskan banyak uang untuk mengujinya untuk memastikan keamanannya. Orang sering menyebut komputasi kuantum sebagai cara potensial untuk memecahkan enkripsi ini. Namun, jika komputasi kuantum menjadi layak, ada lebih banyak uang yang harus dicuri dengan meretas lima bank besar teratas di dunia. Saya yakin Bitcoin berada jauh di bawah daftar karena, setelah diretas, nilainya mungkin akan menurun secara dramatis. Semua itu dikatakan, jika SHA256 menjadi kurang aman di masa depan, kami selalu dapat meningkatkan metode enkripsi Bitcoin. Uang yang dapat diprogram!

SHA256 mirip dengan ECDSA karena mudah untuk memeriksa jawaban, tetapi sangat sulit untuk memaksa — mencoba setiap jawaban sampai Anda menemukan jawaban yang benar. SHA256 dinamakan demikian karena menciptakan string 256 bit — serangkaian 256 nol dan satu. Ini menghasilkan jumlah kemungkinan kombinasi yang sangat tinggi, lebih dari jumlah atom di alam semesta yang dapat diamati.

Kita akan menggunakan hash yang berbeda lagi untuk mendapatkan output yang lebih kecil, yang membuat untuk alamat akhir yang lebih pendek. Fungsi hash ini disebut RIPEMD-160. Setelah kita mendapatkan hasil ini, kita akan mengubahnya menjadi apa yang disebut Base58, yang merupakan bentuk yang lebih mudah dibaca oleh manusia. Ini menghilangkan angka nol (0) dan huruf besar O (o), sehingga tidak’tidak salah satu sama lain, serta menghilangkan huruf besar I (i), sehingga tidak salah untuk angka satu (1) atau huruf kecil l (L) Sama-sama menghilangkan angka nol (0 ) dan huruf besar O (o), agar tidak saling keliru, serta menghilangkan huruf besar I (i), agar tidak keliru dengan angka satu (1) atau yang lebih rendah huruf besar l (L).

Dan sekarang kami memiliki alamat publik yang terbukti (dalam arti formal, matematis) dibuat dari alamat pribadi yang unik. Bahkan jika tujuh miliar orang di dunia membuat kunci publik bitcoin baru setiap hari selama seribu tahun, ada begitu banyak kemungkinan sehingga kemungkinan membuat kunci publik yang sama dua kali hampir nol.

Semua ini cukup proses, membuat dan memverifikasi kunci, maka waktu blok rata-rata sepuluh menit kami. Sepuluh menit untuk penyelesaian akhir yang dijamin secara matematis sangat berharga.

Ini adalah kiriman tamu oleh Nameless. Pendapat yang diungkapkan sepenuhnya milik mereka sendiri dan tidak mencerminkan pendapat BTC Inc. atau Bitcoin Magazine.

Categories: IT Info