Bitcoin'de Tekrar Eden İşlemler: İlginç ve Düşük Riskli Bir Hata
Genel Bakış
Bitcoin işlemleri genellikle önceki bir işlemin kimliğini referans alarak harcanmamış çıktıları kullanır. Bu çıktılar yalnızca bir kez kullanılabilir, aksi takdirde çift harcama sorununa yol açar. Ancak, Bitcoin tarihinde gerçekten de iki tamamen aynı işlem grubu ortaya çıkmıştır. Bunun olası olmasının nedeni, coinbase işlemlerinin girişi olmaması ve doğrudan yeni coin üretmesidir. Bu nedenle, iki farklı coinbase işlemi aynı miktarı aynı adrese gönderebilir, tamamen aynı şekilde yapılandırılabilir ve böylece aynı işlem kimliğini oluşturabilir.
Bu iki grup tekrarlanan işlem 14-15 Kasım 2010 tarihleri arasında gerçekleşti, zaman aralığı yaklaşık 16 saat. İlk grup tekrarlanan işlemin ID'si d5d2....8599'dur, buna rağmen blockchain üzerinde ilk görünme zamanı, diğer tekrarlanan işlem e3bf....b468'den daha geçtir.
Tekrar İşlem Detayları
Bu iki grup tekrar eden işlem, dört farklı blokta yer almaktadır. Blok gezgini bu işlemleri gösterirken farklı varsayılan davranışlara sahip olabilir; bazıları daha eski blokları gösterirken, bazıları daha yeni blokları gösterir.
Bu dört ilgili bloktan sadece bir blok (91,812) diğer işlemleri içermektedir ve 1 BTC ile 19 BTC'yi birleştirerek 20 BTC'lik bir çıktı oluşturmuştur.
Bu çıktılar kullanılabilir mi?
Her tekrar eden işlemin değeri 50 BTC'dir, toplamda 200 BTC( veya 100 BTC'ye kadar, anlayışa bağlı olarak). Şu ana kadar, bu 200 BTC kullanılmamıştır. Teorik olarak, ilgili özel anahtara sahip olan kişi bu Bitcoin'leri kullanabilir, ancak bir kez kullanıldığında, tekrar eden 50 BTC bir daha kullanılamayacak ve kaybolacaktır; bu nedenle aslında yalnızca 100 BTC geri alınabilir.
Tekrar Eden İşlemler Sorunu
Tekrar eden işlemler cüzdan ve blok tarayıcılarında karmaşaya neden olabilir ve Bitcoin kaynağının belirsiz olmasına yol açabilir. Ayrıca, borsa üzerinde yanıltıcı yatırımlar gibi bazı saldırılar ve açıkların istismarında da kullanılabilir.
Çözüm
Tekrar eden işlem sorununu çözmek için, Mart 2012'de BIP30 yumuşak çatalı uygulandı ve tekrar eden işlem kimliklerinin kullanılmasını yasakladı, ancak önceki işlem kullanıldıysa. Aynı yıl Eylül ayında, bu kural daha da değiştirilerek tüm bloklara uygulandı.
2013 Martında, BIP34 yumuşak çatal, coinbase işlemlerinin blok yüksekliğini içermesini gerektirdi, bu aslında tekrar eden işlem sorununu çözdü. Bunun ardından, Bitcoin çekirdek yazılımı BIP30 kontrolünü durdurdu, çünkü artık gerekli değildi.
Potansiyel Gelecek Sorunları
BIP34 çoğu sorunu çözmesine rağmen, BIP34'ün etkinleştirilmesinden önceki bazı bloklarda coinbase işleminin scriptSig'inin ilk baytı gelecekteki geçerli blok yüksekliğiyle tam olarak eşleşiyor. Bu, gelecekteki belirli blok yüksekliklerinde yine de tekrar eden işlemlerin ortaya çıkabileceği anlamına geliyor.
Bir sonraki tekrar eden işlemlerle ilgili olabilecek blok 1,983,702'dir ve 2046'nın Ocak ayı civarında oluşması beklenmektedir. Ancak, bu açığı kullanmanın maliyeti çok yüksektir, büyük miktarda Bitcoin yakılması gerekmekte ve saldırganlar için neredeyse hiçbir gerçek fayda sağlamamaktadır.
Sonuç
İşlem kopyalamanın zorluğu, maliyeti ve fırsatların nadirliği göz önüne alındığında, bu açık Bitcoin'in ana güvenlik tehdidini oluşturmaz. Ancak, özelliği ve uzun vadeli varoluş olasılığı nedeniyle, hâlâ ilginç bir teknik sorun olarak durmaktadır. Geliştiriciler bu sorunu 2046 yılına kadar tamamen çözmek için çaba gösterebilirler, muhtemelen bir soft fork ile gerçekleştirebilirler. Potansiyel bir çözüm, SegWit taahhüdünü zorunlu hale getirmektir.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
14 Likes
Reward
14
2
Share
Comment
0/400
SmartMoneyWallet
· 07-22 07:33
On-chain veriler asla yalan söylemez, %97 risk BIP34 ile kilitlenmiştir.
View OriginalReply0
AltcoinOracle
· 07-22 07:28
protokolün nasıl evrildiği büyüleyici... benim özel metriklerim gerçek bir istismarın %0.0021 olasılığını gösteriyor doğrusu
Bitcoin tarihindeki tekrarlanan işlem açığı: nedenleri, etkileri ve gelecekteki risk analizi
Bitcoin'de Tekrar Eden İşlemler: İlginç ve Düşük Riskli Bir Hata
Genel Bakış
Bitcoin işlemleri genellikle önceki bir işlemin kimliğini referans alarak harcanmamış çıktıları kullanır. Bu çıktılar yalnızca bir kez kullanılabilir, aksi takdirde çift harcama sorununa yol açar. Ancak, Bitcoin tarihinde gerçekten de iki tamamen aynı işlem grubu ortaya çıkmıştır. Bunun olası olmasının nedeni, coinbase işlemlerinin girişi olmaması ve doğrudan yeni coin üretmesidir. Bu nedenle, iki farklı coinbase işlemi aynı miktarı aynı adrese gönderebilir, tamamen aynı şekilde yapılandırılabilir ve böylece aynı işlem kimliğini oluşturabilir.
Bu iki grup tekrarlanan işlem 14-15 Kasım 2010 tarihleri arasında gerçekleşti, zaman aralığı yaklaşık 16 saat. İlk grup tekrarlanan işlemin ID'si d5d2....8599'dur, buna rağmen blockchain üzerinde ilk görünme zamanı, diğer tekrarlanan işlem e3bf....b468'den daha geçtir.
Tekrar İşlem Detayları
Bu iki grup tekrar eden işlem, dört farklı blokta yer almaktadır. Blok gezgini bu işlemleri gösterirken farklı varsayılan davranışlara sahip olabilir; bazıları daha eski blokları gösterirken, bazıları daha yeni blokları gösterir.
Bu dört ilgili bloktan sadece bir blok (91,812) diğer işlemleri içermektedir ve 1 BTC ile 19 BTC'yi birleştirerek 20 BTC'lik bir çıktı oluşturmuştur.
Bu çıktılar kullanılabilir mi?
Her tekrar eden işlemin değeri 50 BTC'dir, toplamda 200 BTC( veya 100 BTC'ye kadar, anlayışa bağlı olarak). Şu ana kadar, bu 200 BTC kullanılmamıştır. Teorik olarak, ilgili özel anahtara sahip olan kişi bu Bitcoin'leri kullanabilir, ancak bir kez kullanıldığında, tekrar eden 50 BTC bir daha kullanılamayacak ve kaybolacaktır; bu nedenle aslında yalnızca 100 BTC geri alınabilir.
Tekrar Eden İşlemler Sorunu
Tekrar eden işlemler cüzdan ve blok tarayıcılarında karmaşaya neden olabilir ve Bitcoin kaynağının belirsiz olmasına yol açabilir. Ayrıca, borsa üzerinde yanıltıcı yatırımlar gibi bazı saldırılar ve açıkların istismarında da kullanılabilir.
Çözüm
Tekrar eden işlem sorununu çözmek için, Mart 2012'de BIP30 yumuşak çatalı uygulandı ve tekrar eden işlem kimliklerinin kullanılmasını yasakladı, ancak önceki işlem kullanıldıysa. Aynı yıl Eylül ayında, bu kural daha da değiştirilerek tüm bloklara uygulandı.
2013 Martında, BIP34 yumuşak çatal, coinbase işlemlerinin blok yüksekliğini içermesini gerektirdi, bu aslında tekrar eden işlem sorununu çözdü. Bunun ardından, Bitcoin çekirdek yazılımı BIP30 kontrolünü durdurdu, çünkü artık gerekli değildi.
Potansiyel Gelecek Sorunları
BIP34 çoğu sorunu çözmesine rağmen, BIP34'ün etkinleştirilmesinden önceki bazı bloklarda coinbase işleminin scriptSig'inin ilk baytı gelecekteki geçerli blok yüksekliğiyle tam olarak eşleşiyor. Bu, gelecekteki belirli blok yüksekliklerinde yine de tekrar eden işlemlerin ortaya çıkabileceği anlamına geliyor.
Bir sonraki tekrar eden işlemlerle ilgili olabilecek blok 1,983,702'dir ve 2046'nın Ocak ayı civarında oluşması beklenmektedir. Ancak, bu açığı kullanmanın maliyeti çok yüksektir, büyük miktarda Bitcoin yakılması gerekmekte ve saldırganlar için neredeyse hiçbir gerçek fayda sağlamamaktadır.
Sonuç
İşlem kopyalamanın zorluğu, maliyeti ve fırsatların nadirliği göz önüne alındığında, bu açık Bitcoin'in ana güvenlik tehdidini oluşturmaz. Ancak, özelliği ve uzun vadeli varoluş olasılığı nedeniyle, hâlâ ilginç bir teknik sorun olarak durmaktadır. Geliştiriciler bu sorunu 2046 yılına kadar tamamen çözmek için çaba gösterebilirler, muhtemelen bir soft fork ile gerçekleştirebilirler. Potansiyel bir çözüm, SegWit taahhüdünü zorunlu hale getirmektir.