Tendermint Nedir?
Ana sayfa
Makaleler
Tendermint Nedir?

Tendermint Nedir?

Orta Seviye
Yay─▒nlanma: Jan 8, 2021G├╝ncellenme: Sep 1, 2022
7m

K─▒sa ├ľzet

Genel olarak blockchainlerin yap─▒s─▒ olduk├ža kat─▒d─▒r. Bir geli┼čtirici olarak bu da size iki se├ženek sunar: uygulamalar─▒n─▒z─▒ k─▒s─▒tlay─▒c─▒ bir ├ževre i├žinde geli┼čtirebilirsiniz ya da kodda ├žatallanma yaparak kendi blockchaininizi yaratabilirsiniz. Fakat kendi blockchaininizi yaratman─▒z kolay de─čildir ÔÇô ayn─▒ zamanda bir a─č da yaratman─▒z ve hangi┬ámutabakat mekanizmas─▒n─▒ kullanaca─č─▒n─▒za karar vermeniz gerekir.

Tendermint, uygulamalar─▒ herhangi bir dilde yazmaya imkan tan─▒yan blockchainler yaratmaya y├Ânelik a├ž─▒k kaynakl─▒ bir yaz─▒l─▒md─▒r. Daha da iyisi, bu blockchainler di─čer blockchainlerle ileti┼čim kurabilir.


Giri┼č

Bir┬ákripto para ya da┬áblockchain a─č─▒ yaratmak, bir veritaban─▒ olu┼čturmaktan ├žok daha fazla ├žaba gerektirir. Te┼čviklerin hassas bir ┼čekilde dengelenmesine ve g├╝venlik, merkeziyetsizlik ve ├Âl├žeklenebilirlik aras─▒nda bir kar zarar dengesinin kurulmas─▒na ihtiya├ž vard─▒r.
Tahmin edebilece─činiz gibi en g├╝├žl├╝ blockchain ekosistemini yaratmay─▒ ama├žlayan ekipler, bu hedefe ula┼čmak i├žin bug├╝ne kadar farkl─▒ bir├žok yakla┼č─▒m benimsemi┼čtir. Bu makalede, b├Âyle yakla┼č─▒mlardan biri olan┬áTendermint'i inceleyece─čiz.


Tendermint hakk─▒nda bilmeniz gerekenler

Blockchainler hakk─▒nda biraz bilgi sahibiyseniz Tendermint'e dair bir├žok ├Âzellik size tan─▒d─▒k gelebilir. Daha fazla ayr─▒nt─▒ya girmeden ├Ânce baz─▒ temel kavramlar─▒ tekrar hat─▒rlayal─▒m.


Blockchain mimarisini anlamak

Tendermint, bir t├╝r┬áblockchain y─▒─č─▒n─▒d─▒r. Asl─▒nda,┬áBitcoin ve┬áEthereum gibi di─čer a─člar da ayn─▒ ┼čekilde birer y─▒─č─▒nd─▒r. Bu yaln─▒zca blockchainin veritaban─▒yla ilgili de─čil,┬ánode'lardan olu┼čan┬áe┼čler aras─▒ a─č, bu node'lar─▒n nas─▒l etkile┼čim kurdu─ču,┬áak─▒ll─▒ kontratlar ve nas─▒l i┼člemler yapabilece─činizle de ilgilidir. Buradaki ama├ž, herkesin mevcut┬ádurum (veritaban─▒n─▒n anl─▒k bir g├Âr├╝nt├╝s├╝ gibi d├╝┼č├╝n├╝lebilir) hakk─▒nda hemfikir olmas─▒ ve bu fikir birli─či i├žin kar┼č─▒l─▒kl─▒ g├╝vene ihtiya├ž duyulmamas─▒d─▒r.
G├╝n├╝m├╝z├╝n ba┼čl─▒ca blockchainlerinin b├╝y├╝k bir b├Âl├╝m├╝ bunu m├╝mk├╝n k─▒lman─▒n bir yolunu ke┼čfetmi┼čtir. Fakat bu blockchainlerin ├žo─ču,┬ámonolitik mimariye dayan─▒r. Monolitik mimari, bir yaz─▒l─▒m m├╝hendisli─či kavram─▒d─▒r ve ├Â─čelerin birbirine ba─čl─▒ oldu─ču ve dayand─▒─č─▒ anlam─▒na gelir. Di─čer bir deyi┼čle, bir par├žay─▒ al─▒p ba┼čka bir yere yerle┼čtirmeniz m├╝mk├╝n de─čildir.
Esneklik istiyorsan─▒z, monolitik mimari sizin i├žin pek uygun de─čildir. Bunun tam tersi olan modelde (mod├╝ler mimari), sistemi bozma ihtimali olmadan bireysel par├žalar ├╝zerinde de─či┼čiklikler yapabilirsiniz. Monolitik yap─▒da ise tek bir ├Â─če ├╝zerinde y├╝kseltme yaparsan─▒z di─čer t├╝m ├Â─čelerin de bununla uyumlu oldu─čundan emin olman─▒z gerekir.┬á

Bu farktan bahsetti─čimize g├Âre Tendermint protokol├╝n├╝n ayr─▒nt─▒lar─▒na girebiliriz.


Bizans hatas─▒ tolerans─▒ (BFT)

Bitcoin'in ortaya koydu─ču en ├Ânemli inovasyonlardan biri┬áBizans Generalleri Sorunu'nu ├ž├Âzmesidir. Burada, bu sorundan ayr─▒nt─▒l─▒ bir ┼čekilde bahsetmeyece─čiz (daha fazla bilgi i├žin┬áBizans hata tolerans─▒ makalemizi okuyabilirsiniz). ┼×u a┼čamada tek bilmeniz gereken, bu sorunun da─č─▒t─▒lm─▒┼č bir ortam dahilinde birbirleriyle ileti┼čim kurmas─▒ gereken kat─▒l─▒mc─▒larla ilgili oldu─čudur.┬á
Bu kat─▒l─▒mc─▒lar, di─čerlerinin yalan s├Âyleyip s├Âylemedi─čini ya da g├Ânderilen mesajlar─▒n ├╝zerinde oynama yap─▒l─▒p yap─▒lmad─▒─č─▒n─▒ bilemez. Bir sistemde bu sorunlar mevcutken bile kat─▒l─▒mc─▒lar neyin do─čru oldu─čuna y├Ânelik fikir birli─čine varabiliyorsa, bu sistemin┬áBizans hata tolerans─▒na (BFT) sahip oldu─ču s├Âylenebilir.
Merkeziyetsiz bir d├╝zende bunun ba┼čar─▒labiliyor olmas─▒ elbette ├žok ├Ânemlidir. Bizans hata tolerans─▒na sahip olmayan kripto paralar─▒n ger├žek anlamda ├žal─▒┼čt─▒─č─▒ s├Âylenemez ÔÇô koordinasyon i├žin bir t├╝r merkezi birime ihtiya├ž duyulur ve bu da as─▒l amaca ayk─▒r─▒d─▒r.┬áDijital bir├žok para birimi gibi Bitcoin de bu sorunu┬áProof of Work (PoW) mutabakat algoritmas─▒yla ├ž├Âzer.


Bir blockchainin ├╝├ž katman─▒

Bu a┼čamada, monolitik/mod├╝ler mimari aras─▒ndaki fark─▒ ve merkeziyetsiz kripto para a─člar─▒n─▒n Bizans hata tolerans─▒na sahip olmas─▒ gerekti─čini biliyoruz. ┼×imdi bir blockchainde tipik olarak kar┼č─▒m─▒za ├ž─▒kan ├╝├ž katmandan bahsedelim:┬áuygulama katman─▒,┬ámutabakat katman─▒ ve┬áa─č olu┼čturma katman─▒.
Mutabakat ve a─č olu┼čturma katmanlar─▒nda node'lar birbirleriyle konu┼čur ve mevcut ger├žekler ├╝zerine fikir birli─čine varmaya ├žal─▒┼č─▒r. Uygulama katman─▒ ise sizin bir ┼čeyler yapabilece─činiz katmand─▒r ÔÇô ├Ârne─čin, Ethereum'daki┬ámerkeziyetsiz uygulamalar ve┬áak─▒ll─▒ kontratlar ya da┬áBitcoin'deki ki┼čisel i┼člemler gibi.



Tendermint Core

├ľnce, terminolojiyi k─▒saca netle┼čtirelim. Biz burada ÔÇťTendermintÔÇŁ ve ÔÇťTendermint CoreÔÇŁ terimlerini e┼č anlaml─▒ olarak kullanaca─č─▒z, ├ž├╝nk├╝ yaln─▒zca teknolojiye odaklan─▒yoruz.┬á

Fakat asl─▒nda Tendermint, ┼čirketin ad─▒ (orijinal whitepaper'─▒ yazan geli┼čtirici Jae Kwon taraf─▒ndan kurulmu┼čtur), Tendermint Core ise ┼čirketin ├╝zerinde ├žal─▒┼čt─▒─č─▒ yaz─▒l─▒md─▒r. Bu yaz─▒l─▒m da ba┼čl─▒ca iki ├Â─čeden olu┼čur: temel mutabakat motoru (Tendermint Core) ve uygulama aray├╝z├╝ (ABCI).

Tendermint Core, hata tolerans─▒n─▒ ger├žekle┼čtiren sistemdir. En ├Âz├╝nde, herkese ayn─▒ zamanda ayn─▒ durumu g├Âsteren b├╝y├╝k, da─č─▒t─▒lm─▒┼č bir bilgisayard─▒r. Kat─▒l─▒mc─▒lar─▒n ├╝├žte ikisi d├╝r├╝st oldu─ču m├╝ddet├že her ┼čey sorunsuz bir ┼čekilde ├žal─▒┼č─▒r. Fakat asl─▒nda neredeyse b├╝t├╝n blockchainler de bu ┼čekilde ├žal─▒┼č─▒r. O zaman Tendermint'i ├Âzel k─▒lan nedir?

├ľncelikle, kullan─▒lan mutabakat mekanizmas─▒┬áProof of Stake'dir (PoS). Do─črulay─▒c─▒ grubundan, her bir d├Ânem i├žin rastgele bir node se├žilir. Bu node'un bir sonraki┬áblo─ču ├Ânermesi gereklidir (round robin adl─▒ bir sistemde). Di─čer do─črulay─▒c─▒lar bu ├Âneriyi kabul ederse yeni blok eklenir ve zincir g├╝ncellenir. ─░┼člem sonland─▒rma an─▒ndad─▒r ÔÇô Bitcoin ve Ethereum'un aksine i┼čleminizin ge├žerli oldu─čundan emin olabilmeniz i├žin┬ádo─črulama yap─▒lmas─▒n─▒ beklemenize gerek yoktur.

Fakat her ┼čey bu kadarla s─▒n─▒rl─▒ de─čildir. Tendermint Core'un mimarisi mod├╝lerdir. Uygulama katman─▒, mutabakat ve a─č olu┼čturma katman─▒ndan ayr─▒lm─▒┼čt─▒r. Bu da kendi uygulama katman─▒n─▒z─▒ y─▒─č─▒na ekleyebilece─činiz anlam─▒na gelir. Bunu yapmak i├žin te┼čvikler ya da mutabakat algoritmalar─▒ ├╝zerine ├žal─▒┼čman─▒za gerek yoktur.┬á

Muhtemelen bu ├Âzellik, son kullan─▒c─▒ i├žin pek de heyecan verici de─čildir. Fakat geli┼čtiriciler i├žin mevcut bir ├žer├ževeden faydalanabiliyor olmak; b├╝t├╝n bir a─č─▒ s─▒f─▒rdan in┼ča etmek zorunda kalmadan, do─črudan uygulama geli┼čtirmeye ba┼člayabilmek anlam─▒na gelir. Blockchainden gelen veriler, entegre edilmi┼č katmana nakledilebilir, b├Âylece geli┼čtiriciler de herhangi bir dili kullanarak yaz─▒l─▒m geli┼čtirebilir.

Bunu m├╝mk├╝n k─▒lan ise Uygulama Blockchain Aray├╝z├╝ ya da k─▒saca ABCI'd─▒r. ABCI'─▒, bir Raspberry Pi bilgisayara ekledi─činiz GPIO (genel ama├žl─▒ girdi-├ž─▒kt─▒) pin'leri gibi d├╝┼č├╝nebilirsiniz. LED'lerden bitkileriniz i├žin ├Âzenle haz─▒rlanm─▒┼č sulama sistemlerine kadar her t├╝rden ├╝├ž├╝nc├╝ taraf ├Â─čeyi bunlara ba─člayabilirsiniz. Benzer ┼čekilde ABCI da blockchain ve ├╝zerinde ├žal─▒┼čan uygulamalar aras─▒ndaki s─▒n─▒r─▒ belirler.


Tendermint Core'u bu kadar ├Ânemli k─▒lan nedir?

Uygulama aray├╝z├╝ ve mutabakat algoritmas─▒n─▒n birbirinden ayr─▒lm─▒┼č olmas─▒, farkl─▒ t├╝rlerdeki merkeziyetsiz uygulamalar─▒n herhangi bir programlama dilini i┼č mant─▒─č─▒na dahil edebilmesi i├žin daha fazla esneklik sunar.

Nelerin yap─▒labilece─čini y├Ânelik net bir ├Ârnek i├žin┬áEthermint'e bakmak yeterlidir. Bu proje, Ethereum kod taban─▒n─▒ al─▒p Proof of Work mekanizmas─▒n─▒ ├ž─▒karm─▒┼č ve Ethereum Sanal Makinas─▒'n─▒ Tendermint ├╝zerine yerle┼čtirmi┼čtir.
B├Âylece ilgin├ž birka├ž ┼čey m├╝mk├╝n hale gelmi┼čtir. Birincisi, Ethereum geli┼čtiricileri ak─▒ll─▒ kontralar─▒n─▒ yeni motora kolayl─▒kla ta┼č─▒yabilmi┼č ya da Solidity kullanarak yeni kontratlar yazabilmi┼čtir. Ethermint, Ethereum'un i┼člevselli─čini sunman─▒n yan─▒nda Proof of Stake Ethereum gibi hareket ederek┬áEthereum 2.0'da┬áCasper uygulamas─▒n─▒n nas─▒l olaca─č─▒ hakk─▒nda fikir de vermi┼čtir.


Blockchain birlikte ├žal─▒┼čabilirli─či

ÔÇťBlockchainlerin internetiÔÇŁ vaadi, bir├žok ki┼činin Tendermint tabanl─▒ protokollere y├Ânelmesine sebep olan ┼čeydir.┬áBirlikte ├žal─▒┼čabilirlik, bireysel y├╝zlerce blockchainin birbirleriyle uyumlu olabilece─či anlam─▒na geldi─činden kripto para d├╝nyas─▒nda uzun s├╝redir beklenen bir yeniliktir.
─░steyen herkesin uygulamaya ├Âzel bir herkese a├ž─▒k ya da gizli blockchain olu┼čturmas─▒na imkan tan─▒yan a├ž─▒k kaynakl─▒ bir ├žer├ževe olan┬áCosmos SDK'ya y├Ânelik yo─čun ├žal─▒┼čmalar yap─▒lm─▒┼čt─▒r. Daha sonra bu blockchainler Cosmos Hub arac─▒l─▒─č─▒yla genel Cosmos a─č─▒na eklenebilir ve burada birbirleriyle ileti┼čim kurabilir.
Binance Smart Chain (BSC),┬áKAVA,┬áBand Protocol,┬áTerra ve┬áIRISnet gibi ├žok say─▒da pop├╝ler proje Cosmos SDK ile in┼ča edilmi┼čtir.


Son d├╝┼č├╝nceler

Bir blockchain motoru olarak Tendermint, geli┼čtiricilerden son kullan─▒c─▒lara kadar kripto d├╝nyas─▒ndan bir├žok payda┼č─▒n ilgisini ├žeker.

Tendermint'e y├Ânelik ilgi devam ederse bu yaz─▒l─▒m, blockchainlerin internetinin belkemi─či olarak ba┼čar─▒yla hizmet edebilir. Yukar─▒da da bahsetti─čimiz gibi bu vizyonu hayata ge├žirmek i├žin halihaz─▒rda birka├ž proje Cosmos SDK ile kullan─▒ma sunulmu┼čtur.

Tendermint, mutabakat algoritmalar─▒ ya da genel anlamda blockchain teknolojisi hakk─▒nda sorular─▒n─▒z m─▒ var? Bu sorular─▒n─▒z─▒n topluluk taraf─▒ndan yan─▒tlanaca─č─▒ Academy'ye Sor'u ziyaret edebilirsiniz.
G├Ânderiler Payla┼č─▒n
Hesap olu┼čturun
Hemen bir Binance hesab─▒ olu┼čturarak bilgilerinizi uygulamaya d├Âk├╝n.