Mutabakat Algoritması, kullanıcıların veya makinelerin dağıtılmış bir ortamda koordine etmesine izin veren bir sistemdir. Sistemin tüm parçalarının aynı hakikat kaynağından onay almasını ve bazı birimler başarısız olsa bile bunu yapabilmesini sağlamalıdır. Başka bir deyişle, sistemin hata toleransına sahip olması gerekir (bkz. Bizans hata toleransı nedir?).
Mutabakat Algoritması Nedir?
Merkezi sistemde bir birim sistemin tepesinde olabilir. Çoğu durumda, bu bölüm herhangi bir ihtiyaç duymadan değişiklik yapabilir – çok sayıda yöneticinin onay alması için karmaşık bir süreç yoktur.
Ancak gayri resmi bir sistemde sistem mükemmel çalışır. Dağıtılmış bir veritabanı ile çalışıyorsak, gireceğimiz girişlerin onayını nasıl alabiliriz?
Birbirini tanımayan insanların güvenilmez bir ortamında bu zorluğun üstesinden gelmek, blockchain için kapıyı açan kaynak olabilir. Bu yazımızda, kripto para birimleri ve dağıtık defterlerin çalışmasında doğrulama algoritmalarının önemini analiz edeceğ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ının Amaçları
Mutabakat algoritmalarının temel amacı, dağıtık bir sistemde katılımcıların ortak bir gerçekliğe ulaşmasını sağlamaktır. Bu amaçlar şunlardır:
- Verilerin doğruluğunu ve geçerliliğini sağlamak: Mutabakat algoritmaları, verilerin doğru ve geçerli olmasını sağlar. Bu, sahtecilik ve siber saldırılara karşı koruma sağlar.
- Güven oluşturmak: Mutabakat algoritmaları, katılımcılar arasında güven oluşturur. Bu, katılımcıların birbirleriyle güvenli bir şekilde iletişim kurmasını ve işbirliği yapmasını sağlar.
- Performans ve ölçeklenebilirliği artırmak: Mutabakat algoritmaları, performansı ve ölçeklenebilirliği artırabilir. Bu, sistemin daha hızlı ve daha verimli çalışmasını sağlar.
Mutabakat Algoritması Türleri
Mutabakat algoritmaları, farklı çalışma prensiplerine göre sınıflandırılabilir. En yaygın mutabakat algoritmaları şunlardır:
- İş Kanıtı (Proof of Work, PoW): PoW algoritmasında, katılımcılar yeni blokları eklemek için bir matematiksel bulmacayı çözmeye çalışırlar. Bloku ilk çözen katılımcı, ödül olarak yeni blokta yer alan işlem ücretlerini alır.
- Hak Kanıtı (Proof of Stake, PoS): PoS algoritmasında, katılımcılar yeni blokları eklemek için sahip oldukları kripto para birimi miktarını stake ederler. Stake edilen miktar ne kadar büyük olursa, bloku ekleme olasılığı da o kadar artar.
- Bant Kanıtı (Proof of Authority, PoA): PoA algoritmasında, blokları ekleme yetkisi yalnızca belirli bir grup katılımcıya verilir. Bu katılımcılar, ağın güvenilirliğini ve güvenliğini sağlamak için seçilirler.
- Delegated Proof of Stake (DPoS): DPoS algoritmasında, katılımcılar blokları eklemek için temsilciler seçerler. Temsilciler, ağın güvenliğinden ve verimliliğinden sorumludur.
- Tüm katılımcılar (Byzantine Fault Tolerance, BFT): BFT algoritmaları, katılımcıların bir kısmının kötü niyetli olsa bile sistemin düzgün çalışmasını sağlar.
Bitcoin’de Kullanılan Mutabakat Algoritması
Bitcoin, Proof of Work (PoW) algoritmasını kullanır. PoW algoritmasında, katılımcılar yeni blokları eklemek için bir matematiksel bulmacayı çözmeye çalışırlar. Bloku ilk çözen katılımcı, ödül olarak yeni blokta yer alan işlem ücretlerini alır.
PoW algoritmasının avantajları şunlardır:
- Yüksek güvenlik: PoW algoritması, sistemin sahtecilik ve siber saldırılara karşı dayanıklı olmasını sağlar.
- Yüksek ölçeklenebilirlik: PoW algoritması, sistemin büyük miktarda işleme dayanıklı olmasını sağlar.
PoW algoritmasının dezavantajları şunlardır:
- Yüksek enerji tüketimi: PoW algoritması, yeni blokları eklemek için çok fazla enerji tüketir.
- Merkezileşme: PoW algoritması, sistemin belirli bir grup katılımcıya odaklanmasına neden olabilir.

Mutabakat Algoritmalarının Temel İlkeleri
Mutabakat algoritmaları, aşağıdaki temel ilkeler üzerine kurulmuştur:
2.1. Dağıtık Yapı
Mutabakat algoritmaları, birçok farklı düğüm arasında dağıtılmış bir yapıda çalışır. Bu düğümler, ağ üzerinde eşit haklara sahiptir ve verilerin saklanması ve doğrulanması için birlikte çalışırlar.
2.2. Konsensüs
Mutabakat algoritmaları, ağdaki tüm düğümler arasında bir mutabakat veya konsensüs sağlar. Bu, tüm düğümlerin aynı verilere ulaşması ve bu verilerin doğru olduğu konusunda anlaşması anlamına gelir.
2.3. Güvenlik
Mutabakat algoritmaları, ağın güvenliğini sağlamak için matematiksel yöntemler kullanır. Bu yöntemler, kötü niyetli düğümlerin veya saldırıların tespit edilmesini ve engellenmesini sağlar.

Bu post hakkında tartışma