Blok zinciri

Vikipedi, özgür ansiklopedi
Şuraya atla: kullan, ara

Blok zinciri, ilk defa Bitcoin ile ortaya konulmuş olan, içerisinde kayıtların birbirine kriptografik elementlerle bağlı olduğu (bkz: Hash fonksiyonları) sürekli büyüyen dağıtık bir veritabanıdır[1]. Bu veritabanındaki kayıtlar bir blok olarak paketlenmiş ve değişime karşı korunmak amacıyla kendinden gelen önce gelen bloklarin hash değerleriyle bağlanmıştır.[2]

Bu dağıtık veritabanı fikrinin en bilinen uygulaması, kriptopara (veya sanal para) için dağıtık bir şekilde tutulabilecek para aktarım ve kayıt defterinin oluşturulmasıdır. Bu şekilde tutulan veri, gerçekte bir bankanın gelir-gider defterine benzeyen bir şekilde zaman damgalarıyla beraber tutulan bir yığın kayıttan oluşur [3]. Bitcoin üzerinde herhangi bir merkezi yönetim olmadığından, kullanıcılar peer-to-peer şeklinde izne gerek olmaksızın bu platformdan faydalanabilirler.

Köken[değiştir | kaynağı değiştir]

Bu dağıtık veritabanındaki her bir kayıt, aslında birçok kayıttan oluşan bir blok içerisinde paketlenir ve daha sonra bu bloklar zaman damgalanarak geçmiş blokların üzerine hash fonksiyonu ile bağlanır. Bu yüzden son eklenen bloklar hem kendinden önce gelen blokların geçerliliğini artırır[2] hem de kendinden sonra gelecek bloklar için bir bağlanma noktası olmaya aday olurlar. Bu yüzden bu dağıtık veritabanı uygulaması, blok zinciri olarak adlandırılmıştır.[4]

Geçmiş[değiştir | kaynağı değiştir]

Blok zinciri fikri ilk olarak Satoshi Nakamoto'nun 2008'de kriptopara fikri olan Bitcoin'i ortaya koyduğu makalede ortaya çıkmıştır. Kriptopara makalesiyle beraber gelen dağıtık veritabanı fikri sanal para üzerindeki birden fazla harcanma problemine bir çözüm olarak önerilmiştir.[5]

Bitcoin için şu an kullanılmakta olan blok zinciri, yeni Bitcoin para oluşturulmadan yatırım kaynaklarını destekleyecek diğer fikirler için de bir temel oluşturmuştur.[6] 2014 Nisan itibarıyla, yan-zincir adı altında 80'den fazla farklı amaçlarla bu zincirin kullanımı olduğu bilinmektedir.

2014'ten bu yana, Blockchain 2.0 terimi bu sorunu (dağıtık ve efektif bir kayıt defteri uygulaması ve getirdiği yenilikler) daha genel halde ifade etmek için kullanılır olmuş, ve Bitcoin'in parasal değerinin ve uygulamasının yanında, dağıtık ve güvenilebilir bir dağıtık veritabanı sisteminin kendisini ifade eder olmuştur. Bu anlamda yeni eklentileri beraberinde getirecek şekilde en az 8 proje olduğu bilinmektedir.[6]

Model[değiştir | kaynağı değiştir]

Blok zincirinin nasıl gerçeklendiğini anlamak için, bunu oluşturan temel iki kavramdan bahsetmek gerekir: bloklar ve kayıtlar.

Kayıtlar

Blok zincirindeki her bir kayıt (aktarım işlemi, para aktarım işlemi veya transaction), temelde tutulması amaçlanan temel veri türüdür. Bitcoin için bu kayıt, para transfer işlemi olarak ele alınabilir. Bu para aktarım işlemleri (transactions), sistem kullanıcıları tarafından oluşturulur ve sistem üzerindeki öbeklere veritabanına eklenmek üzerine açık bir şekilde yayınlanırlar. Bu kullanıcılar tarafından yayınlanan para aktarım işlemlerinin tüm öbeklere ulaşması kritik değildir (best-effort-basis), çünkü bu kayıtların doğrulanması ancak blok halinde yapılacak bir madencilik işlemi sonucunda kesinleşecektir. Bitcoin için bu işlemler, kullanıcıların para harcama/transfer işlemlerine denk gelir ve giriş kısmında ödeyenlerin, çıkış kısmında da alıcıların bilgilerini içerir. Bu kayıtlar giren-çıkan değeri, imza geçerliliği gibi birkaç testten geçtikten sonra öbekler tarafından bir araya getirilerek yeni bir blok oluşturulmaya çalışılır.

Bloklar[değiştir | kaynağı değiştir]

Bloklar kayıtların daha önceden belirlenmiş sayıda bir araya gelmesi ve geçerli bir hash değerine sahip olacak şekilde madencilik yapılması sonucunda oluşturulur. Özetle, yeterli kayıtlar öbekler tarafından toplandıktan sonra, bu kayıtlar üçüncü partiler tarafından ticari ödül karşılığında Bitcoin madencisi olarak adlandırılan kişilere, belli bir koşulu sağlayacak hash değerini bulmaları için yayınlanır. Bu uygun hash değerini döndürecek hesaplamayı yapabilen parti, hem bu problem çözümünden yaratılan Bitcoin'leri hem de para aktarım işlemleri için ödenen cüzi miktardaki ücreti ödül olarak alır. Bu blok için doğru hash değerini bulan madenci, diğer öbeklere bu bulduğu son bloğu gönderir ve öbekler artık son bloktaki kayıt işlemlerinden farklı kayıtlar bulup onlar için madencilik yapmaya ve madencilerine bu yeni güncellemeyi dağıtmaya başlar.

Dağıtık Sistem[değiştir | kaynağı değiştir]

Sistemdeki her bir öbek, var olan geçmiş kayıtların bir kopyasını tutar ve bu şekilde merkezi bir veritabanı ihtiyacını ortadan kaldırır[7]. Para aktarımları yani kayıtlar ve yeni oluşturulan bloklar sistemde yayınlanır; bu şekilde diğer öbekler de kendilerine gelen kayıtları doğrular[8]:ch. 8. Sistemde merkezi bir doğrulama olmadığı için zaman damgalama için sistem öbekleri önceden belirli olan maliyetli bir hesaplama yapar. (bkz: proof-of-work)[9]

Avantajlar[değiştir | kaynağı değiştir]

Blok zinciri mimarisi kullanmanın faydaları şunlardır:

  • Bağımsız öbekler veri kopukluğu, kalitesiz ve güvenilir olmayan bağlantı, öbek işleticilerinin anonim olmasından etkilenmeyerek, geçici hatalara rağmen nihayetinde doğru olan tek bir kayıt sıralaması ve bütünlüğüne yakınsarlar. (bkz: Sybil attack)
  • Herhangi güvenilir bağlantıya sahip bir öbek, herhangi bir kayıt sorulduğunda yeteri kadar yüksek bir kesinlike bu kayıtın veritabanında olup olmadığı hakkında doğru yanıt verebilir.
  • Herhangi bir öbek, diğer öbeklerde kendisine talep olarak gelen yeni bir kayıtın sistemde var olup olmadığını doğrulayabilir ve belli bir zaman maliyetiyle bu kaydı geçerli kılmak için adım atabilir. Bu Bitcoin için, herhangi bir kullanıcının aynı parayı iki kez harcayamaması anlamına gelmektedir.
  • Herhangi bir noktada geriye dönük olarak, o ana kadar doğru kabul edilen blokların bir kısmını geçersiz kılınmayı başarabilmenin maliyeti çok yüksektir ve bunu başarmak ekonomik olarak zordur. (Bu doğrudan Bitcoin'de tekrar bir madencilik işleminin rakip olarak başlatılması ve hesaplama kümeleri tutup geçerli sonuçlar elde edilene kadar hesaplama yapılmasına bağlıdır.)
  • Öbekler, bir bütün olarak çakışan kayıtları hiçbir zaman geçerli kayıt defterine alamazlar, ve bu da çakışan iki aday kayıttan en fazla bir tanesinin ilerki bir zamanda geçerli olabileceği anlamanı gelmektedir.

Tartışma[değiştir | kaynağı değiştir]

Kavramsal olarak, bir otorite tarafından atanmış ve yetkilendirilmiş kapalı bir sistemin blok zinciri altına girip girmediği halen tartışılmaktadır. 2015'ten itibaren, blok zinciri kavramının Bitcoin'den biraz ayrılıp ön plana çıktığı gözlenmektedir. [10][11][12][13][14]

Kapalı ve özel bir sistemde dağıtık halde duran verilerin de blok zinciri kavramına yakın olduğu savunanlar gerekçe olarak kayıtların bloklar haline getirilmesi, zaman damgalanması ve "Multiversion Concurreny Control" (MVCC) ile tutulmasını bir argüman olarak öne sürerler[15]. Bu fikre göre, blok zincirinin çakışan herhangi iki kaydı kabul etmemesi, MMVC ile tutulan dağıtık bir veritabanında çakışan kayıtların olmaması sağlanmış olur.

Öte yandan, blok zinciri kavramının bu şekilde yorumlanmasını yanlış bulanlar, aslına MMVC ile verilen örnekteki kayıtların özgün anlamda dağıtık olmadığı ve tipik bir ticari veritabanı olduğunu öne sürerler. [10][12]

Uygulamalar[değiştir | kaynağı değiştir]

Yan-Zincirler[değiştir | kaynağı değiştir]

Yan zincirler, orijinal Bitcoin blok zincirinden bağımsız olarak "proof-of-work" hesaplamasının yapıldığı soyutlanmış zincirlerdir; ve bu zincirlerdeki kayıtlar doğrulandığı anda ek olarak tuttukları kayıtlar, orijinal zincire eklenebilir hale gelir. Örnekler:

  • Liquid - Blockstream tarafından geliştirilmiş takas yan-zinciri [16]
  • ChromaWay - Renkli paralar (colored coins) için geliştirilmiş yan-zincir
  • DIONS - Kimlik (identity) için geliştirilmiş giriş-çıkış tabanlı yan-zincir
  • tØ (tee-zero) - SEC tarafından onaylı Overstock.com tarafından geliştirilmiştir
  • Openchain

Alternatif Blok Zincirleri[değiştir | kaynağı değiştir]

Alternatif blok zincirler veya altzincirler, Bitcoin ile gelen teknolojiyi ve kodu kullanır [3]. Yeni dizayn edilen kodlar sisteme yeni özellikler getirir. Altzincirler Bitcoin'e benzer diğer para birimlerinin uygulanmasına da yardımcı olmuştur, fakat aşağıda örnekte verilen uygulamalar illa ki kriptopara olarak değerlendirilmemelidir. Altzincilerden bazıları, doğrudan para yerine performans, anonim olma, daha kolay depolanabilme veya akıllı anlaşmaları (smart contracts) [17] ön plana almaktadır. Temelde para birimi üzerindeki otorite varlığının kalkması etkisiyle ortaya konulan blok zincir, daha genel bir hale bürünerek diğer üçüncü parti gerektiren benzer durumlara çözüm olarak gösterilmiştir. Öne çıkan bazı uygulamalar şunlardır:

Güvenilir Zamandamgası[değiştir | kaynağı değiştir]

Bitcoin'deki güvenilir zaman damgaları herhangi anlama sahip mesajları tutmak için de kullanılabilir. Üçüncü parti servisler, mesajlaşma verilerini doğrudan bu blok zincirinde tutup, bloklara sahip olanların mesajları okuyabileceği hale getirmektedir.[21][22][23][24] Bitcoin geliştiricilerin Mike Hearn bu şekilde bir gömülü mesajlaşma uygulaması fikrine karşı çıkmış ve bunun aslında sistemde bir şişmeye yol açacağını belirtmiştir.[25][26][27]

Diğer bir blok zincir kullanımıysa verinin kendisini değil hash değerini kayıt olarak tutarak, böyle bir verinin var olduğu ve içeriğinin bozulmadığını göstermeyi hedeflemektedir [28][29]. Bu şekilde kayıt altına alınan hash değerleri renkli paralar (colored coins) gerçeklenmesinde kullanılabilir ve akıllı anlaşmaları destekleyebilir.

Diğer Kullanımlar[değiştir | kaynağı değiştir]

Bütünleşik bulut depolama çözüleri aynı blok zincirini temel alarak, depolanan verinin takas edilmesi ve aktarılmasıyla beraber ücret ödenmesini de mümkün kılmaktadır.

Bakınız[değiştir | kaynağı değiştir]

Dış Kaynaklar[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ Antonopoulos, Andreas (December 2014). Mastering Bitcoin - Unlocking Digital Cryptocurrencies. O'Reilly Media. ISBN 1-4493-7403-4. http://chimera.labs.oreilly.com/books/1234000001802/ch02.html. Erişim tarihi: 3 November 2015. 
  2. ^ a b Satoshi Nakamoto (2008). "Bitcoin: A Peer-to-Peer Electronic Cash System". Bitcoin.org. 17 Nisan 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160417000233/https://bitcoin.org/bitcoin.pdf. Erişim tarihi: 31 October 2008. 
  3. ^ a b "Blockchain". 12 Nisan 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160412095354/http://www.investopedia.com/terms/b/blockchain.asp. Erişim tarihi: 19 March 2016. "Based on the Bitcoin protocol, the blockchain database is shared by all nodes participating in a system." 
  4. ^ "How does Bitcoin work?". Bitcoin.org. 30 Mart 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160330061223/https://bitcoin.org/en/how-it-works. Erişim tarihi: 20 May 2015. 
  5. ^ Nakamoto, Satoshi. "original-bitcoin main.h". Satoshi Nakamoto. 17 Nisan 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160417111508/https://github.com/trottier/original-bitcoin/blob/master/src/main.h. Erişim tarihi: 2009. 
  6. ^ a b Swanson, Tim (2014-04-08). "Blockchain 2.0 – Let a Thousand Chains Blossom". LTB Network. https://letstalkbitcoin.com/blockchain-2-0-let-a-thousand-chains-blossom. Erişim tarihi: 2016-03-30. 
  7. ^ Jerry Brito and Andrea Castillo (2013). "Bitcoin: A Primer for Policymakers". Mercatus Center. George Mason University. 10 Mart 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160310103528/http://mercatus.org/sites/default/files/Brito_BitcoinPrimer.pdf. Erişim tarihi: 22 October 2013. 
  8. ^ Andreas M. Antonopoulos (April 2014). Mastering Bitcoin. Unlocking Digital Crypto-Currencies. O'Reilly Media. http://chimera.labs.oreilly.com/books/1234000001802/ch01.html. Erişim tarihi: 23 October 2014. 
  9. ^ Joshua Kopstein (12 December 2013). "The Mission to Decentralize the Internet". The New Yorker. http://www.newyorker.com/tech/elements/the-mission-to-decentralize-the-internet. Erişim tarihi: 30 December 2014. "The network’s "nodes"—users running the bitcoin software on their computers—collectively check the integrity of other nodes to ensure that no one spends the same coins twice. All transactions are published on a shared public ledger, called the "blockchain"" 
  10. ^ a b "It's All About the Blockchain - Money and State" (en). 23 Mart 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160323014635/http://moneyandstate.com/its-all-about-the-blockchain/. Erişim tarihi: 2015-11-02. 
  11. ^ Reutzel, Bailey. "A Very Public Conflict Over Private Blockchains". SourceMedia. 12 Mart 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160312045909/http://www.paymentssource.com/news/technology/a-very-public-confluct-over-private-blockchains-3021831-1.html. 
  12. ^ a b "Blockchain". 17 Mart 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160317214417/http://blogs.wsj.com/moneybeat/2015/04/14/bitbeat-blockchains-without-coins-stir-tensions-in-bitcoin-community/. 
  13. ^ "Blockchain Bandwagon Lesson". dinbits. 2015. 27 Kasım 2015 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20151127030630/http://news.dinbits.com/2015/11/the-blockchain-technology-bandwagon-has.html. 
  14. ^ "Why the Bitcoin Blockchain Beats Out Competitors". American Banker. 2015. 30 Mart 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160330060709/http://www.americanbanker.com/bankthink/why-the-bitcoin-blockchain-beats-out-competitors-1075100-1.html. 
  15. ^ Greenspan, Gideon. "Ending the bitcoin vs blockchain debate". 4 Mart 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160304055557/http://www.multichain.com/blog/2015/07/bitcoin-vs-blockchain-debate/. 
  16. ^ SAMBURAJ DAS (2015). "The First SideChain for Bitcoin Exchanges". CrryptoCoinsNews. 9 Nisan 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160409064251/https://www.cryptocoinsnews.com/blockstream-announces-liquid-the-first-sidechain-for-bitcoin-exchanges/. 
  17. ^ "Why Bitcoin may herald a new era in finance". The Economist Group. 2 Nisan 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160402130850/http://www.economistinsights.com/technology-innovation/analysis/money-no-middleman/tab/1. Erişim tarihi: 9 June 2015. 
  18. ^ Coppola, Benmeleh, Gabrielle, Yaacov. "This Israeli Ride-Sharing App Is the Utopian, Hippie Uber". 19 Eylül 2015 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20150919002710/http://www.bloomberg.com:80/news/articles/2015-09-16/this-israeli-ride-sharing-app-is-the-utopian-hippie-uber. Erişim tarihi: 27 January 2016. 
  19. ^ Ayral, Sandrine. "Bitcoin 2.0 Crowdfunding Is Real Crowdfunding". 12 Nisan 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160412104246/http://techcrunch.com/2014/10/17/bitcoin-2-0-crowdfunding-is-real-crowdfunding/. Erişim tarihi: 27 January 2016. 
  20. ^ Miller, Carl. "In 2015 social media companies strengthened their rule. In 2016 they will face rebellion". 13 Ocak 2016 tarihinde kaynağından arşivlendi. http://web.archive.org/web/20160113030357/http://www.telegraph.co.uk/technology/social-media/12061333/In-2015-social-media-companies-strengthened-their-rule.-In-2016-they-will-face-rebellion.html. Erişim tarihi: 27 January 2016. 
  21. ^ Aaron van Wirdum. "Student Aims to Boost Free Speech with Bitcoin Messaging App".
  22. ^ Ken Shirriff. "Hidden surprises in the Bitcoin blockchain and how they are stored: Nelson Mandela, Wikileaks, photos, and Python software".
  23. ^ "Bitcoin Strings: blockchain in words"
  24. ^ "CryptoGraffiti".
  25. ^ Daniel Cawrey. "Why New Forms of Spam Could Bloat Bitcoin's Block Chain".
  26. ^ "What are the key differences between different ways of embedding messages in the blockchain?".
  27. ^ Danny Bradbury. "Bitcoin, schmitcoin. Let's play piggyback on the blockchain".
  28. ^ "What is proof of existence?".
  29. ^ Danny Bradbury."Developers Battle Over Bitcoin Block Chain".

Kaynak hatası: <references>'da tanımlanan "t5" adındaki <ref> etiketi önceki metinde kullanılmıyor. (Bkz: Kaynak gösterme)

Kaynak hatası: <references>'da tanımlanan "t13" adındaki <ref> etiketi önceki metinde kullanılmıyor. (Bkz: Kaynak gösterme)