

SegWit 23 Ağustos 2017’de gerçekleşmiş bir Bitcoin (BTC) protokol güncellemesini ifade etmek için kullanılır.
SegWit protokol güncellemesi, Bitcoin’in ölçeklendirilmesini sağlamak ve güvenirliğini artırmak için tasarlanmıştır. SegWit, en çok verilerin Bitcoin blokzincirinde nasıl depolanacağını yeniden şekillendirmiş olmasıyla bilinmektedir.
Bitcoin, taban katmanında yalnızca saniyede sadece 7-10 işlem gerçekleştirebilir. Bitcoin’in temel teknolojisi, devrimsel olmasına rağmen, Bitcoin’in gelişmesini engelleyici bir sorun haline gelmişti.
SegWit, bir blokzincir üzerindeki blok boyutu sınırının, Bitcoin işlemlerinden imza verilerini kaldırarak artırılması işlemidir. Bir işlemin belirli bölümleri kaldırıldığında, zincire daha fazla işlem ekleme kapasitesi ve alanı yaratır.
SegWit çıkış noktası: Bitcoin ölçeklenebilirlik sorunu
Bitcoin blokları uzun süre 1 MB’lık bir boyut sınırıyla çalışmıştır. Bu alanın önemli bir kısmını da imza verileri kaplamıştır. Ağ yoğunlaştığında işlemler sıraya girmiş, onay süreleri uzamış ve kullanıcıların daha yüksek işlem ücreti belirlemesi gerekmiştir.
Taban katmanda saniyede yalnızca birkaç işlemin sonuçlanabilmesi, Bitcoin’in yaygınlaşmasının önünde teknik bir engel oluşturmuştur. Çözüm önerisi geliştirici Pieter Wuille tarafından 2015 yılında Scaling Bitcoin konferansında sunulmuştur. Öneri daha sonra BIP-141 numaralı Bitcoin Improvement Proposal ile resmileştirilmiştir.
Güncelleme 23 Ağustos 2017’de 481.824 numaralı blokla birlikte devreye girmiştir. 2018 yılında yayımlanan ve SegWit benimsemesini inceleyen çalışmada ilk native SegWit çıktılarının da aynı blokta yer aldığı belgelenmiştir. Aynı çalışma, ilk yıllarda native formatın benimsenmesinin oldukça yavaş kaldığını göstermiştir.
İkinci sorun ise işlem esnekliği (transaction malleability) olarak bilinir. Önceden imza verisi işlem kimliğinin hesabına dahil olduğu için üçüncü tarafların işlem kimliğini onay öncesinde değiştirmesi mümkün olmuştur. Bitcoin Core belgelerinde bu durumun onaylanmamış işlemler üzerine kurulan zincirleri geçersiz kılabildiği anlatılır.
SegWit nasıl çalışır?
SegWit bir işlemi iki parçaya böler. Girdi, çıktı ve tutar bilgileri işlem gövdesinde kalır. İmza verisi ise witness adı verilen ayrı bir alana taşınır. Witness verisi blok ağırlığı hesabında daha düşük katsayıyla sayıldığından işlem daha küçük ölçülür ve bloğa daha fazla işlem sığar.
Güncelleme blok ağırlığı (block weight) adında yeni bir ölçüm birimi getirmiştir. Çekirdek işlem verisi dört birim, seri hâle getirilmiş witness verisi tek birim olarak sayılır. Bitcoin güvenliği üzerine incelemede aktarıldığı üzere 1 MB’lık katı boyut sınırının yerini 4 milyon birimlik bir ağırlık sınırı almıştır.
Bu noktada belirtilmelidir ki SegWit blok boyutunu doğrudan 4 MB’a çıkarmamıştır. Teorik üst sınır ancak bir bloğun tamamının witness verisinden oluşması hâlinde geçerli olur. Pratikte ortalama blok boyutu 2026 başı itibariyle 1,6 MB civarında seyreder.
SegWit’in sağladığı avantajlar
Güncellemenin etkisi tek bir başlıkla sınırlı kalmamıştır. Öne çıkan faydalar şöyle sıralanabilir:
- Daha verimli blok kullanımı: İmza verisi daha düşük ağırlıkla sayıldığı için aynı blok alanına daha fazla işlem sığar.
- Genellikle daha düşük transfer ücreti: İşlem daha küçük ölçüldüğünden ödenecek ücret Legacy formatına kıyasla azalabilir.
- İşlem esnekliği sorununun çözülmesi: İşlem kimliği imza verisinden bağımsız hesaplandığı için onay öncesinde değiştirilemez.
- Sonraki güncellemeler için altyapı: SegWit witness verisine sürüm numarası kavramı getirmiş ve Taproot bu sayede yeni bir soft fork güncellemesi olarak eklenebilmiştir.
SegWit adresi nedir ve nasıl anlaşılır?
SegWit adresi, SegWit çıktılarını transfer edebilen Bitcoin adresidir. Native SegWit adresleri bc1q ile başlar ve Bech32 formatını kullanır. Nested SegWit adresleri 3 ile, Legacy adresler ise 1 ile başlar. Adresin ilk karakterleri hangi teknik formatın kullanıldığını gösterir.
Bahsedildiği üzere Legacy adresler 1 ile başlar ve teknik adı P2PKH’dir. Bitcoin’in 2009’dan beri kullanılan ilk adres formatıdır. İmza verisi işlem gövdesinde kaldığı için ücret avantajı sunmaz. Bugün tercih edilme sebebi neredeyse tüm cüzdan ve hizmetlerde desteklenmesidir.
Nested SegWit adresler 3 ile başlar ve P2SH-P2WPKH yapısını kullanır. Bu format SegWit’i eski adres biçiminin içine sarar ve geçiş dönemi çözümü olarak ortaya çıkmıştır. Kısmi bir ücret avantajı sağlar ancak nested yapı nedeniyle native formata göre daha fazla yer kaplar.
Native SegWit adresler bc1q ile başlar ve P2WPKH ya da P2WSH biçiminde olur. Bech32 kodlamasını kullanır ve sarmalayıcı bir katman içermez. Bu sayede standart bir transferde en düşük işlem boyutunu üretir.
Taproot adresler bc1p ile başlar ve P2TR olarak adlandırılır. SegWit’ten sonra gelen ayrı bir güncellemeye aittir ve Bech32m kodlamasını kullanır.
SegWit ile Legacy arasındaki fark nedir?
Legacy, Bitcoin’in 2009’dan beri kullanılan ilk adres formatıdır ve imza verisi işlem gövdesinde kalır. SegWit’te imza verisi ayrıldığı için aynı transfer daha az blok alanı kaplar. Tek girdili ve iki çıktılı standart bir transferde bu fark, ücrette belirgin bir azalmaya karşılık gelir.
Adres görünümü ilk ayrımı verir. Legacy adresler 1 ile başlar ve teknik adı P2PKH’dir. Native SegWit adresleri bc1q ile başlar ve P2WPKH yapısını kullanır.
Asıl fark ise imza verisinin nerede tutulduğudur. Legacy işlemlerde imza verisi işlem gövdesinin içinde yer alır. Native SegWit’te aynı veri witness alanına taşınır ve blok ağırlığı hesabında daha düşük katsayıyla sayılır.
Bu yapısal fark işlem boyutuna yansır. Tek girdili ve iki çıktılı standart bir transfer Legacy formatında yaklaşık 226 vB, Native SegWit formatında ise yaklaşık 141 vB büyüklüğünde olur. Küçülen boyut blok alanının daha verimli kullanılması anlamına gelir ve ödenecek ücreti azaltır.
Uyumluluk tarafında tablo tersine döner. Legacy adresler neredeyse tüm cüzdan ve hizmetlerde geçerlidir. Native SegWit de bugün yaygın biçimde desteklenir ancak güncellenmemiş bazı eski hizmetlerde bu destek eksik kalabilir.
SegWit ve Taproot aynı şey mi?
İki güncelleme sık sık birbirine karıştırılır. SegWit 2017 yılında, Taproot ise 14 Kasım 2021’de 709.632 numaralı blokta etkinleşmiştir. Taproot, SegWit’in yerini alan bir sürüm değil, onun getirdiği sürümleme yapısı üzerine inşa edilen ayrı bir soft fork’tur.
Taproot’un odağı farklıdır. Schnorr imzaları, MAST yapısı ve daha esnek script imkânlarıyla gizliliği ve karmaşık harcama koşullarının verimliliğini iyileştirir. Adresleri bc1p ile başlar ve BIP-350 ile tanımlanan Bech32m kodlamasını kullanır.
SegWit’in sınırları ve karıştırılan noktalar
Güncellemeyi doğru konumlandırmak için sınırlarını da bilmek gerekir. En sık karışan noktalar şunlardır:
- SegWit ayrı bir ağ değildir: Bağımsız bir blokzincir ya da yan zincir değil, Bitcoin ağının işlem formatını değiştiren bir protokol güncellemesidir.
- Ölçeklenebilirliği tamamen çözmez: Blok alanının verimli kullanılmasını sağlar ancak ağ kapasitesini sınırsız hâle getirmez.
- Ücret avantajı koşullara bağlıdır: Yoğun dönemlerde SegWit işlemlerinin ücreti de belirgin biçimde yükselebilir.
- Onay süresini garanti etmez: Blok üretim süresi ve madencilerin işlem seçimi belirleyici olduğu için transferler anında sonuçlanmaz.
- Her hizmet her formatı desteklemez: Bazı eski cüzdan ve hizmetler Bech32 adreslerine transfer gönderemeyebilir.
Bu nedenle transfer öncesinde iki kontrol önem taşır. Adresin doğru ağa ait olduğu ve gönderim yapılan hizmetin ilgili adres formatını desteklediği doğrulanmalıdır.
