Hiển thị các bài đăng có nhãn programming. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn programming. Hiển thị tất cả bài đăng

Thứ Bảy, 11 tháng 9, 2021

Chainlink VRF hoạt động như thế nào?

1. Smart contract yêu cầu số ngẫu nhiên = cách gửi 1 seed tới cho chainlink, kèm theo fee = LINK 

2. Chainlink network sinh ra số ngẫu nhiên và gửi proof cho VRF contract

Cụ thể: 

  • VRF contract sẽ hash lại cái seed cho nó ngẫu nhiên xíu, sau đó broadcast cho oracles 
  • Mỗi oracle sẽ sinh một số ngẫu nhiên dùng secrect key và private key, đồng thời sinh ra 1 proof 
  • Proof này được gửi lên VRF contract để verify (dùng seed và public key của oracle)
  • Random number dc VRF contract tổng hợp từ oracle ( require data từ n nodes)

3. VRF contract kiểm tra lại số ngẫu nhiên

4. Smart contract của dapp (1) nhận được số ngẫu nhiên đã verify 



Refs:

 

Solidity source: https://etherscan.io/address/0xf0d54349aDdcf704F77AE15b96510dEA15cb7952#code

Chi tiết của chainlink: https://blog.chain.link/chainlink-vrf-on-chain-verifiable-randomness/

Mô tả toán học hàm random: https://eprint.iacr.org/2017/099.pdf

Giải thích lại của leewayhertz : https://www.leewayhertz.com/what-is-chainlink-vrf/

Một giải thích khác: https://developpaper.com/detailed-explanation-of-chainlink-vrf-verifiable-random-function/