Bu yazı dizisini Bitcoin ile yeni tanışan, bir süredir bitcoin dünyasını takip eden ancak teknik olarak yeterli bilgiye sahip olmayan ya da yeterince bilgisi olup da bilmediği ufak tefek püf noktalarını öğrenmek isteyenler için hazırladım. Gerek forum içerisinde gerekse özel mesajlarıma gelen sorulara hitaben hemen herkesin kafasındaki ortak sorulara cevap bulmaya çalıştım. Yazı içeriğini daha çok soru cevap şeklinde hazırlamaya çalıştım umarım herkese faydası olur.
Bitcoin Nedir ?
Bitcoin nedir sorusuna verilen genel yanıt Satoshi Nakamoto adında bir kişinin ortaya çıkardığı sanal para şeklinde verilen cevabı çok yüzeysel buluyorum bu nedenle daha derinlemesine bir açıklama getirmeye çalışayım. Temel olarak Bitcoin bir para birimi olmaktan öte bir protokol, yenilikçi bir teknoloji ve bir değişim aracı olarak nitelendirmek daha doğru olacaktır.
Temelde bitcoin protokolü merkezi olmayan (Görece merkezi olmayan) bir ağ yapısı içerisinde p2p veri transferi üzerine kuruludur. Bu protokolün temel amacı a noktasından b noktasına gönderilen bir bilginin kayıpsız ve şifrelenmiş şekilde doğrulu bir çok noktadan (node) denetlenerek ağa yayılması sürecini kapsar. Bunu daha anlaşılır bir şekilde anlatmak gerekirse :
Ahmet adlı kullanıcı Mehmet adlı kullanıcıya bir veri paketi yollar, bu yollanan veri paketi sadece Ahmet adlı kullanıcının sahip olduğu bir kod ile imzalanır, önemli olan Ahmet adlı kullanıcının bu veri paketine gerçekten sahip olup olmadığını denetlemektir işte bu denetimi yine network içindeki diğer node (denetçiler) kontrol eder. Eğer Ahmet kullanıcısında bu veri paketi daha önceden bir şekilde ulaşmış ise (Mining ya da başka bir kullanıcı tarafından gönderilmiş ise) ağa duyurulur ve gönderim süreci başlar. Ancak bu gönderim süreci ağdaki diğer nodların da denetiminden geçmek zorundadır temel olarak amaç olabildiğince fazla nokta tarafından bu transferin doğruluğunu denetlemektir. Bu yolla aynı veri paketinin birden fazla kez kullanılması önlenmiş olacaktır.
Mining Nedir ?
Yukarıda anlatıldığı şekilde yapılan transferlerin bir düzen doğrultusunda networke salınması ve işleme alınması (node’lar tarafından onaylanması) için her bir transaction’ın tek tek işlenmesi yerine birden fazla transaction paketler halinde ağa yayılır, bu şekilde hazırlanan her bir paket block olarak adlandırılır her bir blok node’lar tarafından denetlenerek içerdiği transactionlar onay sürecine dahil olur.
Burada temel sorun network’e salınmaya hazırlanan her bir bloğun birden fazla transaction içermesi ve her transactionun içindeki gönderici’nin gerçekten bu veriye sahip olup olmadığının denetlenmesi sürecinin çok fazla işlemci gücü gerektirmesidir, bunu kabaca şöyle hesaplayabiliriz, bu yazı yazıldığı anda bitcoin networkü üzerinde muhtemelen 380.000 ‘inci block yayınlanıyor olacak her bir bloğun içinde yüzlerce farklı transaction ve her bir transaction’un geçmişinde onu takip eden binlerce transaction olduğunu düşünürsek geçmişe doğru incelenmesi gereken ne denli büyük bir veri yığının olduğunu görebilirsiniz.
İşte bu blokları inceleyerek confirme eden ve blok içindeki her bir transactionun doğruluğunu onaylayan sistemler bir çoğumuzun bildiği mining işini yapan ve miner adını verdiğimiz donanımlar tarafından gerçekleştirilir.
İşte bu noktaya geldiğimizde konusu geçen verinin parasal karşılığı ortaya çıkmakta, yukarıdaki işlem sürecini kontrol eden, konfirme edip ağa yayan sistemlere bu yaptıkları iş karşılığında verilen ödül de bitcoin ağını meydana getiren verinin kendisidir, bu sürecin başından bu yana verilen ödül kademeli olarak düşecek şekilde tasarlanmıştır bu sayede piyasaya salınacak ödül (bizim bildiğimiz ismiyle bitcoin) emisyon dengesi sağlanmış olur.
Bunu gerçek hayattaki şartlarla anlatmak gerekirse, Bir darpanenin 25 TL toplamında 1 Tl'lik banknot bastığını ve bunu darpanenin muhasebecine hediye olarak verdiğini düşünün, darpane müdürü bu 25 TL’yi alıp 1 TL’sini bakkalde 1 TL’sini de manavda harcadığını varsayalım, bu harcamayı yaparken de müdürümüzün bu harcamasını denetleyen tamamen anonim vatandaşlar olsun, bu vatandaşlardan birisi, memurumuzun harcadığı bu 2 TL’nin geçmişini araştırıp harcadığı 2 TL’nin ilk nereden kendisine ulaştığını bulacak ve ben buldum diyecek, diğer anonim vatandaşlar da bu kişinin bulduğu sonucu inceleyip evet doğru diyerek sonucu konfirme edecektir. Bu konfirmasyondan sonra denetimi yapan vatandaşa bir 25 TL ödül verilecektir bu ödülle birlikte ortama salınmış TL miktarı 50 TL olacaktır.
Bakkalda ve manavda harcanan 2 TL’mizin de başka yerlerde harcandığını düşünürseniz bitcoin networkündeki bu sürecin ne denli büyüyeceğini hayal edebilirsiniz. İşte bu işlemlerin tamamı kayıt altında tutulabilsin diye bir hesap defteri kullanılır ve bilinen ismiyle blockchain diye adlandırılır.
Pool Nedir ?
Yukarıda bahsi geçen hesapların denetim sürecinin çok fazla işlem gücü gerektirdiğinden bahsetmiştik, mevcut blockchain’in devasa büyüklüğünü göze aldığımızda (An itibari ile 50 Gb’dan fazla veri boyutu ve 380.000 Block) sadece tek bir miner (Hesapların doğruluğundan sorumlu matematiksel hesap yapma amaçlı cihazlar) bu yükün altından tek başına kalkamayacaktır. Bu nedenle birden fazla miner’ın block içindeki transactionları paylaşarak analiz etmesine olanak sağlayan sisteme Pool sistemi denir. Özetle sistem şu şekilde çalışır.
Diyelim ki elimizde bir şirketin ay sonu alacak verecek tablosu olsun, 1000 müşterinin bakiyelerinin doğrulunu analiz etmemiz gereksin bunu tek bir muhasebe elemanına verirseniz bu hesabı yapması saatlerce sürecektir, ancak her bir müşteriyi farklı elemanın incelemesi için dağıtırsanız normalde saatlerce sürecek bu kontrol süreci birkaç dakikada bitecektir. İşte pool’daki yapıda bu şekilde çalışır her bir miner’a kontrol etmesi için farklı transactionlar emanet edilir, ve bu transaction’un geçmişinin incelenmesi istenir. Tüm hesaplar denetlenip tamamı kontrol edildiğinde Pool (Havuz) o bloğu tamamlamış olur ve blok sahibi olarak kendini duyurur.
Bu süreçte önemli olan ilk bulan olmaktır, bir pool bir nano saniye daha önce bir block’u başka bir pool’dan önce çözmüşse block ödülü o pool’a verilir, ve pool yönetimi bu ödülü pool’u oluşturan minerlara katkıda bulundukları (Share rate) oranda dağıtır.
Ahmet 5 hesabı denetlemiş, Mehmet 2 hesabı denetlemişse Ahmet, Mehmet’den daha fazla pay alır bu ödülden.
Bir Bloğu aynı anda 2 farklı Pool Çözerse Ne olur ?
Aynı anda blok bulunabilir, hatta aynı anda bile yayınlanabilir. Aynı uzunluktaki 2 farklı ve geçerli blok için zaman damgası kontrolü yapılmaz. Ağ üzerinde hangi blok daha hızlı yayılırsa, hangisi madencilerin büyük bölümü tarafından daha çok onay alırsa "yani tamam X uzunluklu blok bulundu" derse ve X+1inci bloğu aramaya başlarsa kabul edilir, diğer blok ise orphan olur.
Hatta 3 saniye sonra bulunan aynı uzunluklu blok bile kendisinden önce bulunan geçerli bloğu orphan yapabilir.
Bu konu tamamen madencilerin elinde olan bir konudur. (Bu cevap cakir'in uyarısı ile onun bilgisinden alıntı yapılarak verilmiştir)
Nedir bu %51 Sorunu ?
Yazımızın başından bu yana bitcoin’in nasıl daığıtıldığı, nasıl denetlendiğini ayrıntılı bir şekilde anlatmaya çalıştık, Eğer yukarıda yazılanları çok iyi anladıysanız bu yazıyı okurken kafanızda şöyle bir soru işareti doğmuş olmalı, “Ya kontrolü yapan elemanlar hesabı yaparken hile hurda yaparsa ?” İşte bu sorunun cevabı dağınık sistemde çokluğun vereceği karar önceliği yatıyor.
Ali ile Ahmet’in birlikte hesapladığı tablo ‘nun doğruluğundan şirketin tüm çalışanlarının denetimi sorumlu yani 2 kişinin tamam bu doğru demesi yetmiyor diğer çalışanlar da ortaya çıkan hesabın doğruluğundan sorumlu, İşte tam bu noktada ortaya çoğunluk kararının ortaya çıkaracağı 2. Sorun çıkıyor.
Diyelim ki Bu şirketin hesaplarını şirket çalışanlarının yarısından fazlası aynı anda denetlesin ve doğrulasın ancak hesaplar aslında yanlış olsun, Örneğin Ali’nin baktığı hesaplardan biri aslında borçluyken alacaklı durumda olsun ama diğer tüm çalışanlar bunu göz ardı etmiş olsun, işte bu noktada tüm hesap geçmişi karışacak ve zincir kırılacaktır.
İşte %51 senaryosu bu nedenle bitcoin’in önündeki en büyük tehlike olarak görülür, bu konuda pool’ların büyüklüğü oldukça önemlidir, bir pool gereğinden fazla büyür ve toplam işlem gücünün %51’inden daha fazlasına sahip olursa zincirin kopmasına (ikiye ayrılması) ve fork oluşmasına neden olur.
Bunun önüne geçebilmek için büyük pool’lar ellerinden geldiğince sisteme sadık kalmaya ve bu dengeyi bozmamaya çalışırlar. (Bkz:Cex.io)
Bitcoin Cüzdanı Nedir?
Bitcoin cüzdanı temel olarak dağıtılan ödülden alınan payın depolandığı yazılım ya da servistir. Cüzdan içerisinde farklı birden fazla hesap tutulabilir, bunu aynı banka üzerinde adınıza açılmış birden fazla hesap gibi düşünebilirsiniz. Ya da cebinizde birden fazla gözü olan para cüzdanınız. Tek fark açabileceğiniz hesap sayısı sonsuza yakındır.
Yazılımsal olarak Farklı Bitcoin cüzdanları olmakla birlikte bunların arasında temel bitcoin cüzdanı olan Bitcoin Core cüzdan olarak çalışmanın yanında dilediğinizde node olarak da çalışabilecek şekilde tasarlanmıştır ve tüm blockchain ‘i bilgisayarınıza indirir. Bu hem diskinizden büyük bir alandan feragat etmenize hem de ziyadesiyle büyük bir internet kullanımına neden olur. Ancak en güvenilir cüzdan da yine Bitcoin Core ‘dur. Bunun dışında 3. Parti cüzdanlar da mevcut ve bunlar genellikle tüm hesap defterini diskinize indirmek yerine merkezi bir veritabanı üzerinde çalışır bu nedenle daha az disk alanı ve daha az internet kullanımı anlamına geliyor.
Eğer bitcoin temelli bir proje üzerinde çalışmıyorsanız ya güvenlik sizin için uç noktalarda önemli değilse alternatif lite cüzdanları kullanabilirsiniz. Bunun dışında bilgisayarınıza herhangi bir kurulum yapmanızı gerektirmeyen online cüzdan hizmetleri de mevcuttur ancak bunların güvenilirliği tartışmaya açıktır.
Nasıl Bitcoin Kazanabilirim ?
Bitcoin dünyasına yeni giren herkesin kafasındaki temel soru budur, aslında bu genel anlamda yanlış bir görüştür, illaki bitcoin kazanmak istiyorsanız gidip pool kurun mining yapın block ödülünü alın demek geliyor içimden ancak gerçek dünyada işler böyle işlemiyor ne yazık ki.
Bitcoin kendi başına bir sektör yaratmış durumda, insanlar maddi bir karşılığı olan bitcoine sahip olabilmek için 3 farklı yolu tercih etmek zorunda;
1. Parasını verip satın almak
2. Mining Yapmak
3. Bedava Bitcoin dağıtan servisleri kullanarak bitcoin toplamak.
Bu 3 yolun ilk ikisi öncesinde bir yatırım yapmanızı gerektiriyor. 3. ‘sü ise hiç harcama yapmadan (acaba gerçekten öyle mi?) bitcoin sahibi olmanızı sağlıyor. Tabi bu yazıyı okuyanların %99’u işte bunu merak ediyorum diyecek grubun içerisinde.
Bitcoin’in kendi sektörlerini yarattığından bahsetmiştik, işte bu sektörlerden en büyüğü Faucet (Musluk siteleri) temel olarak bedava bitcoin dağıtma görevini üstlenen bu servislerin amacı siteleri üzerinden bitcoin dağıtırken sitelerindeki reklamlar ile de para kazanmak. Elbette kimse babasının hayrına cebindeki bitcoini başkasına dağıtmaz (Hala bu gerçeğin farkında olmayanlar var maalesef) İşte bu nedenle de reklam gelirleri bu sitelerin yakıtı niteliğindedir. Gelir yoksa bedava bitcoin de yok kural basit.
Tek yapmanız gereken bir cüzdana ve bu cüzdanla birlikte size verilen bir bitcoin adresine sahip olmak bundan sonrası bu musluk sitelerinde saatlerce zaman geçirerek ufak ufak bitcoin toplamak ki eğer yeterince zamanınız, sabrınız ve boş bir bilgisayarınız varsa ciddi bir gelir elde edebilirsiniz. Deneyimlerim bu konuda Rusların eline su dökülemeyeceğini söylüyor.
Cüzdanım Çalınabilir Bitcoinlerimi Kaybedebilir miyim ?
Bu soruya verilecek cevap şu olsa gerek ; “Cebinizdeki cüzdanınız çalınabilir mi?, Banka hesabınız boşaltılabilir mi?” Eğer bu sorulara hayır yanıtını veriyorsanız ilk sizin cüzdanınız çalınacaktır emin olabilirsiniz.
Temel olarak bitcoin’inizin güvenliği bilgisayarınızın güvenliği ile doğru orantılıdır. Normal şartlarda bilgisayarınızda bir açık yoksa, ya da online bir cüzdan kullanmıyorsanız kolay kolay bitcoinlerinizden olmazsınız. Ancak, Bitcoin’in yapısı bazı açıkları da beraberinde getirir, yazımızın başlarında her bir transaction’un içeriğinin incelendiği ve bir onay sürecinden geçtiğinden bahsetmiştik, işte sürekli aynı noktadan yapılan transactionlar bir süre sonra cüzdanınız hakkında çok fazla bilgiyi bu nodlara ulaştırır. Eğer bir suiistimal olursa sahip olduğunuz private key (adres anahtarınız) başkaları tarafından çözülebilir (çok küçük ihtimal) ya da network aracılığı ile sisteminize yapılacak bir sızma girişimi başarıyla sonuçlanabilir. Bu nedenle de Cold Storage denilen bir yapı ortaya çıkmıştır.
Cold Storage Nedir ?
Cold Storage temel olarak, hiçbir ağa bağlı olmayan bir offline cüzdan anlamına gelir. Bitcoin üzerindeki hesaplar bir Public Hesap adresi ve buna bağlı bir private key’den ibarettir. Bu adres ve key ağa bağlı olmadan da offline olarak yaratılabilir. Yaratılan bu adres ‘e dilediğiniz zaman bir transfer gerçekleştirebilirsiniz, fiziksel olarak bir ağ bağlantısı olmadığından bu adrese yapılan transactionlar güven altında olacaktır, dışarıdan bir sızma söz konusu olamayacağı için de ömrü yettiğince saklayabilirsiniz.
Peki ya benim Bitcoin adresimle aynı adrese sahip birisi çıkarsa ?
Bu soruya gönül rahatlığı ile biz denedik olmuyor diyebilirim, içiniz rahat olsun, bir Private Keyin tekrar oluşturulması ihtimali, güneşi oluşturan atomların birinin kopyasını bulma ihtimali ile eş değer. Bunu deneyerek bulmak için sahip olmanız gereken işlemci gücüne ulaşmak mevcut teknoloji ile imkansız gibi. Bir gün gelir de kuantum bilgisayarları hayatımıza girerse o zaman endişe edebilirsiniz.
Yine de sorunu cevap vermiş olalım havada kalmasın, Eğer böyle bir durum olursa bu private keyin yönettiği bitcoin adresine her iki kişi de sahip olacağından hesabınızı diğer kişi istediği an boşaltabilir.