Bitcoin Adresi ve Anahtarlar

bitcoin 16
bitcoin 16
Paylaş

Bu Yazıyı Paylaş

veya linki kopyala

Bitcoinde para transferleri aslında birçok kriptografik algoritma içerir ve aslında çok karmaşık işlemlerdir. Fakat bu işlemlerin çoğu kullanıcıya gösterilmez ve arka planda otomatik yapılır. Bu işlemler bitcoin’in güvenliğini sağlar. Bunların en önemlilerinden biri de bitcoinde kullanılan açık/gizli anahtar algoritmaları ve dijital imza algoritmalarıdır. Bu algoritmalar, gönderenin kimliğini ve yapılan işlemin geçerli olup olmadıgını teyit etmede kullanılır. Peki nasıl çalışırlar?

Not: Burada anlatmaya calışacagımız algoritmalar, sadece bitcoinde değil neredeyse bütün kripto paralarda ve hatta internette kullanılan diğer protokollerde de kullanılmakatadır. 

Bitcoin adresi ve anahtarlar nasıl üretilirler?

Öncelikle bitcoinle para transferi yapabilmek için bir bitcoin adresimiz olması gerekiyor. Bu bitcoin adresini üretmek için cüzdanımız öncelikle gizli anahtar üretir. Bu gizli anahtar her şey olabilir, fakat rastgele olması tahmin edilememesi açısından önemlidir.

Cüzdan bu gizli anahtarı kullanarak önce açık anahtarı ardından da açık anahtarı kullanarak bitcoin adresimizi üretir. Gizli anahtardan açık anahtar üretme işlemi Eliptik Eğri Kriptografisi (Elliptic Curve Cryptography) [1] kullanılarak yapılırken, açık anahtardan bitcoin adresi üretme işlemi sadece basit bir sıkıştırma [2] operasyonudur.

Burada bilmemiz gereken, kullanılan algoritma sayesinde gizli anahtardan açık anahtar üretimi kolayca yapılabilir fakat açık anahtardan gizli anahtar üretilmesi matematiksel olarak imkansız problemlerin çözülmesine baglıdır. Bu yüzden imkansızdır denebilir.

İşlemlerde nasıl kullanılırlar?

Açık anahtar herkes tarafından bilinir, fakat gizli anahtar tamamen kişiseldir ve işlemin bize ait oldugunu gösteren yegane göstergedir. Bu yüzden bir işlemin bizim tarafımızdan gerçekleştiğini kanıtlamak için gizli anahtarımızı kullanırız. Eğer gizli anahtarımızı işlem bloğuna eklersek, blok zincir teknolojisinin doğası gereği gizli anahtarımızı herkes görecektir.

Peki sadece bize ait olan gizli anahtarı alıcıya göndermeden gizli anahtarın bizde olduğunu yani gönderenin biz olduğumuzu nasıl kanıtlayacağız? İşte bu noktada Dijital İmza (Digital Signature) kavramı ortaya çıkıyor.

Dijital imza gönderenin kimliğinin teyit edilmesini sağlar. Gönderen gizli anahtarla işlemi imzalar, ve gönderenin açık anahtarı veya bitcoin adresi olan herkes imzanın gönderene ait olup olmadığını teyit edebilir ve de gizli anahtar başka kimsede olmadiği için imza iddia edilen kişi tarafından üretildiğinden emin olabiliriz.

Her işlem için yeni bitcoin adresi ya da anahtar çifti üretmek gerekir mi?

Öncelikle genelde yanlış bilinen bir gerçeği düzeltelim. Açık/gizli anahtarlar cüzdanla ilgili değil her bir işlemle ilgilidir. Cüzdan sadece bütün gizli anahtarları bir dosyada depolar. Her bir gizli anahtar, o anahtardan üretilen açık anahtara gönderilen parayı harcayabilmeye izin verir. Kullanıcı isterse her bir transfer için yeni bir açık/gizli anahtar çifti üretebilir. Anahtar çifti üretmek için online olmasına dahi gerek yoktur. Bu sekilde hesapta ne kadar para oldugunu diğer kullanıcılardan gizleyebilir. Sadece bir açık anahtarı bilen birisi sadece o anahtara ait hesabın bakiyesini  takip edebilir ve görebilir. Her ne kadar tavsiye edilse de, böyle bir zorunluluk yoktur ve birçoğumuz aslında yapmıyoruz. Tek istisnasi kağıt cüzdanlar, her bir işlem için gizli anahtarı tekrardan yazdırmamiz gerekeceğinden, tek bir açık/gizli anahtar cifti kullanmamız gerekebilir.

Note: For the figures, the credit goes to [3].

[1]-https://tr.wikipedia.org/wiki/Eliptik_egri_kriptografisi

[2]-https://en.bitcoin.it/wiki/File:PubKeyToAddr.png

[3]-http://preshing.com/20140127/what-is-a-bitcoin-really/

Bitcoin Adresi ve Anahtarlar