Protocol

魔網ID值是 怎麼選的?

  • May 26, 2018

比特幣網路上的消息由魔法值 0xD9B4BEF9 標識,在測試網上由 0xDAB5BFFA 標識。為什麼選擇這些值?

main.cpp 帶有此評論:

// The message start string is designed to be unlikely to occur in normal data.
// The characters are rarely used upper ascii, not valid as UTF-8, and produce
// a large 4-byte int at any alignment.
unsigned char pchMessageStart[4] = { 0xf9, 0xbe, 0xb4, 0xd9 };

之所以選擇它是因為它是一個素數,還因為 4190024921 是原始畢達哥拉斯三元組的斜邊:4190024921^2 = 2924728880^2 + 3000378279^2

編輯:請注意,您必須考慮字節順序。TCP 協議要求數字以大端序編碼。0xf9beb4d9(小)= 0xd9b4bef9(大)

有關詳細資訊,請參閱https://stackoverflow.com/a/13514942 。

引用自:https://bitcoin.stackexchange.com/questions/2337