SegWit nedir?
2017'de Bitcoin, topluluğu parçalamak üzere olan bir sorunla karşı karşıyaydı. Ağ saniyede belki 3 işlemi kaldırabiliyordu. İşlem ücretleri fırlamıştı. Bloklar doluydu. Ve herkes sorunu çözmek için farklı bir fikre sahipti.
Kazanan çözüm, Segregated Witness'ın kısaltması olan SegWit oldu. Bitcoin Core'un önde gelen geliştiricilerinden Pieter Wuille tarafından önerilen bu çözüm, her bitcoin işleminin nasıl yapılandırıldığını değiştirdi. Küçük bir değişiklik değil, verilerin bir blok içine nasıl yerleştirildiğine dair temel bir yeniden düzenleme. Sekiz yıl sonra, tüm bitcoin işlemlerinin yaklaşık %96'sı SegWit adreslerini kullanıyor. Son birkaç yılda bitcoin satın aldıysanız veya gönderdiyseniz, büyük olasılıkla farkında olmadan kullanmışsınızdır.
Asıl sorun neydi?
Size 2016 yılının resmini çizeyim.
Bitcoin'in her bloğunda 1 MB'lık bir sınır vardı. Satoshi bu sınırı 2010 yılında spam saldırılarını önlemek için koydu ve kimse bunu kaldırmadı. Bloklar yaklaşık her 10 dakikada bir çıkarılıyor. Her biri 1 MB olduğundan, bu blok başına yaklaşık 1650 işleme denk geliyor. Hesaplamaları yaparsanız, tüm Bitcoin ağı için saniyede yaklaşık 2-3 işlem elde edersiniz. Tüm gezegen bu kadar ince bir boruyu paylaşıyor.
Bu arada, Visa saniyede 65.000 işlem gerçekleştiriyor. Yani evet. Sorun var.
2016'nın sonlarına doğru, her blok 1 MB sınırına takılıyordu. Yer kalmayınca, Bitcoin kullanıcıları işlem ücretleri konusunda birbirleriyle yarışmaya, madencileri kendi işlemlerini ilk seçmeleri için rüşvet vermeye başladılar. Ücretler kontrolden çıktı. 10 dolarlık Bitcoin göndermek size 15 dolarlık ücrete mal olabiliyordu. Bu hiç mantıklı değildi.
Ve sonra daha teknik bir sorun vardı: İşlem esnekliği. Bunu basit tutmaya çalışacağım. Bitcoin gönderdiğinizde, ağ bu işlem için bir kimlik oluşturur. SegWit'ten önce, bu kimlik, imzalar da dahil olmak üzere tüm işlemden oluşturuluyordu. Peki sorun neydi? Birisi onaylanmamış işleminizi ele geçirebilir, imza kodlamasıyla oynayabilir (teknik olarak geçerli kalmasını sağlayarak) ve aynı ödeme için tamamen farklı bir kimlik elde edebilir. Aynı gönderici. Aynı alıcı. Aynı miktar. Farklı kimlik numarası.
Neden önemsemelisiniz? Çünkü 2014 yılında 840.000 BTC kaybeden Mt. Gox borsası da tam olarak bu güvenlik açığından faydalanmıştı. Ve daha da önemlisi, Bitcoin üzerine kurulu herhangi bir ikinci katman sistemi (ödeme kanalları gibi) işlemleri kimlik numaralarıyla referans almalıdır. Bu kimlik numaraları değişirse, tüm sistem çöker.
Bitcoin aynı anda iki sorunla boğuşuyordu: blokların çok küçük olması ve güvenilmez işlem kimlikleri. SegWit bu iki sorunu da tek seferde çözdü.
SegWit nasıl çalışır (bilgisayar mühendisliği diplomasına gerek yok)?
Bitcoin işlemlerini bir çek gibi düşünün. Kimin kime ne kadar ödediğini gösteren bir bölüm var. Sonra da işlemin meşru olduğunu kanıtlayan imzanız var. SegWit'ten önce, bu iki bölüm tek bir veri bloğuna sıkıştırılıyordu ve hepsi 1 MB'lık blok boyutu sınırına dahil ediliyordu.
Pieter Wuille'i rahatsız eden şey şuydu: İmza verileri her işlemin yaklaşık %65'ini tüketiyordu. Her bloğun büyük bir kısmı ne olduğunu kaydetmiyordu; birinin onay verdiğine dair kanıtı kaydediyordu. Bu da israf gibi geliyordu.
Onun fikri şuydu: İmzaları ayırın. Onları "tanık" adı verilen ayrı bir bölüme koyun. İşlem verileri ana blokta kalır. Tanık verileri ayrı olarak saklanır. Ağdaki her düğüm tarafından yine de kontrol edilir. Sadece bir bloğun ne kadar dolu olduğunu hesaplarken aynı ağırlığa sahip olmaz.
Pratikte ne oldu? Bloklar yaklaşık 1.650 işlemden yaklaşık 2.700 işleme çıktı. Bitcoin saniyede 2-3 işlemden yaklaşık 7-10 işleme sıçradı. Visa ile karşılaştırıldığında hala gülünç. Ancak kendi başarısında boğulan bir ağ için bu bir nefes alma alanıydı.

Blok ağırlığı: yeni matematik
İşte işin zekice kısmı burada başlıyor. En bariz hareket, 1 MB'lık sınırı 2 MB'a çıkarmak olurdu. Ancak bu bir hard fork (sert çatallanma) anlamına gelirdi. Bitcoin ağındaki her bir düğümün güncellenmesi gerekirdi, aksi takdirde zincirden düşerlerdi. Hard fork'lar karmaşıktır. İnsanlar geride kalır.
Pieter Wuille daha akıllıca bir şey buldu. SegWit, blokları ham bayt cinsinden ölçmek yerine "blok ağırlığı" kullanıyor. Normal işlem verileri bayt başına 4 ağırlık birimi olarak sayılırken, tanık verileri bayt başına yalnızca 1 ağırlık birimi olarak sayılıyor. Toplam ağırlık birimi sınırı 4 milyondur.
Peki bu pratikte ne anlama geliyor? Tanık verisi içermeyen bir blok yine her zamanki gibi en fazla 1 MB'a ulaşıyor. Eski düğümler herhangi bir tuhaflık görmüyor. SegWit işlemleriyle dolu bir blok teorik olarak 4 MB'a yakın bir boyuta ulaşabilir. Gerçek dünyada ise çoğu blok 1,5 ila 2 MB civarında kalıyor.
Bunun güzelliği şu: SegWit, yumuşak bir çatallanma olarak piyasaya sürüldü. Hiç yükseltme yapmayan düğümler çalışmaya devam etti. Sadece yeni bölümdeki tanık verilerini göremiyorlardı. Bitcoin blok zinciri bölünmedi. "Eski Bitcoin" ve "yeni Bitcoin" diye bir şey yoktu. Tek bir zincir, tek bir ağ, geriye dönük uyumlu. Bu bile yeterince takdir görmeyen bir mühendislik başarısıydı.
| SegWit'ten Önce | SegWit'ten sonra |
|---|---|
| Blok boyutu: maksimum 1 MB | Blok ağırlığı: maksimum 4 milyon ağırlık birimi |
| Blok başına yaklaşık 1.650 işlem | Blok başına yaklaşık 2.700 işlem |
| 2-3 TPS | 7-10 TPS |
| Blok içindeki imza verileri | İmza bilgileri ayrı bir tanık alanında yer almaktadır. |
| İşlem kimlikleri imzaları içeriyordu. | İşlem kimlikleri yalnızca temel verilere dayanmaktadır. |
İşlem esnekliği düzeltmesi
İnsanlar sürekli blok boyutu meselesinden bahsediyor. Haklılar, en çok dile getirilen sorun buydu. Ama bence işlem esnekliği düzeltmesi daha önemliydi ve geliştirici çevrelerinin dışındaki çoğu insan bundan neredeyse hiç haberdar değil.
İşte olay şu: SegWit'ten önce, Bitcoin cüzdanınız bir işlem oluşturduğunda, işlem kimliği (TXID olarak adlandırılır) işlemdeki her şeyden hesaplanıyordu. İmza da dahil. Ve işte garip kısım: Dijital imzalar birden fazla geçerli biçimde ifade edilebilir. Aynı imza, aynı sahiplik kanıtı, ancak biraz farklı bir bayt dizisi.
Bu, birinin onaylanmamış işleminizi ele geçirebileceği, imzayı farklı ancak aynı derecede geçerli bir şekilde yeniden kodlayabileceği ve yayınlayabileceği anlamına geliyordu. Ağ, değiştirilmiş sürümü onaylayacaktı. Aynı gönderici, aynı alıcı, aynı miktar. Ama tamamen farklı bir TXID.
Biliyorum, kulağa anlaşılmaz geliyor. Ama çok önemliydi. Adım B'nin, adım A'nın kimliğine referans verdiği bir sistem kurduğunuzu düşünün. Eğer birisi, adım A gönderildikten sonra ancak onaylanmadan önce kimliğini değiştirebilirse, adım B bozulur. Tüm mantık zinciriniz çöker.
SegWit, TXID'yi yalnızca tanık olmayan kısımlardan hesaplayarak bu sorunu çözdü. İmza artık kimlikten ayrı olarak tanık alanında yer alıyor. Kimse onunla oynayamaz. İşlem kimliği bir kez ve tamamen kilitlendi.
SegWit ve Lightning Network
İşte bu yüzden esneklik düzeltmesi önemliydi. Lightning Network, Bitcoin'in saniyede milyonlarca ödemeyi nasıl yöneteceğinin planıdır. Siz ve ben bir ödeme kanalı açıyoruz. Ana blok zincirinin dışında, aramızda bitcoin gönderip alıyoruz. İşlem tamamlandığında, yalnızca nihai net bakiye zincir üzerinde çözümleniyor. Bitcoin blok zincirinde yüzlerce işlem yerine tek bir işlem gerçekleşiyor.
Lightning, birbirlerini kimlik numaralarıyla (ID) referans alan işlem zincirleri oluşturarak çalışır. Eğer birisi işlem sırasında bir kimliği değiştirebilirse, sizi koruyan iade işlemi geçersiz hale gelir. Para kaybedebilirsiniz. Tüm ödeme kanalı konsepti, kimlik numaralarının istikrarlı olmasına bağlıdır.
SegWit onları istikrarlı hale getirdi. Nokta. Bu düzeltme olmasaydı, Lightning'i devreye almak çok riskli olurdu. Ve Lightning olmadan, Bitcoin saniyede 7-10 işlemde sonsuza dek sıkışıp kalırdı. Bu bir ödeme ağı değil. Bu, büyük yatırımcılar için bir uzlaşma katmanı.
Ben bunu şöyle düşünüyorum: SegWit sadece bir yükseltme değildi. Temel taşıydı. 2021'deki Taproot, Lightning Network, hatta 2023'teki Ordinals yazıtları... Bunların hiçbiri Ağustos 2017'de yapılan yapısal değişiklikler olmadan gerçekleşmezdi.
Adres biçimleri: eski, sarmalanmış ve yerel SegWit
Bitcoin adreslerinin bazılarının "1" ile, bazılarının "3" ile, bazılarının ise "bc1" ile başladığını hiç fark ettiniz mi? İşte bu, cüzdanınızda görünen SegWit yükseltmesinin bir işaretidir.
"1" ile başlayan adresler eski formattadır. SegWit içermez. En yüksek işlem ücretlerini ödersiniz. Cüzdanınız hala bu adresleri gösteriyorsa, yazılımınızı güncelleyin.
"3" ile başlayan adresler SegWit ile şifrelenmiştir. Bitcoin işlemi dahili olarak SegWit kullanır, ancak şifrelendiği için SegWit'ten haberi olmayan eski cüzdanlar bile bitcoin gönderebilir. Eski yöntemlere göre daha ucuzdur, ancak en ucuz seçenek değildir.
"bc1q" ile başlayan adresler, Bech32 olarak da bilinen yerel SegWit adresleridir. Bu gerçekten kaliteli bir adrestir. En düşük işlem ücretlerine sahiptir. En iyi hata kontrolüne sahiptir (adres formatı yazım hatalarını daha iyi yakalar). Ve günümüzde işlemlerin %96'sı bu adresi kullanmaktadır.
"bc1p" adreslerini de görebilirsiniz. Bunlar, SegWit üzerine kurulu, 2021'den kalma daha yeni bir sürüm olan Taproot'tur. Farklı bir konu, ancak var olduklarını bilmekte fayda var.
| Adres türü | Şununla başlar: | Ücret seviyesi | SegWit? |
|---|---|---|---|
| Miras (P2PKH) | 1 | En yüksek | HAYIR |
| Sarmalanmış SegWit (P2SH) | 3 | Orta | Evet (paketlenmiş) |
| Yerel SegWit (Bech32) | bc1q | En düşük | Evet (yerli) |
| Kazık Kök (Bech32m) | bc1p | En düşük | Evet + Kök |
Ücretlerden gerçekte ne kadar tasarruf ediyorsunuz?
Teknik konularda bilgisi olmayan arkadaşlarımın asıl merak ettiği şey bu. Ne kadar daha ucuz?
Unchained hesaplamaları yaptı. Standart tek imzalı SegWit işlemi, eski sisteme kıyasla işlem ücretlerinde yaklaşık %53 tasarruf sağlıyor. 2-of-3 çoklu imza kurulumu (saklama hizmetlerinde yaygın) kullanırsanız, yaklaşık %64 tasarruf edersiniz. Bu yuvarlama hatası değil. Eski sistem kullanıcılarının işlem başına 30 dolar ödediği yoğun bir günde, yerel SegWit ile 15 dolardan daha az ödüyorsunuz.
Neden mi? Yine blok ağırlığı matematiği. Tanık verileri 1 bayt yerine 0,25 sanal bayt olarak sayılıyor. İşleminiz blokta daha az yer kaplıyor. Madenciler bunun için daha az ücret alıyor. Basit.
Bitcoin cüzdanınız hala "1" ile başlayan adresler veriyorsa, her gönderimde para kaybediyorsunuz demektir. Yerel SegWit'e geçin. Beş dakikalık bir işlem. Coinbase, Ledger, Trezor, BlueWallet, Sparrow, hepsi bunu destekliyor. Hiçbir dezavantajı yok.

Tartışma konusu: SegWit neden neredeyse gerçekleşmeyecekti?
Dürüst olmak gerekirse, bu kısım teknolojiden daha ilginç. SegWit piyasaya sürülmeden önce neredeyse iflas ediyordu.
Görünüşte mücadele basitti. Bir taraf, "büyük blokçular", blok boyutu sınırını 1 MB'den 8 MB'ye veya daha yükseğe çıkarmak istiyordu. Daha fazla alan, daha fazla işlem. Basit bir çözüm. Dünyanın en büyük bitcoin madencisi Bitmain, bu tarafı şiddetle destekledi. Bazıları Bitmain'i, SegWit'e karşı çıkmakla suçladı çünkü bu, madencilik çiplerine yerleştirilmiş ve rakiplerine göre hız avantajı sağlayan gizli bir özellik olan ASICBOOST'u öldürecekti. Bitmain bunu reddetti. Kripto dünyası onlara inanmadı.
Diğer grup ise çoğunlukla Bitcoin Core geliştiricilerinden ve evlerinde tam düğüm çalıştıran kişilerden oluşuyordu. Onların argümanı şuydu: Blokları 8 kat daha büyük yaparsanız, bir düğüm çalıştırmak için 8 kat daha fazla bant genişliğine, depolama alanına ve işlem gücüne ihtiyacınız olur. Birkaç yıl sonra, yalnızca veri merkezleri ve madencilik çiftlikleri Bitcoin blok zincirini doğrulamayı karşılayabilecek duruma gelecek. Merkeziyetsizlik sessizce ölecek.
Bu olayı gerçek zamanlı olarak takip ediyordum ve Bitcoin'in bu tartışmadan sağ çıkamayacağı gerçekten hissediliyordu. İnsanlar Twitter'da, Reddit'te ve konferanslarda birbirlerine bağırıp çağırıyorlardı. Hatta New York'ta ( "New York Anlaşması") bir grup şirketin SegWit'i daha sonraki bir blok boyutu artışıyla birleştirmeye çalıştığı kapalı kapılar ardında bir toplantı bile yapıldı. Bu anlaşma da suya düştü.
Gerçekte olanlar: SegWit, 1 Ağustos 2017'de kullanıcılar tarafından etkinleştirilen bir soft fork olarak faaliyete geçti. Buna karşı çıkan Bitcoin madencileri aynı gün ayrılarak Bitcoin Cash'i (BCH) yarattılar. BCH, 8 MB'lık bloklarla (şimdi 32 MB) ve SegWit olmadan piyasaya sürüldü. Hala varlığını sürdürüyor. Bitcoin'in fiyatının çok küçük bir kısmına işlem görüyor.
1 Ağustos, bazıları tarafından "Bitcoin Bağımsızlık Günü" olarak adlandırılıyor. Buradan çıkarılacak sonuç, Bitcoin'in kuralları konusunda son sözün madencilik şirketlerinde değil, düğüm operatörlerinde olmasıydı. Bu emsal, SegWit yükseltmesindeki herhangi bir kod satırından daha önemlidir.
SegWit'in günümüzdeki benimsenmesi
Tartışma sona erdi. 2025 yılı itibariyle Bitcoin işlemlerinin %96'sı SegWit kullanıyor. Tüm büyük cüzdanlar bunu destekliyor. Tüm borsalar bunu destekliyor. Eğer hala eski adresler kullanıyorsanız, tek açıklama yıllardır güncellemediğiniz bir yazılım olmasıdır.
SegWit yükseltmesi, sonrasında gelen her şeyin de önünü açtı. Taproot Kasım 2021'de geldi ve SegWit'in yapısının üzerine Schnorr imzalarını ekledi. Ordinals 2023'te ortaya çıktı ve SegWit'in oluşturduğu tanık veri alanına JPEG'leri yerleştirmeye başladı. Sonuncusu hakkında insanların karışık duyguları var, ancak asıl nokta şu: SegWit bu alanı yarattı ve geliştiriciler onu doldurdu.
Peki SegWit sizin için kişisel olarak önemli mi? Eğer Bitcoin kullanıyorsanız, evet. Cüzdan ayarlarınızı açın ve adres formatınızı kontrol edin. "bc1q" ile başlıyorsa sorun yok. "1" ile başlıyorsa, bugün geçiş yapmalısınız. Daha düşük işlem ücretleri, yoğunluk sırasında daha hızlı onaylar ve Lightning ödemelerine tam erişim.
SegWit'i günlük hayatta asla düşünmeyeceksiniz. Zeminin altındaki su tesisatıdır. Ancak 2017'de biri onu kurmamış olsaydı, evin tamamı şimdiye kadar su altında kalmış olurdu.