19 Eylül 2016 Pazartesi

Blockchain'e temelden giriş - 2 (Ethereum'da ne nedir)

Daha önceki yazıda blockchain nedir'i görmüştük. Şimdi temelden chain'i kullanmaya başlayalım. Altyapı olarak Ethereum'u kullanacağız çünkü Ripple paran kadar konuş diyor, Hyperledger production'a uygun değiliz notu barındırıyor, Bitcoin'in tx süreleri çok uzun ve temelde yetersiz, TauChain'se henüz hazır değil. Haydi başlayalım.

Ethereum altyapısının normal chain özelliklerinin üstüne çıkarak contractları temel almasına kısaca değinmiştik. Peki bu sistem nasıl çalışıyor?

Ether

Ethereum zincirinin temel para birimi ether'dir. Zincirde değişikliğe sebep olan tx'leriniz ve contractlarınızdaki işlemlerin karmaşıklık seviyelerine göre belirli bir miktar ether'i sisteme ödersiniz. Bu ödemeleriniz minerlara bölüştürülür. Etherler mine işlemi ile de elde edilebilir.

Mining

Algorithmalara girersek çıkamayız diye yine pas geçeceğim. Geçen yazıya göre daha geniş özetlersek, minerlar block kapatarak tx doğrular ve bu esnada block kapattıkları anda sisteme Proof of Work sağlarlarsa blockdan chain yaratılışı sırasında belirlenen miktarda ether elde ederler. Mining, sistemin canlı kalması için çok önemli bir işlemdir. Tüm node'lar bu işlemi yapabilir.

Node

Ethereum'da zincire doğrudan dahil olan her katılımcı bir node'dur. Her node'un kendine ait birden fazla hesapları olabilir. Yeni contract yaratma, contract yönetme, değer aktarımı gibi işlemler yapabilirler.

Herşeyin başı Geth

Ethereum nodelar'ın chainde işlem yapabilmek için sırtını dayadığı command line seviyesinde interface Geth'tir.

Peki önyüz? Ethereum Wallet ve kendi arayüzünüz

Ethereum'un canlı TEST-NET ve MAIN şeklinde 2 aktif chain'i mevcuttur. Online olan bu sistemlere dilerseniz kendi node'unuzu ayağa kaldırarak bağlanabilirsiniz ancak haliyle bir arayüz bu tarz işlemlerde büyük kolaylık sağlıyor. Bu noktada Ethereum'un kendi geliştirdiği ethereum wallet devreye giriyor. Arayüz olarak wallet kullanacaksanız arka planda kendi geth'ini çalıştırdığı için geth'le uğraşmaya gerek kalmıyor.

Kendi arayüzünüzü kullanmaya kararlıysanız, ayağa kaldırdığınız node'da bir RPC erişimi açmanız lazım. Daha sonra Nethereum gibi 3rd party bir API veya JS ile geth'e komut iletebilirsiniz. Bunun detayına sonraki yazıda gireceğim.

Contract

Ethereum'un temellerinden biri olan contractlar solidity dilinde yazılır. Bir contract başka contractlara erişebilir ve kullanabilir. Contractlar, barındırdıkları datayı kendisinden tx ile çağrılan methodlara göre değiştirebilir ve bu güncelleme contracttan haberi olan tüm kullanıcılar tarafından tx teyidi sonrası görülebilir. 

Neler yapılabilir?

Şimdi bir düşünün. Elinizde doğruluğu kesin olan bir data akışı var. Data chain içinde tutuluyor. Kimse datayı (contract kontrolü hariç) değiştiremiyor. Transferler detaylı bir şekilde sonsuza kadar saklanıyor. Sistem hacklenemez. Chain bilgilerini bilen herkes dahil olabiliyor.

Peki neler yapılabilir;
  • Oylama (Yapılmışı var)
  • Açık arttırma
  • Herhangi bir değer Alım/Satımı
  • Finansal işlemler
  • IK uygulamaları
  • Medikal uygulamalar
Hayal gücünüzle sizi başbaşa bırakıyorum.

Bey,

Hiç yorum yok:

Yorum Gönderme