Yellow-Paper

正式的布隆過濾器規範中的“m”函式究竟是做什麼的?

  • June 4, 2019

黃色白皮書第 6 頁的節選:

在此處輸入圖像描述

我能理解前三個定義,第四個是有問題的。該功能實際上是如何m工作的?也許我對正式規範不太熟悉,但我對此感到特別困惑[i,i+1]。它是否採用位置ii+1雜湊的位,將它們相加然後應用模2048?

考慮以下輸入

乙太坊黃紙

Keccak-256根據網站考慮它的雜湊值:

7f110dc4c0a897ea5187a67e2c3a7db3a43410df8d1754fbdf28351c7e58400f

輸入字元串的前三對字節-Keccak-256

{7,f},{f,1},{1,0}

  1. {7,f}

使用本網站計算的前三對字節中每一對的低 11 位

00110111011

使用本網站計算的十進制等值是 443。443%2048 = 443

布隆過濾器將設置 2048 位序列的第 443 位。

  1. {f,1}

使用本網站計算的前三對字節中每一對的低 11 位

01100110001

使用本網站計算的十進制等值是 817。817%2048 = 817

布隆過濾器將設置 2048 位序列的第 817 位。

  1. {1,0}

00110001001

使用本網站計算的前三對字節中每一對的低 11 位

使用本網站計算的十進制等值是 393。393%2048 = 393

布隆過濾器將設置 2048 位序列的第 393 位。

[i,i+1]表示位置的字節ii+1

希望能幫助到你!

引用自:https://ethereum.stackexchange.com/questions/59203