Basitçe: Bitcoin’imin bir kısmını size göndermek istersem, niyetimi yayınlarım ve düğümler bunu doğrulamak için tüm bitcoin ağını tarar. 1) göndermek istediğim bitcoin var ve 2) daha önce başka birine göndermediniz. Bu bilgiler onaylandıktan sonra, işlemim bir önceki “bloğa” eklenir (Blockchain nedir?). İşlemler geri alınamaz ya da değiştirilemez, çünkü bu durum, sonradan gelen tüm blokları yeniden inşa etmek anlamına gelir.
Daha komplike :
Bitcoin cüzdanım aslında bitcoinimi tutmuyor. Benim yaptığım şey, tüm işlemlerimi ve dolayısıyla bakiyemin kaydını barındıran, bitcoin adresimi bulundurmak. Bu adres (34 harf bir sayı dizesi) “ortak anahtar” olarak da bilinir. Bütün dünyanın bu diziyi görebileceğini umursamıyorum. Her adres / ortak anahtar, 64 harf ve sayıya karşılık gelen bir “özel anahtar” a sahiptir. Bu özel anahtarı gizli ve güvenli tutmam çok önemli. Bu iki anahtar birbiriyle ilişkilidir ama özel anahtarımı ortak anahtarımdan öğrenilebilmesinin bir yolu yoktur.
Bu önemli, çünkü bitcoin adresimden verdiğim her bir işlemin özel anahtarımla “onaylanmış” olması gerekiyor. Bunu yapmak için bilgisayarımdaki veya akıllı telefonumdaki bitcoin yazılımına hem özel anahtarımı hem de işlem ayrıntılarını (kaç bitcoin göndermek istiyorum ve kime göndereceğim) giriyorum. Bu gelen bilgi ile program, doğrulamak için ağa gönderilen bir dijital imza çıkar.
İmzayı ve herkesin bildiği ortak anahtarı bitcoin programına bağlayarak, işlem doğrulanabilir (yani, size aktardığım bitcoin’e sahip olduğumu ve henüz başka bir kullanıcıya göndermediğimi onaylayabiliriz). Bu, bitcoinin akıllı parçalarından biridir: Yapılan işlem bu genel anahtara karşılık gelen özel anahtarla yapılmışsa, program, özel anahtarın ne olduğunu bilmeden işlemi onaylayacaktır.
Daha sonra ağ, benim ortak anahtarımı bildiği için ve tüm işlemler bitcoin defterinde herkese açık olduğundan, adres geçmişimden geçerek bitcoin’i daha önce kullanmadığımı doğrular.
Biraz daha karmaşık:
İşlem onaylandıktan sonra, bir grup başka işlemle birlikte bir “bloğa” eklenir.
Bir “hash”in ne olduğunu tartışmak için kısa bir yol vardır; Bir hash, herhangi bir metin veya veri miktarını 64 karakterlik dizeye indirgeyen karmaşık bir matematik denklemi olan “hash fonksiyonu” ile üretilir. Bu işlem rastgele gerçekleşmez belirli bir veri kümesini karma işleviyle her oluşturduğunuzda, aynı 64 karakterli dizeyi elde edersiniz. Fakat bu veri içerisinde çok ufak bir değişiklik yaptığınızda dahi, tamamen farklı 64 karakterlik bir dize elde edersiniz. Bütün bu makale bir hash’e indirgenebilir ve metni değiştirmediğim sürece, yani bir harf çıkarmaz ya da eklemezseniz, aynı hash dizesi tekrar tekrar üretilebilir. Bu, bir verinin değişip değişmediğini anlamak için çok etkili bir işlemdir ve blok taşında bir işlemin değiştirilmediğini tespit etmenin yoludur.
Bloklarınıza geri dönelim: Her bir blok, verilerin bir parçası olarak, önceki bloğun bir hash’ini içerir. Bu, onu bir zincirin parçası yapan şeydir, yani bildiğimiz “blockchain” terimidir. (Blockchain Nedir?). Yani, önceki bloğun ufak bir kısmı değiştirilmişse, geçerli bloğun hash değeri değişmelidir (hash fonksiyonunun girişideki ufak bir değişikliğin çıkışı tamamen değiştirdiğini unutmayın). Bir önceki blokta bir değişiklik yapmak istiyorsanız, ayrıca mevcut bloktaki hash’i değiştirmeniz gerekir. Çünkü o blok doğru olmayacaktır. Bunu yapmak çok zordur, özellikle de yarı yola ulaştığınız zaman, büyük ihtimalle mevcut olanın üstünde başka bir blok olacaktır. O zaman bu bloğu da değiştirmek zorundasınız. Ve bu durum aynen böyle uzayıp gider.
Bu, Bitcoin’i kurcalamaya karşı korumalı yapan şeydir. Aslında imkansız değildir fakat imkansız denecek kadar zordur bunu başarmak pek olası değildir, bu durum da Bitcoin’i güvenilir yapar.