Hard Fork ve Soft Fork Nedir?
Ana sayfa
Makaleler
Hard Fork ve Soft Fork Nedir?

Hard Fork ve Soft Fork Nedir?

Orta Seviye
Yay─▒nlanma: Nov 29, 2018G├╝ncellenme: Feb 9, 2023
8m


─░├žerik


Giri┼č

Sizden ak─▒ll─▒ telefonunuzdaki dijital bankac─▒l─▒k uygulamas─▒n─▒ g├╝ncellemeniz istendi─činde muhtemelen bunu hemen yapars─▒n─▒z. Hatta telefonunuz, siz fark─▒nda bile olmadan otomatik g├╝ncelleme yap─▒yor olabilir. Bu gerekli bir s├╝re├žtir. En nihayetinde, yaz─▒l─▒m─▒n en g├╝ncel versiyonunu kurmazsan─▒z hizmete eri┼čiminizin reddedilmesi riskiyle kar┼č─▒ kar┼č─▒ya kal─▒rs─▒n─▒z.

A├ž─▒k kaynak kripto paralarda i┼čler bamba┼čkad─▒r. BitcoinÔÇÖi kullanmak i├žin, onu olu┼čturan her bir kod sat─▒r─▒n─▒ okuman─▒z gerekmez, ama bunu yapma se├žene─čine de sahipsinizdir. Burada hiyerar┼čik bir d├╝zen yoktur ve g├╝ncelleme yapmay─▒ zorunlu k─▒lan ya da keyfi d├╝zenlemeler yapan bir banka yoktur. Sonu├ž olarak, blockchain a─člar─▒na yeni ├Âzellikler eklemek zorlay─▒c─▒ bir s├╝re├ž olabilir.
Bu makalede kripto para a─člar─▒nda, merkezi bir otorite olmamas─▒na ra─čmen nas─▒l y├╝kseltme yap─▒laca─č─▒n─▒ inceleyece─čiz. Bunu yapmak i├žin iki fark─▒ mekanizma bulunur: hard forkÔÇÖlar (sert/mecburi ├žatallanma) ve soft forkÔÇÖlar (yumu┼čak/geriye uyumlu ├žatallanma).┬á


Bir blockchain a─č─▒nda kararlar kimin taraf─▒ndan verilir?

├çatallanmalar─▒n nas─▒l ├žal─▒┼čt─▒─č─▒n─▒ anlamak i├žin ├Âncelikle a─č─▒n karar verme s├╝re├žlerine (ya da y├Ânetimine) dahil olan kat─▒l─▒mc─▒lar─▒ anlamak ├Ânemlidir.
BitcoinÔÇÖde, kat─▒l─▒mc─▒lar genel anlamda ├╝├ž alt gruba ayr─▒labilir ÔÇô geli┼čtiriciler, madenciler ve tam node kullan─▒c─▒lar─▒. Bunlar, a─ča ger├žek anlamda katk─▒da bulunabilen taraflard─▒r. Hafif nodeÔÇÖlar (yani telefonunuzdaki c├╝zdanlar, diz├╝st├╝ bilgisayarlar, vb.) yo─čun olarak kullan─▒lsalar da a─č dikkate al─▒nd─▒─č─▒nda ÔÇťkat─▒l─▒mc─▒ÔÇŁ olarak kabul edilmezler.


Geli┼čtiriciler

Geli┼čtiriciler, kodun yarat─▒lmas─▒ndan ve g├╝ncellenmesinden sorumludur. Tipik bir coinde, herhangi biri bu s├╝rece katk─▒da bulunabilir. Kod herkese a├ž─▒kt─▒r, dolay─▒s─▒yla geli┼čtiriciler de di─čer geli┼čtiricilerin de─čerlendirmesi i├žin de─či┼čiklik ├Ânerisi sunabilir.┬á


Madenciler

Madenciler, a─č─▒ g├╝vende tutan ki┼čilerdir. Kripto paran─▒n kodunu ├žal─▒┼čt─▒r─▒r ve kaynaklar─▒n─▒ blockchaine yeni bloklar eklemeye tahsis ederler. ├ľrne─čin Bitcoin a─č─▒nda, bunu Proof of Work (i┼č ispat─▒) arac─▒l─▒─č─▒yla yaparlar. ├çabalar─▒n─▒n kar┼č─▒l─▒─č─▒nda bir blok ├Âd├╝l├╝ al─▒rlar.


Tam node kullan─▒c─▒lar─▒

Tam nodeÔÇÖlar kripto para a─č─▒n─▒n belkemi─čidir. Bloklar─▒ ve i┼člemleri do─črular, g├Ânderir ve al─▒r, ayn─▒ zamanda blockchainin bir kopyas─▒n─▒ da tutarlar.


Bu kategorilerde kesi┼čimlere s─▒k├ža rastlayabilirsiniz. ├ľrne─čin, ayn─▒ zamanda bir geli┼čtirici ve tam node kullan─▒c─▒s─▒ ya da bir madenci ve tam node kullan─▒c─▒s─▒ olabilirsiniz. Hepsi ya da hi├žbiri de olabilirsiniz. Asl─▒nda, kripto para kullan─▒c─▒s─▒ olarak de─čerlendirdi─čimiz bir├žok ki┼či bu rollerin hi├žbirini ├╝stlenmez. Bunun yerine, hafif nodeÔÇÖlar─▒ ya da merkezi hizmetleri kullanmay─▒ tercih eder.

Yukar─▒daki tan─▒mlara bakt─▒─č─▒n─▒zda, geli┼čtiricilerin ve madencilerin a─č ad─▒na karar vermesinin do─čru oldu─čunu d├╝┼č├╝nebilirsiniz. Geli┼čtiriciler kodu yarat─▒r ÔÇô onlar olmadan ├žal─▒┼čt─▒r─▒lacak bir yaz─▒l─▒m olmaz, yaz─▒l─▒m hatalar─▒n─▒ kimse d├╝zeltmez ya da yeni ├Âzellikler eklemez. Madenciler de a─č─▒ g├╝venli hale getirir ÔÇô sa─čl─▒kl─▒ bir madencilik rekabeti olmadan zincir ba┼čkalar─▒n─▒n eline ge├žebilir ya da durma noktas─▒na gelebilir.
Fakat e─čer bu iki grup, a─č─▒n geri kalan─▒n─▒ kendi isteklerini takip etmeye zorlarsa iyi bir sonla kar┼č─▒la┼čmak m├╝mk├╝n olmayacakt─▒r. Bir├žok ki┼čiye g├Âre, ger├žek g├╝├ž tam nodeÔÇÖlarda toplanm─▒┼čt─▒r. Bu a─č─▒n b├╝y├╝k oranda tercihe ba─čl─▒ bir fonksiyonudur, yani kullan─▒c─▒lar hangi yaz─▒l─▒m─▒ ├žal─▒┼čt─▒racaklar─▒n─▒ se├žebilir.┬á

Geli┼čtiriciler evinize gelip sizi silah zoruyla Bitcoin Core ikili kodlar─▒n─▒ indirmeye zorlamaz. Madencilerin, kullan─▒c─▒lar─▒ istemedikleri bir de─či┼čikli─či yapmaya zorlamas─▒ ve ÔÇťya kabul et ya terketÔÇŁ yakla┼č─▒m─▒n─▒ benimsemesi durumunda kullan─▒c─▒lar a─č─▒ terk etmeyi se├žecektir.┬á

Bu taraflar t├╝m g├╝c├╝ elinde tutan y├Âneticiler de─čildir ÔÇô yaln─▒zca hizmet sa─člay─▒c─▒lard─▒r. ─░nsanlar a─č─▒ kullanmamaya karar verirse coin de─čer kaybeder. De─čer kayb─▒ ise do─črudan madencileri etkiler (ald─▒klar─▒ ├Âd├╝ller dolar baz─▒nda daha d├╝┼č├╝k bir de─čere sahip olur). Geli┼čtiriciler de, kullan─▒c─▒lar taraf─▒ndan g├Âz ard─▒ edilebilir.
G├Ârd├╝─č├╝n├╝z gibi yaz─▒l─▒m kimseye ait de─čildir. ─░stedi─činiz herhangi bir de─či┼čikli─či yapabilirsiniz ve di─čerleri de sizin de─či┼čtirilmi┼č yaz─▒l─▒m─▒n─▒z─▒ kullanmaya ba┼člarsa aran─▒zda ileti┼čim kurabilirsiniz. Bu ba─člamda, yaz─▒l─▒mda bir┬á├žatallanma yaratm─▒┼č ve s├╝re├ž i├žinde yeni bir a─č yaratm─▒┼č olursunuz.


Fork (├žatallanma) nedir?

Bir yaz─▒l─▒m ├žatallanmas─▒, yaz─▒l─▒m─▒n kopyaland─▒─č─▒ ve de─či┼čtirildi─či noktada ger├žekle┼čir. Orijinal proje hayat─▒na devam eder, ama yeni bir y├Ân alan yeni projeden art─▒k ayr─▒lm─▒┼čt─▒r. Favori kripto para web sitenizin arkas─▒ndaki ekibin i┼člere nas─▒l devam edilece─či konusunda b├╝y├╝k bir anla┼čmazl─▒k ya┼čad─▒─č─▒n─▒ varsay─▒n. Ekibin bir b├Âl├╝m├╝, farkl─▒ bir alan ad─▒nda sitenin bir kopyas─▒n─▒ olu┼čturabilir. Fakat ilerleyen zamanlarda, orijinal siteye k─▒yasla farkl─▒ i├žerik t├╝rleri payla┼čmaya ba┼člayabilir.

Projeler ayn─▒ altyap─▒dan gelir ve ortak bir ge├žmi┼če sahiptir. Fakat, ayn─▒ bir yolun ikiye ayr─▒lmas─▒ gibi art─▒k yollar─▒ kal─▒c─▒ olarak ayr─▒lm─▒┼čt─▒r.

Bu t├╝r ┼čeyler a├ž─▒k kaynak projelerde s─▒k├ža ya┼čan─▒r ve Bitcoin ya da EthereumÔÇÖun ortaya ├ž─▒kmas─▒ndan ├žok daha uzun bir s├╝re ├Âncesinden bu yana g├Âr├╝lmektedir. Fakat, sert ├žatallanma ve yumu┼čak ├žatallanma aras─▒nda fark neredeyse yaln─▒zca blockchain d├╝nyas─▒na ├Âzg├╝d├╝r. ┼×imdi bunlardan biraz daha ayr─▒nt─▒l─▒ bahsedelim.



Hard fork ve soft fork'lar─▒n fark─▒

Benzer isimlere sahip olsalar ve temelde ayn─▒ amaca hizmet etseler de hard fork (sert ├žatallanma) ve soft forkÔÇÖlar (yumu┼čak ├žatallanma) b├╝y├╝k oranda farkl─▒l─▒k g├Âsterir.


Hard fork (sert ├žatallanma) nedir?

Hard forkÔÇÖlar┬ágeriye uyumlu olmayan┬áyaz─▒l─▒m g├╝ncellemeleridir. Bunlar genellikle nodeÔÇÖlar─▒n, eksi nodeÔÇÖlar─▒n kurallar─▒yla bir ┼čekilde ├želi┼čen yeni kurallar eklemesiyle ortaya ├ž─▒kar. Yeni nodeÔÇÖlar, yaln─▒zca yeni versiyonu kullanan nodeÔÇÖlarla ileti┼čim kurabilir. Sonu├ž olarak blockchain ayr─▒l─▒r ve iki farkl─▒ a─č ortaya ├ž─▒kar: eski kurallar─▒ kullanan bir a─č ve yeni kurallar─▒ kullanan bir a─č.


NodeÔÇÖlar g├╝ncelleme yapt─▒klar─▒nda maviye d├Âner. Eski sar─▒ nodeÔÇÖlar yeni nodeÔÇÖlar─▒ reddeder, fakat maviler kendi aras─▒nda ba─člant─▒ kurar.


Bu durumda art─▒k paralel olarak ├žal─▒┼čan iki a─č vard─▒r. Her ikisi de bloklar ve i┼člemler ├╝zerinde ├žal─▒┼čmaya devam eder, ama art─▒k ayn─▒ blockchain ├╝zerinde ├žal─▒┼čmazlar. ├çatallanma olana kadar t├╝m nodeÔÇÖlar ayn─▒ blockchaine sahiptir (ve bu ge├žmi┼č varl─▒─č─▒n─▒ s├╝rd├╝r├╝r), ama ├žatallanman─▒n ard─▒ndan farkl─▒ bloklara ve i┼člemlere sahip olurlar.



A─člar ortak bir ge├žmi┼če sahip oldu─ču i├žin ├žatallanma ├Âncesinde coin tutuyorsan─▒z art─▒k her iki a─čda da coine sahip olursunuz. 600.000. Blokta bir ├žatallanma yap─▒ld─▒─č─▒ s─▒rada 5 BTCÔÇÖniz oldu─čunu varsayal─▒m. Bu 5 BTCÔÇÖyi eski zincirin 600.001. Blo─čunda harcayabilirsiniz, ama bu 5 BTC yeni blockchainin 600.001. Blo─čunda hala harcanmam─▒┼č olur. Kriptografinin de─či┼čmedi─čini varsayarsak, ├Âzel anahtar─▒n─▒z ├žatallanm─▒┼č a─čda hala 5 BTCÔÇÖye sahip olacakt─▒r.┬á
Hard Fork i├žin bir ├Ârnek olarak 2017 y─▒l─▒nda BitcoinÔÇÖi iki ayr─▒ zincire ay─▒ran ├žatallanma verilebilir - orijinal a─č olan Bitcoin (BTC) ve yeni a─č Bitcoin Cash (BCH). ├çatallanma, ├Âl├žeklendirme i├žin en iyi yakla┼č─▒m─▒n ne oldu─ču konusunda uzun tart─▒┼čmalar sonras─▒nda yap─▒lm─▒┼čt─▒r. Bitcoin Cash taraftarlar─▒ blok b├╝y├╝kl├╝─č├╝n├╝ art─▒rmak isterken, Bitcoin taraftarlar─▒ de─či┼čikli─če kar┼č─▒ ├ž─▒km─▒┼čt─▒r.
Blok b├╝y├╝kl├╝─č├╝nde bir art─▒┼č kurallar─▒n de─či┼čtirilmesini gerektirir. Bu ├žatallanma SegWit soft forkÔÇÖundan (bundan ileride bahsedece─čiz) yap─▒lm─▒┼čt─▒r, dolay─▒s─▒yla nodeÔÇÖlar o d├Ânemde yaln─▒zca 1MBÔÇÖden k├╝├ž├╝k bloklar─▒ kabul edebilmektedir. Di─čer a├ž─▒lardan ge├žerli olan fakat 2 MBÔÇÖlik bir blok yarat─▒rsan─▒z, di─čer nodeÔÇÖlar bunu reddeder.

Bu bloklar, yaz─▒l─▒mlar─▒n─▒ 1MBÔÇÖden b├╝y├╝k bloklara izin verecek ┼čekilde de─či┼čtiren nodeÔÇÖlar taraf─▒ndan kontrol edilebilir. Tabi ki bunun sonucunda yeni yaz─▒l─▒ma sahip nodeÔÇÖlar eski versiyondaki nodeÔÇÖlarla uyumsuz hale gelir ve yaln─▒zca ayn─▒ protokol de─či┼čikli─čini yapan nodeÔÇÖlar kendi aras─▒nda ileti┼čim kurabilir.


Soft fork (yumu┼čak ├žatallanma) nedir?

Soft fork (yumu┼čak ├žatallanma)┬ágeriye uyumlu bir y├╝kseltmedir, yani y├╝kseltilmi┼č nodeÔÇÖlar y├╝kseltme yapmam─▒┼č nodeÔÇÖlarla ileti┼čim kurmaya devam edebilir. Soft forkÔÇÖta genellikle eski kurallarla ├želi┼čmeyen yeni bir kural eklenir.
├ľrne─čin, bir soft fork arac─▒l─▒─č─▒yla blok b├╝y├╝kl├╝─č├╝nde bir┬ák├╝├ž├╝lme uygulamaya konabilir. Bunun i├žin yine BitcoinÔÇÖden bir ├Ârnek verelim: BitcoinÔÇÖde bir blo─čun ne kadar b├╝y├╝k olabilece─čine y├Ânelik bir s─▒n─▒rlama olsa da blo─čun ne kadar k├╝├ž├╝k olabilece─čine y├Ânelik bir s─▒n─▒rlama yoktur. Yaln─▒zca belli bir b├╝y├╝kl├╝─č├╝n alt─▒ndaki bloklar─▒ kabul etmek isterseniz, tek yapman─▒z gereken daha b├╝y├╝k olanlar─▒ reddetmektir.

Fakat bunu yapman─▒z a─čla ba─člant─▒n─▒z─▒ otomatik olarak koparmaz. Bu kural─▒ uygulamayan nodeÔÇÖlarla ileti┼čim kurmaya devam edersiniz, ama size y├Ânlendirdikleri bilgilerin bir k─▒sm─▒n─▒ filtrelersiniz.

Soft fork i├žin ger├žek hayattan iyi bir ├Ârnek, Bitcoin/Bitcoin Cash b├Âl├╝nmesinden hemen sonra ger├žekle┼čen ve daha ├Ânce bahsetti─čimiz Segregated WitnessÔÇÖt─▒r (Ayr─▒lm─▒┼č Tan─▒k - Segwit). SegWit bloklar─▒n ve i┼člemlerin format─▒n─▒ de─či┼čtiren bir y├╝kseltmedir, fakat zekice tasarlanm─▒┼čt─▒r. Eski nodeÔÇÖlar i┼člemleri ve bloklar─▒ do─črulamaya devam edebilir (yeni format eski hi├žbir kural─▒ bozmaz), fakat bunlar─▒n ne oldu─čunu anlayamaz. Baz─▒ b├Âl├╝mler nodeÔÇÖlar─▒n yeni yaz─▒l─▒ma ge├žmesi durumunda okunabilir hale gelir, bu da nodeÔÇÖlar─▒n ek verileri ├ž├Âz├╝mleyebilmesine imkan tan─▒r.



SegWitÔÇÖin etkinle┼čtirilmesinin ├╝zerinden iki y─▒l ge├žmi┼č olsa da t├╝m nodeÔÇÖlar y├╝kseltmeyi yapmam─▒┼čt─▒r. Y├╝kseltmeyi yapmak baz─▒ avantajlar sunar, fakat a─č─▒ b├Âlecek bir de─či┼čiklik olmad─▒─č─▒ i├žin de─či┼čikli─če y├Ânelik aciliyet s├Âz konusu de─čildir.


Hard fork ve soft fork'tan hangisi daha iyidir?

En temelde bu iki ├žatallanma t├╝r├╝ de farkl─▒ ama├žlara hizmet eder. Tart─▒┼čmal─▒ hard forkÔÇÖlar toplulu─ču b├Âlebilir, ama planl─▒ olanlar herkesin fikir birli─čine varmas─▒yla yaz─▒l─▒m─▒n de─či┼čtirilmesi ├Âzg├╝rl├╝─č├╝n├╝ sunar.

Soft forkÔÇÖlar daha nazik se├ženeklerdir. Genel anlamda, yeni de─či┼čikliklerin eski kurallarla ├želi┼čmemesi gerekti─či i├žin yap─▒labilecekler s─▒n─▒rl─▒d─▒r. Bununla birlikte, g├╝ncelleme eskiyle uyumlu kalabilecek ┼čekilde d├╝zenlenebilirse a─č─▒ b├Âlme konusunda kayg─▒lan─▒lmas─▒na gerek kalmaz.


Son d├╝┼č├╝nceler

Hard fork ve soft forkÔÇÖlar, blockchain a─člar─▒n─▒n uzun vadeli ba┼čar─▒s─▒ i├žin ├žok ├Ânemlidir. Merkeziyetsiz sistemlerde, merkezi bir otorite olmamas─▒na ra─čmen de─či┼čikliklerin ve y├╝kseltmelerin yap─▒labilmesine imkan tan─▒r.

├çatallanmalar, blockchainlerin ve kripto paralar─▒n geli┼čtirmelere devam ederken yeni ├Âzellikler entegre etmesini m├╝mk├╝n k─▒lar. Bu mekanizmalar olmasayd─▒, yukar─▒dan a┼ča─č─▒ya kontrol mekanizmas─▒yla ├žal─▒┼čan merkezi sistemlere ihtiya├ž duyard─▒k ya da protokol hayat─▒ boyunca ayn─▒ kurallar─▒ takip etmek zorunda kal─▒rd─▒.