Nedir bu Blockchain Teknolojisi?

10 ay önce Beyazıt Kölemen tarafından yazılmıştır.-1.478 Okunma

Her ne kadar şu an herkesin gözü teknolojisinden öte “ne olcak bu bitcoin’in hali?” olsa da ben daha çok nasıl bir teknoloji kazandığımızı anlatmaya çalışacağım. Her ne kadar illegal, legal gibi terimlerle haber sitelerimiz tartışsa da aslında bulut teknolojisinin bir sonraki levelı blockchain teknolojisini kaçırmayız umarım.

Blockchain teknolojisini anlatmadan önce bazı terimleri açıklamakta fayda var herhalde.. P2P, Kriptoloji gibi terimleri ufaktan bir açıklayalım isterseniz.

P2P Nedir? 

P2P Nedir diye sorsam sanırsam herkesin aklına “torrent mi lan bu” diyerek birşeyler oluşabilir. P2P yani Peer to Peer teknolojisi bugün blockchain teknolojisinin network sistemi diyebiliriz.

Nedir peki P2P derseniz de torrentteki mantığı az çok hatırlarsanız.. Ortada bir dosya var ve bu dosya kullanıcılar arasında paylaştırılmış durumda. Yani aynı dosya 100 lerce bilgisayarda var. 101. kişi o dosyayı indirmek istediğinde torrent sistemi 100 kişiyi size peer (eş) olarak atar yada 100 kişiden hangisi aktifse o kadar kişiyi ve siz o bilgisayarlardan farklı farklı dataları alıp bilgisayarınıza dosyayı indirirsiniz. (Peer sayısı ne kadar fazlaysa o kadar hızlı indirme mantığı oradan geliyor işte)

Peki P2P teknolojisi günümüzde nerede? Diye sorarsanız aslında çok fazla gelişti ama ismini P2P olarak çok zikretmedik. P2P için örnek olarak aslında hepimizin bugün kullandığı whatsapp ı örnek verebiliriz.

Kısaca mantık şudur. Elimizde bi veri var ama bu veri herkeste var. Peki veriyi herkese dağıtıp, verinin değiştirilmemesini nasıl sağlıycaz? Diye sorarken işin için kriptoloji giriyor ve gelelim işin en zevkli kısmına.

Kriptoloji Nedir?

Tarihçeleri çok sevmem o yüzden kriptolojinin tarifinden öte size küçük bir örnek vermek gerekirse; Kriptoloji bir verinin belirli algoritmalarla şifrelenmesidir. Yani bir anahtar ve bir kapı kilidi olarak düşünebilirsiniz.

Peki blockchain teknolojisini bu kadar güvenli tutan şifreleme teknolojisi nedir? diye soralım.

Ve sırasıyla A Kişisinden B kişisine bir para gönderme işlemi gerçekleştirelim.

—-

1.Aşama : Para Gönderme İşlemi

Klasik bankacılık sisteminde bu işlem şu şekilde gerçekleşir. Kişinin bakiyesi gönderilecek ücret + havale/eft ücreti (fee) kadarsa işleme izin verilir ve veri a hesap numarasından b hesap numarasına gönderilir. Blockchain teknolojisinde hesap numaraları yerine SSL Teknolojisinin veri nimetlerinden olan Public/Private key olayını kullanıyoruz..

Public/ Private key için burada şöyle bir açıklama yapabiliriz. Public key anahtar kilidi, private key cebimizdeki anahtar.  Yani kapı kilidini public keyi herkes görebilir ama private keyi olan sadece açabilir mantığını buradan söyleyebiliriz. Hatta “unutulan Bitcoinler” ve bitcoinin “şifremi unuttum” seçeneğinin olmamasının sebebi budur. Yani sistemde çilingir hizmeti sunulmuyor 🙂 Eğer private keyinizi unutursanız kapıda kalırsınız ve sisteme girmeniz imkansızın ötesinde bir durum olur. O yüzden private key leri blockchain teknolojisinde unutmayın,yazdırın, usb belleklerinizde saklayın demelerinin sebebi bu.

Peki bu public private keyle napıyoruz? Blockchain teknolojisinde Wallet dediğimiz cüzdanlardaki hesap numarasına biz wallet adresi diyoruz. Ve herkesin özel bir wallet adresi(public key) ve bu cüzdana giriş yapabilecekleri bir şifresi (private keyleri) oluyor.

Örnek: A kişisi B Kişisine 20 coin göndermek istiyor.

Buradaki gönderme işlemi şu şekilde gerçekleşiyor. A kişisi private keyiyle bu veriyi şifreliyor ve şifreyi açabilecek kişinin Public keyini yazıyor. Yani şöyle;

A Kişisinin Private Keyi
B Kişisinin Public keyi
Tutar

Bu 3 veri a kişisinin anahtar kilidiyle sadece b kişisi açıcak şekilde kilitleniyor.  Yada şöyle düşünün klasik posta sisteminde A kişisi B kişisinin posta kutusuna mesajını atıyor. (Bknz: Mail sistemlerinin çalışma mantığı)

Bu işleme biz havale işlemi yada BC teknolojisinde transaction diyoruz.. Bu işlemi yaparken insanlara 2 şekilde mesaj gönderiyoruz. Hem açık veriyi hem şifreli veriyi tüm peerlara gönderiyoruz. Ama o şifreyi sadece gönderilen okuyabileceği için veri herkese açık ama sadece B kişisinin kullanabileceği şekilde oluyor. Yani kısaca A kişisi B kişisine para verdiğini herkese söylüyor ama para B kişisinin olduğu için insanlar sadece izleyebiliyor. (P2P Mantığında)

Aslında bu sistem günümüzde kullanılan mail sisteminin çalışma mantığıyla benzer diyebiliriz.  Sadece o private keye sahip olan kişi o bilgiyi kullanabilir diyoruz kısaca.

2. Block Oluşturma Nedir?

Block dediğimiz olayda kısaca belirli zaman diliminde yapılan tüm transactionları yani tüm havale işlemlerinin şifrelerini deftere yazmak diyebiliriz.

Örnek olarak bir bitcoin bloğunu inceleyerek aslında durumu kısaca anlatabiliriz. Örnek Block

Burada coinler arasında farklılaşma yapısı başlıyor. Bitcoin 10 dakikada bir , Ethereum 5 saniyede bir block oluşturuyor. Tabi diğer coinlerinde farklı algoritmalarda farklı süreler içerisinde block oluşturma gerçekleştiriyorlar.

Peki bu blocklar nedir diye sorarsak?

Bir block bir önceki bloğa bağlı, özel olarak içindeki tüm transactionlarla beraber şifrelenmiş bir veri olarak söyleyebiliriz.
İlk block (Genesis Block) haricindeki tüm blocklar bir önceki bloğun adresini taşır. Her block hem açık, hem şifreli olarak verileri paylaşır.

Örnek Block:

Bir önceki Blok Adresi
Bloktaki Toplam İşlem Sayısı
Bloktaki işlemlerin hepsinin oluşturduğu hash değeri (merkle root)
Nonce ve diğer zaman/size bilgileri gibi.

—-

Kısaca şöyle bir block oluşturalım.
1. A – B ye 20 Coin Gönderdi.
2. B – C ye 10 Coin Gönderdi
3. C – B ye 5 coin gönderdi.
..

Böyle 100 tane işlemimiz olsun. Her işlemin belirttiğimiz şekilde bir hashi (Private- Public key olayı) oluştuğunda bu sefer tüm transactionları yani tüm işlemleri birleştirip tek bir hash oluşturuyoruz.. Buna bitcoin sisteminde merkle root dediğimiz ağaç diyagramıyla bu işlemi gerçekleştiriyoruz. Kısaca bu sefer farklı bi sha256 algoritmasıyla 1. ve 2. işlemi birleştirip 12, 2. ve 3. İşlemin şifrelerini birleştirip 23, 3 -4 birleştirip 34 gibi birbirleriyle tekrar şifreliyoruz.
Bu şifreleme işlemi tekrar aralarında 12-23, 23-34 gibi birleştirilerek işlem sayısı kadar verinin kendi aralarında şifrelenip ağacın en tepesine kadar aralarında tek tek şifrelenir ve sonuç olarak tüm işlemlerden tek bir hash numarası oluşturulur. Buradaki amaç şudur. Herhangi bir transaction verisindeki değer değiştirilirse o ağacın üstüne ulaşamazsınız ve block zinciri oluşmaz. Buradaki amaç para aktarımının çok güvenli bir şekilde oluşmasını amaçlar.

Oluşan merkle root hash verisi bizim bloğumuzun datası olarak kayıt altına alınır ve herkese söylenir. Tüm transactionlar hem açık, hem şifreli olarak herkesle paylaşılır. Kısaca açık datadaki veriyi değiştirseniz bile şifreli data herkes de olduğu için sistem bu block zincirini kabul etmez ve sizi sistemden atar. Validation olayında ise tüm transactionlar toplanır ve aynı şifrelemeye tabi tutulur. Eğer blockdaki şifreyle aynıysa block onaylanmış olarak herkesle paylaşılır. Tabi tüm bu işlemleri açık kaynak kodu sayesinde herkes yapabileceği için sistem tam güven içerisindedir.

Merkle root, block header bilgileri ve diğer bilgiler tekrar şifrelenerek o bloğun adresini oluşturur.

Sha256yla ilgili bir ufak bilgi veriyim: Örnek SHA Calculator

Örnek olarak: A harfiyle küçük a harfi arasındaki farkı göstermek adına

A: 559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd

a: ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb

Gördüğünüz gibi en ufak bir değişiklikte bile 64 karakterinin tamamının değiştiğini görebilirsiniz.

Ufak bir not: Şifrelemenin kırılması değil, açık verilerin toplanıp beraber şifrelenmesiyle validation gerçekleşir. (Mining yapan bilgisayarların şifre kırdığını düşünen arkadaşlara) Hani içindeki veriyi kırabilme ihtimaliniz sanırsam süper bilgisayarlarla bir kaç milyon yıl alabilir? 🙂


Peki arkadaş bu miningciler napıyor?

Geldik madenci abilerimizi anlatmaya. Böyle bir sistemi ayakta tutabilecek en güzel şey, bu sistemi teşvik etmek ve bu sistemi güçlü bilgisayarlarla canlı tutabilmek adına ödül vermektir. Nedir peki bu ödül? Nonce sayısını bulmak!

Bitcoinin yazılımcısı satoshi abimiz güzel bir matematik problemi sunmuş bize. Demiş ki bana öyle bir sayı verin ki oluşacak hash kodumuzun ilk x hanesi 0 la başlasın.

Yani : gaziantepbeyranicandir gibi bir datanın başlangıcında öyle bir sayı kullanıcaksın ki bu sayıyla birlikte bu veriyi hashlediğimiz de oluşan hash kodunun ilk x hanesi 0 la başlasın. İlk x hanesini doğru bulan arkadaşa da sistem 12.5 BTC hediye vericek demiş. Diffuculty vs gibi zorluk zımbırtısı da bu sayıdan ibaret yada biz bu sayıya kısaca nonce sayısı diyoruz.

Örnek: 1gaziantepbeyranicandir, 2gaziantepbeyranicandir gibi başına artan sayılar ekleniyor (A -a olayında gösterdiğim gibi ufacık bir datada bile tüm yapı değiştiğinden 0 lı sayıyı bulmak yani nonce değerini bulmak gerçekten çok zor)

İlk bol sıfırlı adresin nonce değerini bulan arkadaş ödül olarak 12.5 BTC sini alır ve bir sonraki block için tekrar yarış başlar. Burada bu işlem çok zorlaştığı için mining havuzları vs hani bildiğiniz madeni beraber kazalım mantığıyla AntPOOL,BTC.COM gibi havuzlar ve havuzlarda çalışan binlerce bilgisayar mevcut.

21 Milyon adet üretilecek ve şu anda 16 Milyon küsür olmasının sebebi de açıkcası bu. Yani her block oluştuğunda 12.5 BTC piyasaya giriyor.

Mining sektörüne atılacak arkadaşlara da ufak bir kaç bilgi vermek gerekirse; CPU – GPU olayında Grafik kartlarının MHZ olaylarının daha yüksek olması nedeniyle daha hızlı hashrate oluşturuyorlar. O nedenle Grafik kartlarıyla mining daha cazip geliyor hatta bir çok mining havuzu GPU yu o yüzden zorunlu tutuyor. Burada bir hashrate hesaplaması oluyor. Onu da zaten her grafik kart için farklı olarak bir hesaplanması mevcut. Sistemde örnek olarak 2000 Hashrate/Sn lik bir eforla zinciri oluşturdunuz ve 12.5 BTC ödülünü kazandınız. Havuz yöneticileri sizin ne kadar efor sarfetmenize göre size btc gönderiyor.

Tabi bu mining olayını ben oldum olası sevemedim (Ne gerek var olm sıfırlı değer bulcaz diye o kadar elektrik yakmaya) desem de sırf o yüzden blockchain teknolojisi popüler oldu desek yeri 🙂 Hatta bir ara deep learning filan mı yapıyolar acaba diye düşündüm ama bildiğin 0 bulma oyunu oynuyorlarmış ya. Gerçi bu sayede bir sürü peer olup veri güvenliğini arttıryor olsa da pre-mining coinlerin daha az elektrik tüketmesi daha güzel.

——-

Bir diğer mantık ise yeni tokenlarda kullanılan fee bazlı mining işlemleri diyebiliriz. Bu sistemler böyle oyunlar çok zor olmaktansa daha farklı bir algoritma da işlem devam ediyor. Ripple, Iota gibi coinlerde ise para önceden basılmış ama miningciler sadece transfer işlemlerindeki fee dediğimiz kesintiyi alıyorlar. Bu yüzden daha hızlı ve daha az elektrik kullanarak aynı güvenirlikte devam ediliyor.
Bu sistemlerdeki mantıkta ilk blockta, ana firmanın walletına belirli bir oranda para yatırılır. Oluşturulan para örnek 50 milyondur ve sistem ana bloğunda 50 milyon oluşturulduğu için daha üstüne çıkılmaz ve o 50 milyon sabit olarak kalır. Sistem sahipleri Airdrop, ICO tarzı satış/reklam gibi sebeplerle o parayı diğer insanlara dağıtır yada satar. Ve sistem bu şekilde devam eder.

—–

Peki bu blockchain teknolojisinin olayı kısaca nedir derseniz. Kısaca söylemek istediğim olay şu. Bilgisayar dünyasının komunizmi? 🙂

Blockchainin aslında bu kadar tutulmasının sebebi oteriteden uzak olması. Yani karşılık güven esasında olması.. Kİ hashrate lere göre ödemeler, feelerin dağıtılması, ödemelerin engellenememesi gibi nedenler diyebiliriz.

Yada genel anlamıyla P2P / Blockchain teknolojisi Bulut teknolojisinin sokağa indiği son durum olarak özetleyebiliriz. Evet milyarlarca bilgisayar satıldı, belki milyarlarca Terabyte harddisk boşta duruyor ve insanlar artık güvenliği “ben sağlıyacağım” dediği an ortaya çıkan bir teknoloji diyebiliriz. Malum sürekli çalınan banka hesapları, hacklenen yüzlerce hesap derken farklı bir güvenlik alt yapısında, daha şeffaf ve herkesin takip edebildiği bir teknoloji geleceğin teknolojisi olabilir mi?

Hatta bir önceki yazımda anlattığım IOT yani nesnelerin internetiyle birleştiğinde çok tatlı şeyler olmaz mı?

Her ne kadar ülke olarak bu teknolojiyi sadece “paradan” ibaret görüp, sürekli düşüp kalkan borsalardan dolayı karşı çıksakta bu teknolojiyi günümüz bankacılık sistemleriyle değiştirsek hatta seçim sistemi gibi “güven” duygusunun öne çıktığı sistemleri bu teknolojiye entegre etsek fena olmaz hani?

Sandığa gidip “oy pusulası” atmak yerine cep telefonundan bi iki tıkla halledebiliriz sanki o işi? Tüm siyasi partileride peer yaparız oldu bu iş.

Aa bi sn. Devlet bile yönetilir sanki? Meclis, kararlar, referandumlar.. Oo dur sustum.

Blockchain teknolojisiyle ilgili sorularınız vs olursa aşağıdaki yorumlarda tartışabiliriz. Yada sektörün içinde aktif kullanan biriyseniz belki bir gün bir yerde “ingilizce konuşurken” yine türk olduğumuzu çaktırmayız 🙂

Saygılarımla.

Bir Cevap Yazın