How does Quilibrium use verifiable delay functions and KZG commitments?

I previously learned about Bitcoin and Ethereum, and I have a general understanding of their corresponding blockchain technology architectures. However, when I recently encountered Q, some new concepts such as VDF, KZG, and others that I had not heard of in the previous crypto technology stack appeared. Therefore, I had to learn about these things. With the help of GPT, I roughly understood their roles and had GPT write a simple demo for me to better comprehend.

// Pseudocode for a VDF depending on a KZG proof for a simple Bitcoin mining operation

// Step 1: Simulate a basic Bitcoin mining operation (hashing of a block header)
blockHeader = "Block header data"
blockHash = SHA256(blockHeader) // Simplified hash function for illustration

// Step 2: Generate a KZG proof for the block hash
kzgProof = KZG_GenerateProof(blockHash)

// Step 3: Slow down the computation using a VDF
function VDF(input, delay) {
    result = input
    
    // Simulate a delay by performing hash iterations
    for i = 0 to delay {
        result = SHA256(result) // Hash iteration for delay simulation
    }
    
    return result
}

// Step 4: Apply the VDF to the block hash using KZG proof
vdfResult = VDF(blockHash, 1000) // Simulating a delay of 1000 hash iterations

// Step 5: Verify the VDF result using the KZG proof
isValid = KZG_VerifyProof(kzgProof, vdfResult)

// Output the VDF result and verification status
output(vdfResult) // The delayed result of the Bitcoin block hash
output(isValid)   // Should be true if the VDF computation is correct

I am currently confused about the following:

  • In the application of quilibrium, what kind of computation is VDF performing? Is it similar to performing some meaningless hash computations? If so, where does the meaning in the proof of meaningful work come into play?
  • Is there a relationship between KZG and VDF verification? Furthermore, is KZG verification similar in function to ZKP verification?

I remember chia seems to have used VDF for mining.

1 Like

I’ll try my best to answer. Corrections are welcome!

In the application of quilibrium, what kind of computation is VDF performing? Is it similar to performing some meaningless hash computations?

Quilibrium uses a verifiable delay function (VDF) to introduce a notion of time (master clock) for global consensus. The VDF computation is meaningless in the sense that it only proves the passage of time, but there is no point of dedicating more than one core per node to VDF computation, so it’s not wasteful like hash-computation based proof of work where node operators are incentivized to dedicate all their resources to hash-computation.

If so, where does the meaning in the proof of meaningful work come into play?

Proof of meaningful work comes into play to prove work carried out to store/retrieve/mutate data. This relies on KZG polynomial commitments to prove data availability for storage.

Is there a relationship between KZG and VDF verification?

Yes. KZG commitments are used to prove storage of data and take input from the master clock.

Furthermore, is KZG verification similar in function to ZKP verification?

KZG verification is used for data availability in Quilibrium, while ZKPs are typically used for execution proofs in other networks, so I’m inclined to say no, but there are definitely parallels to be drawn between the two.

Further reading:

2 Likes