Bitcoin Algoritması (1)
Bir sanal paranın pratik önemi olması bu sanal parayı kabul eden (karşılığında sanal veya fiziksel bir mal veya hizmet veren) birilerinin varlığı en gerekli koşul. Ancak sanal para metodunun (algoritması, protokolü) bir kaç koşulu daha sağlamalı: a) Bir yerden (kişiden, hesaptan, varlıktan) başka bir yere aktarılabilmesi (harcanması), b) Aynı paranın aynı varlık tarafından birden fazla kere aktarılmaması (iki kere harcanmaması).
Bitcoin kullanıcıları paralarını bir e-cüzdan data yapısı içinde tutmaktalar. Ağ üzerinde ulaşılabilen bu data yapısı her bir kullanıcının ne kadar Bitcoin parası olduğunu gösteriyor. Protokol gereği e-cüzdan data yapısı adresi ve içindeki para miktarı gizli tutulamıyor. Ancak kullanıcının gerçek kimliği gizli. E-cüzdanlar, bilgisayar içinde (software wallet), mobil telefonda (mobile wallet) veya bir servis sağlayıcı yardımıyla web üzerinde tutulabiliyor. Tabii web üzerinde tutmanın büyük riski var. Bir data kaybı durumunda, sizin de e-cüzdanınızı kaybetmeniz mümkün. Ancak aynı şekilde, laptop veya mobil telefonunuzu ve onunla birlikte e-cüzdan ve içinde tüm Bitcoin paranızı kaybedebilirsiniz. Çünkü, Bitcoin hiçbir fiziksel varlığı olmayan bir datadan ibaret. Onları ortaya çıkaramıyor olmanız, onların sahibi olmamanız demek. Ancak başka birinin eline geçmemişse veya eğer geçmiş ama bu kişi sizin e-cüzdan parolanızı bilemiyor veya bulamıyorsa, bu sanal paranın kimseye bir faydası olmuyor.
Her bir kullanıcının bir adresi var; bir anlamda bir e-posta adresi gibi. Ayrıca her kullanıcının bir açık anahtarı ve bir de gizli anahtarı var. Gizli anahtarı kendisi saklıyor ve açık anahtar ne zaman bir Bitcoin aktarılması olmuşsa kullanılıyor ve Bitcoin data yapısı içinde yer alıyor. Yani hiç Bitcoin almamış veya satmamışsanız, açık anahtarınız bir yerlerde kullanılmamış veya durmuyor demek.
Bitcoin parasının bir kişiden diğerine aktarımı bir kaç kriptografik imzalama fonksiyonunun koşturulması ile oluyor. Bitcoin alıcısının açık anahtarı, satıcının gizli anahtarıyla şifrelenip Bitcoin data yapısına ilave ediliyor. Böylece prensip olarak data yapısı büyümeye devam ediyor. Bir Bitcoin data yapısı o paraya daha önceden kimlerin (açık anahtarlarını bildiğimiz için) sahip olduğunun bilgisine sahip. Kriptografik imzalama fonksiyonu, 256-bitlik EC-DSA (elliptic curve digital signature algorithm) ve hash fonksiyonu ise SHA-256.