Bitcoin Tekrar İşlemleri: İlginç ama Çok Küçük Bir Açık
Bitcoin işlemleri genellikle bir önceki işlemin kimliğini referans alarak harcanmamış çıktıları kullanır. Bu çıktılar yalnızca bir kez harcanabilir, aksi takdirde çift harcama sorununa yol açar. Ancak, Bitcoin tarihinde tam olarak aynı iki işlem setinin ortaya çıktığı durumlar olmuştur. Bu durumun mümkün olmasının nedeni, coinbase işlemlerinin girdi olmaması ve doğrudan yeni coinler üretmesidir. Bu nedenle, iki farklı coinbase işlemi aynı adrese aynı miktarda coin gönderebilir ve tamamen aynı şekilde inşa edilebilir, bu da onları tamamen benzer kılar. İşlem içerikleri aynı olduğundan, işlem kimlikleri de aynı olur.
Bu iki grup tekrarlanan işlem, 14-15 Kasım 2010 tarihleri arasında gerçekleşti ve zaman dilimi yaklaşık 16 saat sürdü. İlk grup tekrarlanan işlem d5d2....8599, önce kopya olarak ortaya çıkmasına rağmen, blok zincirindeki ilk görünümü başka bir tekrarlanan işlem olan e3bf....b468'den daha geç oldu.
İlginçtir ki, farklı blok gezginleri bu tekrarlanan işlemleri gösterirken farklı davranış sergiliyorlar. Bazıları varsayılan olarak daha eski blokları gösterirken, bazıları daha yeni blokları gösteriyor.
İlgili dört bloktan yalnızca bir blok, 1 BTC ve 19 BTC'lik çıktıları birleştirerek 20 BTC'lik bir çıktı içermektedir.
Bu tekrar eden işlemlerle ilgili 200 BTC hala harcanmamıştır. Teorik olarak, ilgili özel anahtara sahip olan kişi bu Bitcoin'leri harcayabilir, ancak harcandığında, tekrar eden 50 BTC kaybolacak, bu nedenle aslında kullanılabilir olan sadece 100 BTC'ye sahip olacaktır. Bu coinlerin harcandıktan sonra hangi bloktan geleceği ise şu anda belirlenememektedir.
Tekrar eden işlemler açıkça birçok soruna yol açacaktır. Bunlar, cüzdanlar ve blok gezginleri için karışıklığa neden olacak ve ayrıca Bitcoin'in kaynağını belirsiz hale getirecektir. Daha ciddi olanı, borsa gibi kuruluşlara saldırmak için kullanılabilir.
Bu sorunu çözmek için, 2012 yılının Mart ayında BIP30 yumuşak çatallanması uygulandı ve tekrarlanan işlem kimlikleri ile işlem yapılması yasaklandı. 2012 yılının Eylül ayında, bu kural tüm bloklar için geçerli olacak şekilde genişletildi.
2013 yılında aktif hale getirilen BIP34 yumuşak çatalı, coinbase işlemlerinin blok yüksekliğini içermesini gerektiriyordu, bu da tekrar eden işlem sorununu daha da çözmüştür. Bu nedenle, 2015 Kasım'ında Bitcoin çekirdek yazılımı BIP30 kontrolünü durdurdu.
Ancak, BIP34 mükemmel bir çözüm değildir. BIP34 aktif olmadan önceki bazı bloklarda, coinbase işleminin scriptSig'inin ilk baytı tam olarak gelecekte geçerli blok yüksekliği ile eşleşmektedir. Bu, yine de tekrarlanan işlemlerin ortaya çıkabileceği anlamına gelir; bir sonraki olası blok 1,983,702'dir ve bunun 2046 yılının Ocak ayı civarında üretilmesi beklenmektedir.
Ancak, bu açığı kullanmanın maliyeti oldukça yüksektir. 1,983,702 numaralı blok örneğinde, madencilerin yaklaşık 170 BTC'lik bir ücreti yakması gerekmektedir, bu da mevcut fiyatlarla yaklaşık 15 milyon dolar etmektedir. Ayrıca bu fonların geri alınması da muhtemelen mümkün olmayacaktır.
Kopya işlemlerin zorluğu ve maliyeti ile fırsatların nadirliği göz önüne alındığında, bu açık Bitcoin'in ana güvenlik tehdidini oluşturmuyor. Yine de, geliştiriciler bu sorunu tamamen çözmenin yollarını bulmak için çalışıyorlar ve bunun bir yazılım dalgalanması ile gerçekleştirilmesi gerekebilir.
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.
12 Likes
Reward
12
6
Share
Comment
0/400
CafeMinor
· 10h ago
Protokol sayısı arttığında daha güvenli olduğu anlamına gelmez oh~
View OriginalReply0
MEVHunterBearish
· 07-18 00:45
Bu hatayı düzeltmek gerçekten sıkıcı...
View OriginalReply0
CompoundPersonality
· 07-18 00:42
Erken dönemlerdeki açıklar hakkında bir şeyler söylemek gerçekten korkutucuydu.
Bitcoin tekrar işlem açığı: Tarihsel vakalar ve gelecekteki risk analizi
Bitcoin Tekrar İşlemleri: İlginç ama Çok Küçük Bir Açık
Bitcoin işlemleri genellikle bir önceki işlemin kimliğini referans alarak harcanmamış çıktıları kullanır. Bu çıktılar yalnızca bir kez harcanabilir, aksi takdirde çift harcama sorununa yol açar. Ancak, Bitcoin tarihinde tam olarak aynı iki işlem setinin ortaya çıktığı durumlar olmuştur. Bu durumun mümkün olmasının nedeni, coinbase işlemlerinin girdi olmaması ve doğrudan yeni coinler üretmesidir. Bu nedenle, iki farklı coinbase işlemi aynı adrese aynı miktarda coin gönderebilir ve tamamen aynı şekilde inşa edilebilir, bu da onları tamamen benzer kılar. İşlem içerikleri aynı olduğundan, işlem kimlikleri de aynı olur.
Bu iki grup tekrarlanan işlem, 14-15 Kasım 2010 tarihleri arasında gerçekleşti ve zaman dilimi yaklaşık 16 saat sürdü. İlk grup tekrarlanan işlem d5d2....8599, önce kopya olarak ortaya çıkmasına rağmen, blok zincirindeki ilk görünümü başka bir tekrarlanan işlem olan e3bf....b468'den daha geç oldu.
İlginçtir ki, farklı blok gezginleri bu tekrarlanan işlemleri gösterirken farklı davranış sergiliyorlar. Bazıları varsayılan olarak daha eski blokları gösterirken, bazıları daha yeni blokları gösteriyor.
İlgili dört bloktan yalnızca bir blok, 1 BTC ve 19 BTC'lik çıktıları birleştirerek 20 BTC'lik bir çıktı içermektedir.
Bu tekrar eden işlemlerle ilgili 200 BTC hala harcanmamıştır. Teorik olarak, ilgili özel anahtara sahip olan kişi bu Bitcoin'leri harcayabilir, ancak harcandığında, tekrar eden 50 BTC kaybolacak, bu nedenle aslında kullanılabilir olan sadece 100 BTC'ye sahip olacaktır. Bu coinlerin harcandıktan sonra hangi bloktan geleceği ise şu anda belirlenememektedir.
Tekrar eden işlemler açıkça birçok soruna yol açacaktır. Bunlar, cüzdanlar ve blok gezginleri için karışıklığa neden olacak ve ayrıca Bitcoin'in kaynağını belirsiz hale getirecektir. Daha ciddi olanı, borsa gibi kuruluşlara saldırmak için kullanılabilir.
Bu sorunu çözmek için, 2012 yılının Mart ayında BIP30 yumuşak çatallanması uygulandı ve tekrarlanan işlem kimlikleri ile işlem yapılması yasaklandı. 2012 yılının Eylül ayında, bu kural tüm bloklar için geçerli olacak şekilde genişletildi.
2013 yılında aktif hale getirilen BIP34 yumuşak çatalı, coinbase işlemlerinin blok yüksekliğini içermesini gerektiriyordu, bu da tekrar eden işlem sorununu daha da çözmüştür. Bu nedenle, 2015 Kasım'ında Bitcoin çekirdek yazılımı BIP30 kontrolünü durdurdu.
Ancak, BIP34 mükemmel bir çözüm değildir. BIP34 aktif olmadan önceki bazı bloklarda, coinbase işleminin scriptSig'inin ilk baytı tam olarak gelecekte geçerli blok yüksekliği ile eşleşmektedir. Bu, yine de tekrarlanan işlemlerin ortaya çıkabileceği anlamına gelir; bir sonraki olası blok 1,983,702'dir ve bunun 2046 yılının Ocak ayı civarında üretilmesi beklenmektedir.
Ancak, bu açığı kullanmanın maliyeti oldukça yüksektir. 1,983,702 numaralı blok örneğinde, madencilerin yaklaşık 170 BTC'lik bir ücreti yakması gerekmektedir, bu da mevcut fiyatlarla yaklaşık 15 milyon dolar etmektedir. Ayrıca bu fonların geri alınması da muhtemelen mümkün olmayacaktır.
Kopya işlemlerin zorluğu ve maliyeti ile fırsatların nadirliği göz önüne alındığında, bu açık Bitcoin'in ana güvenlik tehdidini oluşturmuyor. Yine de, geliştiriciler bu sorunu tamamen çözmenin yollarını bulmak için çalışıyorlar ve bunun bir yazılım dalgalanması ile gerçekleştirilmesi gerekebilir.