Mutabakat Algoritmas─▒ Nedir?
Ana sayfa
Makaleler
Mutabakat Algoritmas─▒ Nedir?

Mutabakat Algoritmas─▒ Nedir?

Ba┼člang─▒├ž Seviyesi
Yay─▒nlanma: Dec 13, 2018G├╝ncellenme: Aug 17, 2023
7m


─░├žerik


Giri┼č

Mutabakat algoritmas─▒, kullan─▒c─▒lar─▒n ya da makinelerin da─č─▒t─▒lm─▒┼č bir ├ževre i├žinde koordine olmas─▒n─▒ m├╝mk├╝n k─▒lan mekanizmad─▒r. Sistemdeki t├╝m birimlerin tek bir ger├žek kayna─č─▒na y├Ânelik fikir birli─čine varmas─▒n─▒ sa─člamal─▒ ve bunu baz─▒ birimler ba┼čar─▒s─▒z olsa bile yapabilmelidir. Di─čer bir deyi┼čle sistem, hataya toleransl─▒ olmal─▒d─▒r (bknz: Bizans Hata Tolerans─▒ Nedir?).

Merkezi bir d├╝zende tek bir birim sistem ├╝zerinde g├╝ce sahiptir. ├ço─ču durumda bu birim keyfi de─či┼čiklikler yapabilir ÔÇô ├žok say─▒da idarecinin fikir birli─čine varmas─▒na y├Ânelik karma┼č─▒k bir idari sistem bulunmaz.┬á

Fakat merkezi olmayan bir d├╝zende sistem tamamen ba┼čka ┼čekilde ├žal─▒┼č─▒r. Da─č─▒t─▒lm─▒┼č bir veritaban─▒ ile ├žal─▒┼č─▒yorsak hangi girdilerin eklenece─čine y├Ânelik nas─▒l fikir birli─čine varabiliriz?

Birbirlerini tan─▒mayan ki┼čilerin kar┼č─▒l─▒kl─▒ g├╝ven duymad─▒─č─▒ bir ├ževrede bu zorlu─čun ├╝stesinden gelinmesi muhtemelen┬áblockchainler i├žin yolu a├žan ba┼čl─▒ca geli┼čmedir. Bu makalede kripto paralar─▒n ve da─č─▒t─▒lm─▒┼č kay─▒t defterlerinin ├žal─▒┼čabilmesinde mutabakat algoritmalar─▒n─▒n ├Ânemini inceleyece─čiz.


Mutabakat algoritmalar─▒ ve kripto para

Kripto paralarda kullan─▒c─▒lar─▒n bakiyeleri bir veritaban─▒na yani┬áblockchaine kaydedilir. Herkesin (daha do─črusu her┬ánode'un) veritaban─▒n─▒n birebir bir kopyas─▒n─▒ tutmas─▒ ├žok ├Ânemlidir. Aksi takdirde ortaya ├želi┼čkili veriler ├ž─▒kar, bu da kripto para a─č─▒n─▒n t├╝m amac─▒na ayk─▒r─▒d─▒r.
A├ž─▒k anahtar kriptografisi kullan─▒c─▒lar─▒n kendilerine ait olmayan┬ácoinleri harcayamamas─▒n─▒ garanti alt─▒na al─▒r. Fakat yine de a─č kat─▒l─▒mc─▒lar─▒ fonlar─▒n halihaz─▒rda harcan─▒p harcanmad─▒─č─▒n─▒ belirleyebilmek i├žin ger├že─če y├Ânelik tek bir kayna─ča ihtiya├ž duyar.
Bitcoin'in yarat─▒c─▒s─▒ Satoshi Nakamoto kat─▒l─▒mc─▒lar─▒ koordine etmek i├žin bir┬áProof of Work (i┼č ispat─▒) sistemi ortaya atm─▒┼čt─▒r. Birazdan PoW'un nas─▒l ├žal─▒┼čt─▒─č─▒n─▒ ayr─▒nt─▒l─▒ inceleyece─čiz ama ┼čimdilik mevcut bir├žok mutabakat algoritmas─▒nda ortak olan baz─▒ ├Âzelliklerden bahsedece─čiz.
─░lk olarak,┬áblok eklemek isteyen kullan─▒c─▒lar─▒n (bu ki┼čilere do─črulay─▒c─▒ diyece─čiz) ortaya bir stake koymas─▒ gereklidir. Stake, do─črulay─▒c─▒lar─▒ d├╝r├╝st davranmamaktan cayd─▒racak, ortaya konan bir de─čerdir. E─čer hile yaparlarsa ortaya koyduklar─▒ de─čeri kaybederler. Stake ├Ârne─či olarak hesaplama g├╝c├╝, kripto para ve hatta itibar bile verilebilir.┬á
Peki bu ki┼čiler neden kendi kaynaklar─▒n─▒ riske atar? ├ç├╝nk├╝ bunun kar┼č─▒l─▒─č─▒nda bir ├Âd├╝l al─▒rlar. Bu ├Âd├╝l genellikle protokol├╝n yerel para biriminden olu┼čur ve kullan─▒c─▒lar─▒n ├Âdedi─či i┼člem ├╝cretlerinden, yeni yarat─▒lm─▒┼č kripto para birimlerinden ya da her ikisinin birle┼čiminden meydana gelir.
Son olarak ihtiyac─▒m─▒z olan ┼čey ┼čeffafl─▒kt─▒r. Bir ki┼činin hile yapt─▒─č─▒n─▒ belirleyebilmek m├╝mk├╝n olmal─▒d─▒r. ─░dealde bu ki┼čilerin bloklar─▒ yaratmas─▒ masrafl─▒ olmal─▒ fakat do─črulamalar herkes taraf─▒ndan masrafs─▒z bir ┼čekilde yap─▒labilmelidir. B├Âylece do─črulay─▒c─▒lar, standart kullan─▒c─▒lar taraf─▒ndan kontrol alt─▒nda tutulur.


Mutabakat algoritmas─▒ t├╝rleri

Proof of Work (PoW)

Proof of Work (PoW) blockchain mutabakat algoritmalar─▒n─▒n atas─▒d─▒r. ─░lk olarak Bitcoin taraf─▒ndan uygulamaya konmu┼čtur ama asl─▒nda kavram─▒n kendisi Bitcoin'den ├Ânce de mevcuttur. Proof of Work'te do─črulay─▒c─▒lar (madenciler olarak adland─▒r─▒l─▒rlar) eklemek istedikleri verileri belirli bir ├ž├Âz├╝me ula┼čana kadar hash eder.
Hash, veriyi bir┬áhash fonksiyonundan ge├žirdi─činizde ortaya ├ž─▒kan rastgele g├Âr├╝n├╝ml├╝ say─▒lar ve harflerden olu┼čur. Fakat ayn─▒ veriyi bir kez daha hash etti─činizde her zaman ayn─▒ ├ž─▒kt─▒ ile kar┼č─▒la┼č─▒rs─▒n─▒z. Veride tek bir ayr─▒nt─▒y─▒ bile de─či┼čtirmeniz tamamen ba┼čka bir sonu├ž verecektir.

├ç─▒kt─▒ya bakarak fonksiyona sokulan girdiyi tahmin etmek imkans─▒zd─▒r. Bu nedenle hash'ler bilginin belirli bir tarihten ├Ânce elinizde oldu─čunu kan─▒tlayabilmeniz i├žin kullan─▒┼čl─▒d─▒r. Verinin hash'ini bir ki┼čiye verebilirsiniz ve daha sonra verinin kendisini de payla┼čt─▒─č─▒n─▒zda bu ki┼či ├ž─▒kt─▒n─▒n ayn─▒ oldu─čunu kontrol etmek i├žin veriyi hash fonksiyonundan ge├žirebilir.

Proof of Work'te, bir blo─ču ge├žerli k─▒lacak ko┼čullar protokol taraf─▒ndan belirlenir. ├ľrne─čin protokol, hash de─čeri yaln─▒zca 00'la ba┼člayan bloklar ge├žerlidir diyebilir. Madencinin bu kombinasyona uygun bir hash de─čerine ula┼čmas─▒n─▒n tek yolu bir├žok girdiyle deneme yapmas─▒d─▒r. Do─čru hash'i tahmin edene kadar farkl─▒ bir ├ž─▒kt─▒ yaratmak i├žin verideki bir parametrede k├╝├ž├╝k de─či┼čiklikler yapabilir.┬á
B├╝y├╝k blockchainlerde zorluk seviyesi son derece y├╝ksektir. Di─čer madencilerle rekabet edebilmek i├žin ancak ├Âzel hashing donan─▒mlar─▒yla (ASIC'ler) dolu bir depoya sahipseniz ge├žerli bir blok yaratmak ┼čans─▒na sahip olabilirsiniz.
Madencilik yaparken ortaya koydu─čunuz de─čer (stake) makinelerin ve bu makineleri ├žal─▒┼čt─▒rmak i├žin gerekli elektri─čin masraf─▒d─▒r. ASIC'ler tek bir ama├ž i├žin yarat─▒lm─▒┼čt─▒r dolay─▒s─▒yla┬ákripto para madencili─či d─▒┼č─▒nda kullan─▒lmalar─▒ m├╝mk├╝n de─čildir. Ba┼člang─▒├žta yapt─▒─č─▒n─▒z yat─▒r─▒m─▒n kar┼č─▒l─▒─č─▒n─▒ alabilmenizin tek yolu, blockchaine ba┼čar─▒yla bir blok eklemeniz durumunda y├╝ksek tutarda bir ├Âd├╝l sunan madenciliktir.

A─č─▒n, ge├žerli bir blok olu┼čturdu─čunuzu do─črulamas─▒ olduk├ža kolayd─▒r. Do─čru hash'i bulmak i├žin trilyonlarca kombinasyon da denemi┼č olsan─▒z, do─črulama yapmak i├žin verinin fonksiyondan bir kez ge├žirilmesi yeterlidir. E─čer veri ge├žerli bir hash ├╝retirse kabul edilir ve siz de ├Âd├╝l kazan─▒rs─▒n─▒z. Aksi takdirde a─č blo─ču reddeder ve siz de bo┼čuna zaman ve elektrik harcam─▒┼č olursunuz.


Proof of Stake (PoS)

Proof of Stake (Stake ─░spat─▒/PoS), Bitcoin'in ilk g├╝nlerinde Proof of Work'e alternatif olarak sunulmu┼čtur. Bir PoS sisteminde madencilik kavram─▒, ├Âzel donan─▒mlar ya da ├žok y├╝ksek enerji t├╝ketimi yoktur. Tek ihtiyac─▒n─▒z standart bir bilgisayard─▒r.
Asl─▒nda bu tam olarak yeterli de─čildir. Ortaya koyarak riske ataca─č─▒n─▒z bir ┼čey de olmas─▒ gereklidir. PoS'ta ortaya koydu─čunuz bir d─▒┼č kaynak (elektrik ya da donan─▒m gibi) de─čil, bir i├ž kaynak yani kripto parad─▒r. Kurallar protokole g├Âre farkl─▒l─▒k g├Âsterir ama genellikle┬ástaking yapmaya uygun olabilmek i├žin elinizde belirli bir tutar─▒n ├╝zerinde fon bulunmas─▒ gerekir.
Bu a┼čamada fonlar─▒n─▒z─▒ bir┬ác├╝zdana kilitlersiniz (staking yapt─▒─č─▒n─▒z m├╝ddet├že fonlar─▒ hareket ettiremezsiniz). Genelde di─čer do─črulay─▒c─▒larla hangi i┼člemlerin bir sonraki blo─ča eklenece─čine y├Ânelik ortak karar al─▒rs─▒n─▒z. Bir bak─▒mdan se├žilecek blok ├╝zerine bahse girersiniz ve protokol de bir blok se├žer.
E─čer sizin blo─čunuz se├žilirse, ortaya koydu─čunuz de─čere ba─čl─▒ olarak i┼člem ├╝cretlerinden bir pay kazan─▒rs─▒n─▒z. Ne kadar ├žok fon kilitlerseniz, kazanc─▒n─▒z da o kadar y├╝ksek olur. Fakat ge├žersiz i┼člemler ├Ânererek hile yapma giri┼čiminde bulunursan─▒z stake'inizin bir k─▒sm─▒n─▒ (ya da tamam─▒n─▒) kaybedersiniz. Dolay─▒s─▒yla burada da PoW'a benzer bir mekanizma vard─▒r: ┬ád├╝r├╝st davranmak hile yapmaktan daha karl─▒d─▒r.
Genellikle do─črulay─▒c─▒ ├Âd├╝lleri yeni yarat─▒lan coinlerden olu┼čmaz. Bu nedenle blockchainin yerel para birimi ba┼čka bir yoldan ├ž─▒kar─▒lmal─▒d─▒r. Bunu yapmak i├žin ya ba┼člang─▒├žtaki da─č─▒t─▒mlar (├Ârn. bir┬áICO ya da┬áIEO) kullan─▒labilir ya da protokol PoW ile kullan─▒ma a├ž─▒l─▒r ve daha sonra PoS'a ge├žer.

Bug├╝ne kadar saf Proof of Stake protokolleri yaln─▒zca daha k├╝├ž├╝k kripto paralar taraf─▒ndan kullan─▒lm─▒┼čt─▒r. Bu nedenle PoW'a kar┼č─▒ ge├žerli bir alternatif olup olmad─▒klar─▒ net de─čildir. Teorik olarak ge├žerli gibi g├Âz├╝kseler de uygulamada sonu├žlar ├žok farkl─▒ olabilir.┬á

PoS, y├╝ksek de─čere sahip bir a─čda kullan─▒ma a├ž─▒ld─▒─č─▒nda sistem┬áoyun teorisi ve finansal te┼čvikler i├žin bir oyun alan─▒ haline gelecektir. Bir PoS sisteminin nas─▒l ÔÇťhacklenece─činiÔÇŁ bilen bir ki┼či e─čer kazan├ž elde edecekse y├╝ksek ihtimalle bunu yapacakt─▒r. Bu nedenle sistemin uygulanabilir olup olmad─▒─č─▒ ancak canl─▒ bir a─č ├╝zerinde anla┼č─▒labilir.
Yak─▒n zaman i├žinde Ethereum a─č─▒na yap─▒lacak y├╝kseltmelerin (genel olarak┬áEthereum 2.0 olarak biliniyor) bir par├žas─▒ olarak┬áCasper'─▒n uygulamaya konmas─▒yla PoS'un b├╝y├╝k ├Âl├žekte test edilmesi m├╝mk├╝n olacakt─▒r.


Di─čer mutabakat algoritmalar─▒

Proof of Work ve Proof of Stake en ├žok tart─▒┼č─▒lan mutabakat algoritmalar─▒d─▒r. Fakat her biri kendi avantajlar─▒na ve dezavantajlar─▒na sahip ba┼čka bir├žok algoritma vard─▒r. A┼ča─č─▒daki makalelerden daha fazla bilgiye ula┼čabilirsiniz:


Son d├╝┼č├╝nceler

Mutabakata varabilmeye y├Ânelik mekanizmalar da─č─▒t─▒lm─▒┼č sistemlerin ├žal─▒┼čabilmesi i├žin ├žok ├Ânemlidir. Bir├žok ki┼či Bitcoin'in ortaya koydu─ču en ├Ânemli yenili─čin, kullan─▒c─▒lar─▒n ortak bir ger├že─če y├Ânelik fikir birli─čine varmas─▒n─▒ m├╝mk├╝n k─▒lan Proof of Work oldu─čunu d├╝┼č├╝n├╝r.

G├╝n├╝m├╝zde mutabakat algoritmalar─▒ yaln─▒zca dijital para sistemlerinin de─čil, geli┼čtiricilerin da─č─▒t─▒lm─▒┼č bir a─č ├╝zerinde bir kod ├žal─▒┼čt─▒rmas─▒n─▒ m├╝mk├╝n k─▒lan blockchainlerin de temelini olu┼čturur. Mutabakat algoritmalar─▒ art─▒k blockchain teknolojisinin d├Ân├╝m noktalar─▒ olarak kabul edilmektedir ve mevcut a─člar─▒n uzun vadede hayatta kalabilmesi i├žin kritik ├Âneme sahiptir.

T├╝m mutabakat algoritmalar─▒ aras─▒nda Proof of Work sunduklar─▒yla en g├╝├žl├╝ konumdad─▒r. Daha g├╝venilir ve g├╝venli bir alternatif hen├╝z sunulmu┼č de─čildir. Bununla birlikte PoW'un yerine ge├žecek bir algoritmaya y├Ânelik ├žok say─▒da ara┼čt─▒rma ve geli┼čmekte yap─▒lmaktad─▒r ve ├Ân├╝m├╝zdeki y─▒llarda yeni alternatiflerin ortaya ├ž─▒kmas─▒ olas─▒d─▒r.