Bitcoin İşlemleri Nasıl Çalışır?

İçindekiler

Basit versiyonu 

Örneğin; size biraz Bitcoin göndermek istiyorum, bu talebimi Bitcoin ağı üzerinde yayınlıyorum.  Ardından ağ üzerindeki düğümler(node) işlemi onaylamak için tüm Bitcoin ağını taramaya başlar. Doğrulamak istediği iki unsur vardır:

  1.  Benim size göndermek istediğim kadar Bitcoin ’ım var mı?
  2.  Yeterli kadar Bitcoin ’ım varsa bunları ben sizden başka bir kişiye birine yolladım mı? (Double-spending yani çift harcamayı önlemek için.) 

Bu soruların tespitini yaptıktan sonra işlem ayrıntısı bir blok içine kaydedilir. Sonra sistem bu yeni oluşturulan bloğu otomatik olarak bir önceki bloğa bağlar. Böylece blokları birbiriyle bağlanarak "Blockchain" (blok zinciri) diye adlandırdığımız yapıyı ortaya çıkarır. Gerçekleşen işlemler geriye çevirilemez veya değiştirilemez. Çünkü bu tüm oluşturulan blokları yeniden tekrarlamak anlamına geliyor. 


Biraz daha derinleştirelim 

Bitcoin cüzdanı aslında Bitcoin’i saklamıyor. Sadece Bitcoin adresini kaydediyor. Bu adreste geçmiş işlemlerin kaydı bulunduğu için buna bakarak hesapta ne kadar bakiyenin olduğunu hesaplanabiliyor. “Genel anahtar” olarak bilinen bu adres aslında 34 harf ve sayıdan oluşan uzun bir dizidir. Diziyi tüm dünya görse de sakıncası hiçbir yoktur! Çünkü her adresin veya genel anahtarın karşılık gelen 64 harf ve sayıdan oluşan bir “Özel anahtarı” da vardır. Özel anahtarı gizli tutmak hesabın güvenlik açısından çok önemlidir. İki anahtar birbiriyle bağlantılı olsa da genel anahtarınızın bilinmesi özel anahtarınızı tehlikeye atmıyor. Çünkü bu çift anahtar birbirinin aynısı değil tamamlayıcısıdır.  

Bu çok önemlidir! Çünkü Bitcoin adresinden yapılacak tüm işlemler özel anahtarla “imzalanması” gerekiyor. Bu nedenle herkesin özel anahtarı ve işlem ayrıntıları (kime ne kadar Bitcoin yollamak gibi) bilgisayar veya akıllı telefondaki Bitcoin programında saklıdır. Bu bilgilerle program bir dijital imza oluşturur ve bu imzala internet üzerinde doğrulama işlemi başlatır.    

Bu işlemin doğrulanabilmesi için, yani dijital imza ve genel anahtar (herkesin bildiği) kullanarak, karşı tarafa göndermek istediğim kadar Bitcoin ’a sahip olmamı ve bu Bitcoin ’leri başka birine göndermediğimi kontrol edilmelidir. İşte bu Bitcoin ’in dahice tasarlandığı bir kısmı; imza eğer özel anahtarla değil, genel anahtar ile yapılmış olsaydı, program özel anahtarın gerektirmeden işlemi onaylardı. Çok zekice bir tasarım!   

Sonra sistem adres geçmişimi kontrol ederek daha önce şu an göndermek istediğim Bitcoin 'i harcamamış olduğumu tespit eder. Çünkü adresimdeki işlem geçmişi (genel anahtar tarafından uluşturulan) herkese açık olarak Bitcoin muhasebe defteri üzerinde tutulmaktadır.  


Daha da derinleştirsek  

İşlem doğrulandıktan sonra, diğer işlemlerle birlikte bir “bloğa” dahil edilir.   

Kısaca “Hash’ın” ne olduğuna değinelim.Hash fonksiyonu kriptografi biliminde sıklıkla kullanılan bir algoritmadır. Hash herhangi uzunluktaki bir veriyi sabit uzunlukta bir veriye dönüştüren bir fonksiyondur.

Örneğin, bir Harry Potter ve Felsefe Taşı kitabını veya başka bir veriyi 64 karakterli dizgiye indirger. Ama yanlış anlaşılmasın, her verinin kendine özgün hash değeri olur, buradaki 64 karakter farklı veriler için hiçbir zaman aynı değildir. Yani bir cümlede sadece virgül kadar ufak bir değişiklik bile bütün hash değerini değiştirir. Bu da aslında sistemi en güvenli kılan sebeplerdendir. Çünkü zincirde bütün bloklar birbirine hash değeri ile bağlıdır. İşlemler yapılır, sonra o işlemler bloğu oluşturur ve bloklar da dolduğunda zinciri oluşturur.   5 numaralı Blok tamamlandığında, (burada örnek olarak bloğa 5 numaralı blok diyelim), yeni yapılan 6 numaralı Bloğun girdisi 5 numaralı Bloğun Hash değeridir. Böylece her yeni blok kendinden sonrakine da öncekine de hash değeri ile bağlanır. Ve sistemde kötü niyetli bir kullanıcı herhangi bir bilgiyi, örneğin Leyla’nın Aslı’ya 5 BTC gönderdiği bilgisini değiştirmek isterse bütün zinciri bozar. Çünkü az önce dediğimiz gibi Hash Değeri her veriye özgün olarak hesaplanmıştır. Bir veriyi değiştirmek için bütün blokları baştan değiştirmeniz lazım, bu da pek mümkün değil. Bu durumda ufak bir kötü niyetli girişim olsa bile hemen farkedilir. 

Bitcoin’i kıymetli yapan özelliklerinden biride işte budur, bu sistemin değiştirilmesi çok zor ve neredeyse imkansızdır.    

Hash kavramı özet fonksiyonundan gelmektedir. Bir hash, herhangi bir metin veya veriyi 64 karakterli dizgiye indirgeyen karmaşık bir matematik denklemdir. Bu dizgeler rastgele olmayıp, aksine özet fonksiyonu aracılığıyla belirli veri setine her girildiğinde, aynı 64 karakterli dizgeyi elde ediyor. Ancak virgül kadar çok ufak değişiklik yapıldığında, tamamen farklı bir 64 karakterli dizge ortaya çıkıyor. Bu makalenin tamamı bir hash değerine indirgenebilir. Metne herhangi bir değişiklik yapılmadı sürece aynı hash değeri tekrar üretilebilir. Bu, blok zincirin üzerindeki bilgilerin tahrif edilip edilmediğini kontrol etmek için çok etkili bir yoludur.    

Bloklara geri dönelim; her blok, kendi verilerinin bir parçası olarak, bir önceki bloğun hash değerini içerir. Böylece bloklar birbirine bağlanarak zincir haline gelir, blok zinciri (Blockchain) terimi de işte budur. Yani, eğer bir önceki bloğun küçük bir kısmı değiştirilirse, mevcut bloğun hash değeri de değişmesi lazım. Bu nedenle, bir önceki bloktaki bazı bilgileri değiştirmek istiyorsanız, mevcut bloktaki içerikleri (hash değeri) de değişmesi lazım, böyle devam etmek çok zor, özellikle bloğa birden fazla bloklar bağlanmışsa. Hepsini değiştirmek zorundasınız.   

Bitcoin’i kıymetli yapan özelliklerinden biride işte budur, değiştirilmesi çok zor ve neredeyse imkansızdır.    


Şimdi biraz da eğlenelim;  

Eğer kafanızı çok karıştırıp yorduysam, telafi olarak kafa dağıtmanıza yardımcı olacağım, öncelikle eğer Bitcoin işlemleri takip etmek istiyorsanız Blockchain.info çok güzel bir sitedir. Eğer daha eğlenceli bir şey bakıyorsanız, BitBonkers mutlaka deneyin.   

bfmedia/data

BTC $ 10096.182
XRP $ 0.26366
ETC $ 5.40679
ETH $ 183.583
ADA $ 0.0469
LTC $ 71.837
USDT $ 0.9985
TRX $ 0.01673