-
Notifications
You must be signed in to change notification settings - Fork 170
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: fix links and formatting in algorithms section (#978)
Co-authored-by: Hugo Dias <mail@hugodias.me>
- Loading branch information
1 parent
c77d104
commit d4d01be
Showing
13 changed files
with
95 additions
and
149 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,26 @@ | ||
--- | ||
title: "Verifiable Random Function" | ||
weight: 10 | ||
weight: 2 | ||
--- | ||
|
||
# Verifiable Random Function | ||
--- | ||
|
||
{{< hint danger >}} | ||
Issue with label | ||
{{< /hint >}} | ||
|
||
{{</* label vrf */>}} | ||
|
||
Filecoin uses the notion of a [Verifiable Random | ||
Function](https://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Pseudo%20Randomness/Verifiable_Random_Functions.pdf) | ||
(VRF). A VRF uses a private key to produce a digest of | ||
an arbitrary message such that the output is unique per signer and per message. | ||
Any third party in possession of the corresponding public key, the message, and | ||
the VRF output, can verify if the digest has been computed correctly and by the | ||
correct signer. Using a VRF in the ticket generation process allows anyone to | ||
verify if a block comes from an eligible block producer (see [Ticket Generation (Tickets)](\missing-link) for more details). | ||
verify if a block comes from an eligible block producer (see [Ticket Generation](storage_power_consensus#tickets) for more details). | ||
|
||
BLS signature can be used as the basis to construct a VRF. Filecoin transforms | ||
the BLS signature scheme it uses (see [Signatures](\missing-link) into a | ||
the BLS signature scheme it uses (see [Signatures](signatures) into a | ||
VRF, Filecoin uses the random oracle model and deterministically hashes the | ||
signature (using blake2b to produce a 256 bit output) to produce the final digest. | ||
|
||
These digests are often used as entropy for randomness in the protocol (see [Randomness](\missing-link)). | ||
|
||
{{< hint danger >}} | ||
Issue with readfile | ||
{{< /hint >}} | ||
These digests are often used as entropy for randomness in the protocol (see [Randomness](randomness)). | ||
|
||
{{</* readfile file="vrf.id" lang="go" */>}} | ||
{{</* readfile file="vrf.go" lang="go" */>}} | ||
{{<embed src="vrf.id" lang="go">}} | ||
{{<embed src="vrf.go" lang="go">}} |
Oops, something went wrong.