Yazılım Dünyasının Yeni Yıldızları – Bölüm I : BlockChain
BlockChain dünyasında çok büyük gelişmeler ve fırsatlar olduğu bir gerçek. Hatta özellikle bu yaz güneşten sonra en çok maruz kalacağımız şeyin BlockChain olacağını söylemek hiç de abartı olmasa gerek. Teknoloji dünyası BlockChain(kısaca BC olarak ifade edelim) ile sallanıyor. Aslında yazımızın ana konusu BC’nin önemli bir parçası olan ChainCode ve son yılların yükselen yıldızı GoLang olacak. Bu iki teknoloji arasında sıkı bir ilişki var ve bu ilişkinin boyutlarını birlikte keşfe çıkıyoruz. Her şeyden önce bazı kavramları açıklığa kavuşturabilmek için kısaca BC’nin ne olduğundan bahsedelim.
Blockchain Nedir?
BC, transactionların kaydedilmesi ve varlıkların bir iş ağında izlenmesi sürecini kolaylaştıran, paylaşılmış(shared) ve distributed(dağıtılmış) bir ledger(finansal defter) veya merkezileştirilmemiş bir veritabanı olarak tanımlanabilir. Geleneksel veritabanları için -ki bunlar bir bankaya, hükümete, muhasebeye ait olabilir — merkezi bir yönetim söz konusuyken — bir distributed ledger ‘de merkezi bir yönetim yoktur ve BC ağ içindeki herkes tarafından görülebilen çoğaltılmış veritabanlarına sahiptir.
BC’den daha çok bilinen bir teknoloji varsa o da Bitcoin’dir. Aslında Bitcoin hazır bir BC ağıdır ve Bitcoin’in ünü , karanlık ve tartışmalı yönleriyle gündeme gelmesinden kaynaklanır. Bitcoin’in karanlık dünyası sebebiyle BC teknolojisi gelişim açısından büyük bir dirençle karşılaştı ve karşılamaya da devam ediyor. Alışkanlıkları tamamen değiştirmeye hazırlanan ve cryptocurrency ‘nin temelini taşıyan bu teknoloji, dünya ekonomisinde yeni bir devrim olarak karşımıza çıkmaya hazırlanıyor. Bu gelişmelerle birlikte de hayatımıza yeni kavramlar girmeye başlıyor: consensus algorithms (fikir birliği algoritmaları ), akıllı sözleşmeler, distributed ledgers, dijital cüzdan , transaction blocks gibi.
Gelin BC’nin çalışma mantığını basit bir şekilde Varyemez Amca ile birlikte inceleyelim. Yıllar içinde onun da yatırım alışkanlıkları ve paraya bakış açısı değişti. İşte Varyemez Amca ve QuackCoin’lerinin bir BC ağında geçen kısa öyküsü.
Varyemez Amca şekilde de görüldüğü gibi bir BC ağı üzerinden kendi QuackCoin’lerini gönderiyor. Bu gönderim işleminde üçüncü bir taraf bulunmuyor, işlem doğrudan ve hızlı bir şekilde gerçekleşmiş oluyor, üstelik komisyon masrafları olmadan… Bu tam da Varyemez Amca’nın sevdiği türden bir ayrıcalık.
Bir BC ağı izlenip bu ağda ticaret yapılabilir, risk azaltılabilir ve maliyetler düşürülebilir. BC işlem listelerini kaydetmek için merkezi olmayan şeffaf bir yol sunmaktadır. Aslında BC klasik alışılagelmiş iş operasyonlarına yeni ve radikal bir boyut katacak sanayi 4.0 teknolojilerindendir diyebiliriz.
BC’nin en iyi bilinen kullanım şekli 2013’te Bitcoin olarak karşımıza çıkmıştır. BC ile ilgili araştırma yapmaya kalktığınızda karşınıza çıkan verilerin büyük bir bölümünün Bitcoin ile ilgili olmasına şaşırmamanız gerekir Bitcoin ile BC aynı şey değildir. BC, Bitcoin işlemlerini kaydetmek ve depolamak için tool’lar sağlar. Dinlediğim bir seminerde bu konuyla ilgili şöyle bir cümle vardı: “Bitcoin en büyük BC laboratuvardır” BC’nin Bitcoin dışında bir çok kullanım alanı olduğunu söyleyebiliriz.
Bu kullanım alanları;
- Seçim dönemlerinde oylama sistemleri
- Kamuya dair işlemler (Güvenli kamu kayıtları oluşturma)
- Belirli bir döneme ait belgenin varlığının kanıtlanması
- Tedarik zinciri yönetimi
- Mülkiyet geçmişlerinin önem kazandığı durumlar (elmasların veya tarihi eserlerin etik kaynaklı olması, peynirin gerçekten sütten yapılmış olması,gıdaların organik üretim süreçleri)
- Telif haklarının korunması (dijital medyanın meşru olarak satılması, kiralanması vb)
- Patent koruma
- Sağlık ve sigorta işlemleri
gibi pek çok alanda kullanılabilecek ve bunu yaparken de sistemleri daha şeffaf ve belki de daha demokratik hale getirecek. BC tabanlı sistemler tedarik, lojistik ve ödeme süreçlerinin etkinliğini arttırma, ithalat/ihracat belgelerinin manuel olarak işlenmesini azaltma, malların uygunluğunu ve teslimatını garanti etme ve kayıpları önleme potansiyellerine sahiptir. Böylece işlemsel operasyon maliyetlerinin düşürülmesi, finansal hareketlerin daha güvenli bir şekilde sağlanması, dolandırıcılık -ki pek çok finans kurumu bu olumsuz durumları tespit etmek için Fraud sistemlere ciddi yatırımlar yapmaktadır- faaliyetlerinin azaltılması mümkün hale gelir.
BC ‘nin şeffaf ve izlenebilir mülkiyet geçmişi için iyi bir yol olabileceğine dair ciddi bir inanç var. Ancak BC içinde fırsatlar olduğu kadar zorluklar da mevcut. Her ne olursa olsun bu teknoloji ciddi bir ilgi görüyor ve istikrarlı bir şekilde büyüyor. 2009’dan beri hayatta olan bu teknolojinin hiç hacklenememiş olması da dikkat çekici.
Dünyada başta bankalar olmak üzere bazı kuruluşlar tarafından , üzerinde çalışmalar yapılan bu teknoloji daha çok Startuplar tarafından drive ediliyor. BC teknolojisinin yararına odaklanıp harekete geçen Startup’ları incelemek isteyebilirsiniz. İçlerinde “Everledger” gibi çok enterasan projeler gerçekleştiren firmalar göreceksiniz.
BC’yi iş modeli olarak inceledikten sonra çok da teknik olmayan bir anlatımla nasıl çalıştığını kısaca inceleyelim. BC ağdaki tüm işlemlerin kanıtıdır. Block ,işlem tamamlandıktan sonra verileri kalıcı olarak veri tabanına kaydeder. BC’de çok sayıda block bulunur. Bu block’lar bir zincir gibi doğrusal, kronolojik sırada ve her block bir önceki block’un hash değerini içerecek şekilde birbirleriyle ilişki halindedirler.
BC’ i oluşturan block’larda transaction bilgileri yer alır. Bir transaction, bir kişinin sahip olduğu ve başka biriyle alışveriş yapmaya istekli olduğu bir değer birimini temsil eder. Bu değer birimi, A ‘nın hesabından paranın düştüğünü ve bu paranın B’nin hesabına geçtiğini ağa yayınlayacaktır. Peki ağdaki node’lar hesap bakiyelerini nasıl takip eder, derseniz; bu durum, bir önceki transaction’lara yapılan bağlantılar yoluyla ile doğrulanır. Transaction sayısı arttıkça BC de büyür ve daima günceldir. Block’lar transaction’ların sırasını — zamanını onaylar ve kaydeder. Her block bir önceki block’un hash’ini içerir.
Önceki block hash’i block’ları birbirine bağlar ve herhangi bir block’un değiştirilmesine veya mevcut iki block arasına bir block yerleştirilmesine engel olur. Bu şekilde, sonraki her blok bir önceki bloğun ve dolayısıyla blok zincirinin doğruluğunu güçlendirir. Kayıtlar cryptography yoluyla korunur. Bu da bu sistemin güvenlik açısından ön plana çıkmasını sağlıyor.
BC uygulamaları oluşturmak için arka planda , kodlama , kriptografi , matematik gibi önemli kaynaklar gerekiyor. Bu gözünüzü korkutmasın çünkü artık BC için gerekli ortamı sağlayan platformlar var. Şimdilerde BC geliştirme topluluğu 2 önemli teknoloji etrafında dönüyor. Bunlar Ethereum ve Hyperledger .
Ethereum, geliştiricilerin merkezi olmayan uygulamaları oluşturmasına imkan sağlayan BC teknolojisine dayanan açık bir yazılım platformudur. Bitcoin BC’ i dijital paranın sahiplik durumunu izlemek için kullanılırken, Ethereum platformunda oluşturulan BC , merkezi olmayan herhangi bir uygulamanın programlama kodunu çalıştırmaya odaklanır. Ethereum ‘da geçerli para birimi Ether’dir Bu platformda Solidity programlama dili kullanılır.
Hyperledger, sektörler arası BC teknolojilerini geliştirmek için yola çıkmış açık kaynak kodlu bir girişim olmakla birlikte ; finans , bankacılık ,IoT , tedarik zinciri , üretim gibi sektörlerin liderlerinin de dahil olduğu Linux Foundation’un ev sahipliğinde yükselen küresel bir işbirliğidir.
Siyasi tartışmaları da beraberinde getireceğinden , Hyperledger diğer BC projelerinin aksine şifreli para birimleri ve jetonlarla vakit harcamaktan uzak duruyor. Hyperledger, kendisini yüksek ölçeklenebilir endüstriyel uygulamaların omurgası olarak görüyor ve bu kararlılıkla ilerliyor. Bu teknoloji tüm dijital benliği ile kendisini endüstriyel uygulamalar oluşturma konusuna odaklamış durumda.
Hyperleger üzerinde tasarlanan BC teknolojilerinden biri de Hyperledger Fabric’tir ve bu proje IBM tarafından yönetilmektedir. Fabric’te programlama dili olarak Go ve Java kullanılmaktadır.
Hyperledger Fabric v1.0-alfa, IBM Bluemix üzerinden hizmet olarak sunulmaktadır. Hyperledger Fabric, dağıtık mimaride bir blockchain ağı oluşturabilmeniz için kolay bir mekanizma sağlar. Hyperledger Fabric oldukça güvenli bir ortamda çalışır. Sistemsel olarak bakıldığında IBM LinuxONE makinesinde Secure Service Container isimli bir yazılım bulunur. Bu çatı içerisinde ağ kaynakları olarak ifade edilen Peer, Order, Certificate Authority, Source Code ve Ledger tipleri yer alır. Çatıdaki bu parçalar sayesinde belirli iş kurallarını taşıyan ChainCode uygulamalarını bir BlockChain ağını tasarlamaya gerek duymadan test edebiliriz.
BC’ye kısaca değindikten sonra ChainCode ve GoLang için bu yazının devamı niteliğinde olan Bölüm -II ‘den devam edebilirsiniz.
5 Comments
Fatih öztürk
2 Ekim 2017 at 09:17Bc hacklendi.
Ether bu hackden sonra ikiye ayrildi.
ANIL AYDINALP
24 Ekim 2017 at 19:01Fatih öztürk haklısın hacklendi blockchain demek 100% güvenli değil
Ayse Kulabas
16 Kasım 2017 at 14:02Selamlar
Hack ile ilgili okuduğunuz haber veya kaynakları paylaşabilirseniz üzerinde tartışabiliriz. BlockChain in güvenliği ile ilgili birkaç temel önerme var. Merkezi bir DB olmaması , Distributed defterlere girebilmek için olağanüstü kaynak gereksinimi teorik olarak onu güvenli hale getiriyor . Asla hacklenemez değil. Security kedi fare oyunu …
HAck haberlerinin çoğu kriptopara cüzdanları gibi BC ağına bağlı olan uygulamalar üzerinden gerçekleşti. Kriptopara exchange hizmeti sunan kurumlardaki açıklardan kaynaklanan hack haberleri çok fazla var.
Buradaki yöntemler de ;
* Hacking Users Bitcoin wallet Password (Stealing Private Key)
* Hacking Bitcoin Mining Pools and Exchanges
BlockChain (BC) teoride hacklenebilir diyoruz. … Quantum Computing teknolojisi BC ağındaki hash algoritmalarını çözebilecek güçte.
Ayrıca Selfish node attack ve %51 attack konusu var . Ağın %51 ini ele geçirmek ciddi bir maliyet olduğu için şimdilik bu maliyete katlanmaya değer bir durum yok gibi görünüyor.
Zamanla göreceğiz neler olacağını
Ayse Kulabas
16 Kasım 2017 at 14:05Selamlar
Ether bir kriptopara birimi..Ethereum Blockchain ağı mı demek istediniz?
HAck ile ilgili haberi paylaşabilirseniz üzerinde değerlendirebiliriz.
Mustafa
25 Aralık 2017 at 07:21Etheryum BC ağı haclandi, haclandiği için ikiye bölün dü (hard fork=çatallanma),
diğer Hack yöntemi mevcut; buda Bitcoin cüzdanı offline ortamda oluşturulabilinmesi, bu şu
demek oluyor. Gerçekte aldığın ve gönderdiğin bir bitcoin adresinin birden fazla
olabilmesi durumu. Siz benden başkasında yok diye para depoladığınız daha
doğrusu Bitcoin depoladığınız Bitcoin Adress’in ikileme durumu milyonda birde olsa var, üstelik
oluşturulan bu adreslerin içerisinde Bitcoin olup olmadığı saniyeler içerisinde sorgulanması,
eğer oluşturulan bitcoin adressin içerisinde bitcoin varsa bu içinin güvesizliğini belirtir.
Bu işe Üniversitelerde girmiş durumda.
Bitcoin şu an bir Bitcoin cüzdan ile ağa bağlanmanız 200 gb depolama alanı gerektiriyor,
Bitcoinin artan değeri alınan ücretide sorgular niteliğe ulaştı ve ağda onaylanmamış
hesap sayısı 200.000 bini geçti?