How do Golomb Coded Sets work?
Clash Royale CLAN TAG#URR8PPP
up vote
2
down vote
favorite
From my understanding Golomb coded sets are a probabilistic data structure that encodes the deltas of an order set of elements.
With things like txids, which are evenly distributed, Golomb coded sets are an efficient way to encode things inside of a block.
What is the ordering used to determine how txids are encoded in the set? It seems we need a base
txid, and then compute deltas from that original txid? Is it just as simple as the lowest big endian numeric interpretation of a txid in a block?
neutrino
add a comment |Â
up vote
2
down vote
favorite
From my understanding Golomb coded sets are a probabilistic data structure that encodes the deltas of an order set of elements.
With things like txids, which are evenly distributed, Golomb coded sets are an efficient way to encode things inside of a block.
What is the ordering used to determine how txids are encoded in the set? It seems we need a base
txid, and then compute deltas from that original txid? Is it just as simple as the lowest big endian numeric interpretation of a txid in a block?
neutrino
add a comment |Â
up vote
2
down vote
favorite
up vote
2
down vote
favorite
From my understanding Golomb coded sets are a probabilistic data structure that encodes the deltas of an order set of elements.
With things like txids, which are evenly distributed, Golomb coded sets are an efficient way to encode things inside of a block.
What is the ordering used to determine how txids are encoded in the set? It seems we need a base
txid, and then compute deltas from that original txid? Is it just as simple as the lowest big endian numeric interpretation of a txid in a block?
neutrino
From my understanding Golomb coded sets are a probabilistic data structure that encodes the deltas of an order set of elements.
With things like txids, which are evenly distributed, Golomb coded sets are an efficient way to encode things inside of a block.
What is the ordering used to determine how txids are encoded in the set? It seems we need a base
txid, and then compute deltas from that original txid? Is it just as simple as the lowest big endian numeric interpretation of a txid in a block?
neutrino
neutrino
edited 19 mins ago
Murchâ¦
34k26110315
34k26110315
asked 3 hours ago
Chris Stewart
579414
579414
add a comment |Â
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
2
down vote
The data-structure is encoding a set which means it is not encoding an order.
If you draw numbers uniformly at random from some universe then sort the result (thus destroying the order information), the differences between the numbers follow an exponential distribution. The GCS uses a golomb coder to efficiently store these differences. The sort method used is irrelevant so long as its consistent with the differencing method used.
There is nothing probabilistic about the set encoding itself. But for BIP158 the set being encoded is not TXIDs but short hashes of relevant outputs. Because the hashes are short they can have collisions, making the result probabilistic.
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
The data-structure is encoding a set which means it is not encoding an order.
If you draw numbers uniformly at random from some universe then sort the result (thus destroying the order information), the differences between the numbers follow an exponential distribution. The GCS uses a golomb coder to efficiently store these differences. The sort method used is irrelevant so long as its consistent with the differencing method used.
There is nothing probabilistic about the set encoding itself. But for BIP158 the set being encoded is not TXIDs but short hashes of relevant outputs. Because the hashes are short they can have collisions, making the result probabilistic.
add a comment |Â
up vote
2
down vote
The data-structure is encoding a set which means it is not encoding an order.
If you draw numbers uniformly at random from some universe then sort the result (thus destroying the order information), the differences between the numbers follow an exponential distribution. The GCS uses a golomb coder to efficiently store these differences. The sort method used is irrelevant so long as its consistent with the differencing method used.
There is nothing probabilistic about the set encoding itself. But for BIP158 the set being encoded is not TXIDs but short hashes of relevant outputs. Because the hashes are short they can have collisions, making the result probabilistic.
add a comment |Â
up vote
2
down vote
up vote
2
down vote
The data-structure is encoding a set which means it is not encoding an order.
If you draw numbers uniformly at random from some universe then sort the result (thus destroying the order information), the differences between the numbers follow an exponential distribution. The GCS uses a golomb coder to efficiently store these differences. The sort method used is irrelevant so long as its consistent with the differencing method used.
There is nothing probabilistic about the set encoding itself. But for BIP158 the set being encoded is not TXIDs but short hashes of relevant outputs. Because the hashes are short they can have collisions, making the result probabilistic.
The data-structure is encoding a set which means it is not encoding an order.
If you draw numbers uniformly at random from some universe then sort the result (thus destroying the order information), the differences between the numbers follow an exponential distribution. The GCS uses a golomb coder to efficiently store these differences. The sort method used is irrelevant so long as its consistent with the differencing method used.
There is nothing probabilistic about the set encoding itself. But for BIP158 the set being encoded is not TXIDs but short hashes of relevant outputs. Because the hashes are short they can have collisions, making the result probabilistic.
answered 2 hours ago
G. Maxwell
1,691218
1,691218
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f80481%2fhow-do-golomb-coded-sets-work%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password