İçeriğe geçin
buybitcoinsmart

Sözlük / Düğümler ve yazılım

Mesaj başlığı

Mesaj başlığı nedir?
Bitcoin'in mesaj başlığı, eşler arası her mesajın etrafını saran sabit 24 baytlık bir zarf: bir ağ başlangıç dizesi, bir komut adı, bir yük uzunluğu ve bir sağlama toplamı.

Eşler arası protokolde hiçbir şey kendini tanımlamaz, bu yüzden bu işi zarfın yapması gerekir. Dört alanı boyut veya sıra olarak asla değişmez; bir düğüm tam 24 bayt okuyabilir, daha ne kadarının geleceğini öğrenebilir ve Bitcoin Core yazılımının kabul edeceği 4.000.000 baytı aşan bir şey bildiren bağlantıyı kapatabilir. Siz hiçbir zaman bir tane görmezsiniz, ancak bozuk bir başlık, bir eş bağlantısının bazen açıklama olmadan kaybolmasının nedenidir.

Nasıl çalışır

Başlığın dört alanı sabit bir sırayla okunur ve her biri sonra ne olacağını belirler.

0 ile 3 arasındaki baytlar ağı tanımlayan başlangıç dizesini içerir. 4 ile 15 arasındaki baytlar komutu içerir: on iki karaktere kadar null baytlarla doldurulmuş küçük harfli bir ASCII adı; bu nedenle Bitcoin'deki her mesaj türünün kısa bir adı vardır ve on karakterle cmpctblock üst sınıra yakın durur. 16 ile 19 arasındaki baytlar yük uzunluğunu little-endian işaretsiz bir tamsayı olarak içerir. 20 ile 23 arasındaki baytlar bir sağlama toplamı içerir: yük üzerinde hesaplanan çift SHA-256 sonucunun ilk dört baytı.

Uzunluğu yükten önce koymak, tasarımın gerçek güvenlik özelliğidir. 24 baytı tüketmiş bir düğüm, gönderenin saçma bir şey bildirip bildirmediğini zaten bilir ve Bitcoin Core yazılımı 4.000.000 baytın üzerindeki her şeyi reddedip bağlantıyı keser; bir tampon ayırmaz ve hiç gelmeyebilecek veriyi beklemez. Uzunluğu gövdeden sonra koyarsanız, gönderenin duracağına güveniyorsunuz demektir.

Sağlama toplamı, genellikle aldığından daha az saygıyı hak eder. Dört baytlık hash, bozuk bir bağlantıda ters dönmüş bir biti yakalar ve yalan söyleyen bir eşe karşı hiçbir işe yaramaz, çünkü düşmanca bir gönderen sağlama toplamını ne göndermeyi seçtiyse onun üzerinden hesaplar. Bitcoin'de bütünlük, içeriğin konsensüs kurallarına göre doğrulanmasından gelir, bu alandan asla.

Yeni yazılımlarda tüm yapı isteğe bağlıdır. BIP324 önerisinin 2 numaralı sürümündeki taşıma katmanı bağlantıyı şifreler ve düz metin zarfının yerine, gizlenmiş uzunluk çerçevelemesi ile en yaygın mesaj türleri için bir baytlık kısa tanımlayıcı koyar; böylece pasif bir gözlemci artık komut adlarını hattan okuyamaz. Bitcoin Core yazılımı bunu 26.0 sürümünde isteğe bağlı bir ayar olarak sundu ve daha sonraki bir sürümde varsayılan olarak açtı.

Nerede görülür

Mesaj başlıkları paket yakalamalarında ve bir düğümün kendi tanılama çıktılarında görülür.

Bitcoin Core yazılımını -debug=net ile çalıştırın; günlük her eş için mesaj türlerini ve boyutlarını kaydeder, bu da bir bağlantının gerçekte ne yaptığını izlemenin pratik yoludur. PROCESSMESSAGE: INVALID MESSAGESTART yazan günlük satırları, bir eşin bu ağın başlangıç dizesiyle başlamayan baytlar gönderdiği anlamına gelir; bu neredeyse her zaman bir saldırı değil, karşı tarafta yanlış yapılandırılmış bir şeydir. Wireshark yazılımının Bitcoin çözümleyicisi her çerçeveyi etiketlemek için aynı 24 baytı çözümler.

Mesaj başlığı vs blok başlığı

Mesaj başlığı taşıma ambalajıdır; blok başlığı konsensüs verisidir ve yalnızca adı paylaşırlar. Mesaj başlığı 24 bayttır, yalnızca bir teslimat süresi boyunca vardır ve yük okunur okunmaz atılır. Blok başlığı 80 bayttır; sürümü, önceki bloğun hash değerini, merkle kökünü, zaman damgasını, zorluk hedefini ve nonce değerini içerir ve o bloğu kalıcı olarak adlandıran iş kanıtını (proof of work) üretmek için hashlenir. Biri bir kolinin üzerindeki adres etiketi, diğeri içindeki şeydir.

Karıştırılmaması gerekenler

Sık sorulan sorular

Bir Bitcoin mesaj başlığı ne kadar büyüktür?

Tam olarak 24 bayt: dördü ağ başlangıç dizesi için, on ikisi null ile doldurulan komut adı için, dördü yük uzunluğu için ve dördü yük üzerinde hesaplanan çift SHA-256 sonucunun ilk baytlarından alınan bir sağlama toplamı için.

Mesaj başlığındaki sağlama toplamı bağlantıyı güvenli kılar mı?

Hayır. Yalnızca kazara bozulmayı tespit eder. Düşmanca bir eş, sağlama toplamını ne gönderirse onun üzerinden yeniden hesaplar; bu nedenle güvenlik, yükün konsensüs kurallarına göre doğrulanmasından veya düz metin başlığın tamamen yerini alan şifreli BIP324 taşıma katmanından gelir.

İlgili terimler

Daha fazlası: Düğümler ve yazılım

Bu sayfayı İngilizce okuyun