Verifiable Random Function (VRF) là gì? Tìm hiểu ‘Chức năng ngẫu nhiên có thể xác minh’

Verifiable Random Function (VRF) là gì? Tìm hiểu 'Chức năng ngẫu nhiên có thể xác minh'

Các blockchain như Bitcoin đang phải đối mặt với một vấn đề quan trọng. Làm thế nào để phân tán một cách công bằng sự đồng thuận ra quyết định về việc nhóm nào sẽ giành chiến thắng trong cuộc cạnh tranh và có quyền thêm khối mới vào chính chuỗi khối.

Giao thức Bitcoin, được tạo ra bởi người / nhóm có bút danh Satoshi Nakamoto, giải quyết vấn đề này bằng một nhiệm vụ mật mã. Cụ thể, việc tìm kiếm số ngẫu nhiên, số mật mã. Nhóm nào tìm thấy số nonce thấp nhất có thể là nhóm chiến thắng trong số khoảng đó. Nhiệm vụ kéo dài 10 phút, tranh thủ khối vào chuỗi khối và sau đó quá trình tìm kiếm lỗi bắt đầu lại.

Nhưng khi các nhà mật mã trên toàn thế giới làm việc cả ngày lẫn đêm và cố gắng tìm ra giải pháp tốt hơn, giúp cho khối có thể được khai thác sớm hơn 10 phút, họ đã đưa ra các loại giải pháp khác nhau. Một trong số chúng tôi muốn mô tả ngay bây giờ trong bài viết này cùng với các ví dụ về những gì các dự án sử dụng nó.

Chức năng ngẫu nhiên có thể xác minh (VRF)

Vấn đề của Bitcoin với quá trình khai thác dài (trung bình 10 phút cho mỗi khối) phức tạp hơn tưởng tượng. Do đó, ít giao dịch hơn có thể được xử lý trong một thời gian cụ thể, vì mất quá nhiều thời gian để khai thác và hoàn thiện khối. Tại thời điểm này, mạng Bitcoin có thể xử lý khoảng 7 TPS (giao dịch mỗi giây).

Mật mã hiện đại đã vượt xa kết quả này. Giải pháp thanh lịch là rút thăm ngẫu nhiên, diễn ra theo cách phi tập trung. Ứng dụng của xổ số mật mã này được gọi là Verifiable Random Function VRF – Chức năng ngẫu nhiên có thể xác minh.

Các hàm ngẫu nhiên có thể xác minh được (VRF – Verifiable Random Function) được phát triển bởi Silvio Micali, Michael Rabin và Salil Vadhan vào năm 1999 và sau đó được cải tiến bởi Yevgeniy Dodis và Aleksandr Yampolskiy vào năm 2005.

Một hàm ngẫu nhiên có thể xác minh (VRF – Verifiable Random Function) là một hàm mật mã xử lý đầu vào và tạo ra đầu ra giả ngẫu nhiên có thể xác minh được. Bằng cách sử dụng bằng chứng và khóa công khai làm đầu vào, kết quả đầu ra sau đó có thể được xác minh mà không cần biết khóa riêng và thậm chí không có khả năng tìm ra nó.

Với giá trị đầu vào x, người sở hữu khóa bí mật SK có thể tính giá trị của hàm y = F SK (x) và chứng minh p SK (x).

Sử dụng bằng chứng và khóa công khai, bất kỳ ai cũng có thể kiểm tra xem giá trị của y = F SK (x) có thực sự được tính đúng hay không, tuy nhiên thông tin này không thể được sử dụng để tìm khóa bí mật. PK = g SK

VRF cung cấp các tiền đề xác định có thể được tiết lộ sau này bằng cách sử dụng các bằng chứng mà chỉ có thể được tạo bằng khóa riêng tư (private key). Điều này hữu ích để cung cấp ánh xạ (mapping) 1: 1 của các đầu vào entropy thấp (ví dụ: tên, địa chỉ email, số điện thoại) với một số giá trị ngẫu nhiên có thể được cam kết trước, ví dụ: thông qua dịch vụ đánh dấu thời gian như nhật ký minh bạch.

Không giống như các thuật toán chữ ký số truyền thống, đầu ra VRF có thể được xuất bản công khai mà không bị tấn công trước, ngay cả khi người xác minh biết khóa công khai (nhưng không phải bằng chứng). Điều này rất hữu ích để ngăn chặn việc liệt kê các tên / mã định danh trong một thư mục đang sử dụng hệ thống minh bạch.

Ứng dụng của VRF trong không gian blockchain

Chúng ta có thể tìm thấy một số ứng dụng của Chức năng ngẫu nhiên có thể xác minh (VRF – Verifiable Random Function) trong không gian blockchain. Từ các blockchain đã có chức năng, đó là Algorand, Cardano, Polkadot và theo một cách nào đó là Chainlink. Đối với Algorand, lợi thế không thể phủ nhận của việc sử dụng VRF là hầu như không thể phân nhánh mạng do độ trễ của mạng giống như đang xảy ra với chuỗi khối Bitcoin, nơi các khối mồ côi luôn phát sinh.

  Tại sao Ethereum được sử dụng cho NFT?

Từ các dự án sắp tới, chúng ta có thể đặt tên cho Dfinity, sẽ là một loại “internet computer – máy tính internet” phi tập trung, nhằm mục đích giảm chi phí của các dịch vụ đám mây trong thế giới internet ngày nay.

Algorand

Silvio Micali, người sáng lập ra Các hàm ngẫu nhiên có thể xác minh được, là một người đáng kính trong thế giới khoa học máy tính. Ông ấy cũng đứng đằng sau dự án blockchain Algorand, tất nhiên là sử dụng phát minh của ông ấy để đạt được sự đồng thuận.

Ứng dụng của VRF trong Algorand
Ứng dụng của VRF trong Algorand

Algorand bao gồm 2 loại nút (nodes). Các nút chuyển tiếp, đóng vai trò là trung tâm mạng chuyển tiếp các bản tin giao thức rất nhanh chóng và hiệu quả giữa các nút tham gia, phục vụ cho việc đề xuất khối mới và quy trình xác nhận sau.

VRF lấy một khóa bí mật và một giá trị và tạo ra một đầu ra giả ngẫu nhiên, với bằng chứng mà bất kỳ ai cũng có thể sử dụng để xác minh kết quả. VRF có chức năng tương tự như xổ số và được sử dụng để chọn các nhà lãnh đạo đề xuất một khối và các thành viên ủy ban bỏ phiếu cho một khối.

Đầu ra VRF này, khi được thực thi cho một tài khoản, được sử dụng để lấy mẫu từ phân phối nhị thức để mô phỏng lệnh gọi cho mọi bí danh trong tài khoản của người dùng. Càng nhiều bí danh trong tài khoản, thì tài khoản đó càng có nhiều cơ hội được chọn – nó giống như thể mọi bí danh trong tài khoản đều tham gia xổ số của chính nó. Phương pháp này đảm bảo rằng người dùng không đạt được bất kỳ lợi thế nào bằng cách tạo nhiều tài khoản.

Chức năng ngẫu nhiên có thể xác minh cho chuỗi khối Algorand
Chức năng ngẫu nhiên có thể xác minh cho chuỗi khối Algorand

Do đó, không có gì ngạc nhiên khi Silvio Micali đã sử dụng Chức năng ngẫu nhiên có thể xác minh cũng cho chuỗi khối Algorand để thực hiện phân chia mật mã bí mật để chọn nút đề xuất khối và ủy ban xác thực để thúc đẩy giao thức đồng thuận.

Việc sử dụng VRF đã làm cho quá trình đồng thuận trở nên rất hiệu quả, do đó, khả năng mở rộng đạt được mức độ cao. Kể từ thời điểm đó, các dự án blockchain khác cũng bắt đầu sử dụng VRF để lựa chọn nút đề xuất khối và ủy ban.

Cách VRF hoạt động trong Algorand Blockchain

Hãy nhớ lại rằng cốt lõi của Algorand Blockchain là một giao thức Thỏa thuận Byzantine nhanh chóng. Tuy nhiên, thỏa thuận không được thực hiện giữa tất cả người dùng trong mạng. Thay vào đó, nó được giới hạn trong một ủy ban nhỏ gồm những người dùng được chọn ngẫu nhiên cho mỗi vòng.

Giờ đây, mỗi người dùng trong mạng Algorand nắm giữ một khóa bí mật SK, trong khi khóa xác minh VK được mọi người biết đến một cách công khai. Mỗi người dùng tham gia vào mạng Algorand muốn quyết định xem có nên tham gia ủy ban điều hành Thỏa thuận Byzantine cho khối r hay không, cần thực hiện những việc sau:

  • Tính toán Đánh giá (SK, Qr) → (Y, ⍴). Ở đây, Qr là một chuỗi hạt giống “magic” có sẵn cho tất cả mọi người trong hệ thống.
  • Kiểm tra xem Y có nằm trong một phạm vi nhất định [0, P] phụ thuộc vào cổ phần mà người dùng nắm giữ trong hệ thống.
  • Nếu kiểm tra ở trên vượt qua, thì người dùng có bằng chứng bao gồm các giá trị (Y, ⍴) xác nhận tư cách thành viên ủy ban của họ cho khối r. Với (Y, ⍴) và khóa xác minh VK của người dùng, bất kỳ ai cũng có thể xác minh rằng Y là đầu ra duy nhất hợp lệ và nó nằm trong phạm vi mong muốn (do đó, xác thực rằng người dùng nắm giữ VK thực sự được chọn để phục vụ trong ủy ban cho khối r).

Cardano

Cardano Ouroboros PoS sử dụng công nghệ Chức năng Ngẫu nhiên Có thể xác minh (VRF), qua đó nút xác định rằng nó đã có được quyền sản xuất khối tiếp theo. Các đầu vào của VRF là ID vị trí (khối hiện tại trong kỷ nguyên), khóa ký VRF (đầu vào duy nhất) và Nonce (bắt nguồn từ băm được tạo bằng 2/3 khối từ kỷ nguyên trước).

Cardano Ouroboros PoS sử dụng công nghệ Chức năng Ngẫu nhiên Có thể xác minh (VRF)
Cardano Ouroboros PoS sử dụng công nghệ Chức năng Ngẫu nhiên Có thể xác minh (VRF)

Bằng cách sử dụng VRF, có thể tạo ra một số ngẫu nhiên sẽ trả lời câu hỏi cho mỗi nút ngay trước khi có khả năng tạo ra một khối: “bây giờ tôi có quyền tạo ra một khối mới trong khoảng thời gian này không”? Không có cơ hội để tìm hiểu trước, nút nào sẽ có quyền tạo ra khối tiếp theo.

  Tether cho biết sẽ không chặn Tornado Cash cho đến khi các nhà chức trách chỉ đạo

Việc tạo khối bao gồm ký bằng khóa riêng (khóa KES) và nhập số xác minh. Sau khi ký khối, khóa cá nhân sẽ bị hủy và một khóa mới được tạo. Một công cụ mật mã khác được sử dụng, được gọi là Chữ ký phát triển khóa (Key Evolving Signature), cho phép bạn thay đổi khóa cá nhân và giữ nguyên khóa công khai.

Điều thực tế về giải pháp này là không cần một số lượng lớn thông báo được gửi giữa các nút khác nhau khi kết thúc một sự đồng thuận, như chúng ta có thể thấy với giải pháp BFT truyền thống. Nút có quyền tạo khối, làm như vậy và sau đó chỉ cần quảng bá khối. Các nút khác xác minh quyền tạo khối mới và cả các giao dịch trong đó và sau đó chấp nhận khối đó hay không.

Chainlink

Chainlink cũng sử dụng những ưu điểm của VRF, nhưng so với Algorand hoặc Cardano, nó còn đi xa hơn. Chainlink cung cấp giải pháp được gọi là Chainlink VRF, sử dụng các chức năng ngẫu nhiên có thể xác minh được để tạo ra tính ngẫu nhiên trên chuỗi. Bằng cách đó, các nhà phát triển hợp đồng thông minh có thể sử dụng nó như một nguồn của trình tạo số ngẫu nhiên chống giả mạo.

Chainlink cung cấp giải pháp được gọi là Chainlink VRF
Chainlink cung cấp giải pháp được gọi là Chainlink VRF

Nó có thể được sử dụng bởi các hợp đồng thông minh trong nhiều ứng dụng như NFT, trong các trò chơi blockchain, để lựa chọn một mẫu đại diện cho cơ chế đồng thuận và thậm chí để tạo ra một số nhiệm vụ và tài nguyên, chẳng hạn như chỉ định ngẫu nhiên các thẩm phán cho các vụ án.

Cách hoạt động của Chainlink VRF
Cách hoạt động của Chainlink VRF

Đối với mỗi yêu cầu, Chainlink VFR sẽ tạo ra một số ngẫu nhiên và cũng là bằng chứng mật mã, cách nó được xác định. Bằng cách xuất bản và xác minh bằng chứng trên chuỗi, nó được đảm bảo rằng nó không thể bị giả mạo hoặc thao túng bởi bất kỳ ai bao gồm cả các nhà phát triển hợp đồng thông minh hoặc nhà điều hành oracle.

Chainlink VRF cung cấp cho các nhà phát triển một loạt các lợi ích, bao gồm:

  • Tính không thể đoán trước — Chainlink VRF là không thể đoán trước: Không ai có thể dự đoán sự ngẫu nhiên để tăng tỷ lệ thành công của họ vì dữ liệu khối không được biết tại thời điểm yêu cầu được thực hiện.
  • Công bằng — Chainlink VRF công bằng và không thiên vị vì số ngẫu nhiên dựa trên phân phối đồng đều, có nghĩa là tất cả các số trong phạm vi đều có cơ hội được chọn như nhau.
  • Tính ngẫu nhiên — Chainlink VRF có thể là ngẫu nhiên vì nó dựa vào các khối băm chưa biết trước làm hạt giống cho RNG được tích hợp vào nút VRF.
  • Chống giả mạo — Chainlink VRF chống giả mạo vì không ai — không phải oracle, các thực thể bên ngoài hoặc nhóm phát triển — có thể can thiệp vào quy trình RNG.

Chainlink VRF đóng vai trò như một lớp trừu tượng giữa người dùng và chuỗi khối, cho phép các nhà phát triển hợp đồng thông minh truy cập vào nguồn ngẫu nhiên an toàn mà họ có thể sử dụng trong các ứng dụng của mình.

Chainlink VRF là một triển khai của Chức năng ngẫu nhiên có thể xác minh được (VRF) của Goldberg. Đối với mỗi yêu cầu ngẫu nhiên, Chainlink VRF tạo ra một hoặc nhiều giá trị ngẫu nhiên cùng với bằng chứng mật mã về cách các giá trị đó được xác định. Bằng chứng được xuất bản và xác minh trên chuỗi trước khi bất kỳ ứng dụng tiêu thụ nào có thể sử dụng nó.

Các trường hợp sử dụng Chainlink VRF bao gồm:

  • Gán các thuộc tính ngẫu nhiên cho NFT — Chainlink VRF có thể giúp tạo các NFT duy nhất trong quá trình đúc tiền (Mint). Axie Infinity đã sử dụng Chainlink VRF để cung cấp cho mỗi Origin Axie một tập hợp các đặc điểm ngẫu nhiên.
  • Phân phối công bằng các NFT hiếm — Chainlink VRF cung cấp bằng chứng có thể kiểm tra được rằng các NFT đã được phân phối công bằng. Câu lạc bộ du thuyền Bored Ape (BAYC) đã sử dụng Chainlink VRF để phân phối ngẫu nhiên các NFT huyết thanh đột biến mới của mình cho những người nắm giữ BAYC NFT hiện tại.
  • Kết quả trò chơi không thể đoán trước — Các nhà phát triển có thể xây dựng các trò chơi blockchain thú vị hơn bằng cách tận dụng các kết quả ngẫu nhiên. Ví dụ: Blockmine sử dụng Chainlink VRF để hỗ trợ rút thăm ngẫu nhiên trong trò chơi Bài tiếp theo của nó.
  • Lựa chọn người tham gia một cách công bằng — Phân phối các mặt hàng được yêu thích cao như vé tham dự các sự kiện độc quyền, chọn người chiến thắng bán trước cho các mặt hàng xa xỉ và chọn người tham gia trong một đợt giảm giá công khai phổ biến. Ví dụ: Centaur sử dụng Chainlink VRF để chọn người tham gia cho đợt bán công khai trên chuỗi của nó.
  • Chọn ngẫu nhiên người chiến thắng — Với Chainlink VRF, người dùng sẽ có thể xác minh rằng mỗi người chiến thắng được chọn với một nguồn ngẫu nhiên không thiên vị. Ví dụ: PoolTogether là một trò chơi tiết kiệm không thua lỗ nhằm gộp tiền gửi của người dùng và phân phối tiền lãi kiếm được trên nhóm cho người chiến thắng được chọn ngẫu nhiên trong các bản vẽ hàng ngày và hàng tuần.
  NFTs đã trao quyền cho các nghệ sĩ trong các cảnh nghệ thuật châu Phi như thế nào

Polkadot

Các hàm ngẫu nhiên có thể xác minh được sử dụng trong Polkadot rất giống với các hàm được sử dụng trong Ouroboros PoS. Sự khác biệt là Polkadots VRF được sử dụng trong đồng thuận BABE không phụ thuộc vào đồng hồ trung tâm, mà dựa trên kết quả trong quá khứ của nó, xác định kết quả hiện tại và tương lai. Họ sử dụng số vị trí làm trình giả lập đồng hồ để ước tính thời gian.

Polkadots VRF được sử dụng trong đồng thuận BABE không phụ thuộc vào đồng hồ trung tâm
Polkadots VRF được sử dụng trong đồng thuận BABE không phụ thuộc vào đồng hồ trung tâm

Người xác nhận tham gia xổ số ở mọi vị trí (hiện tại là 6 giây), điều này sẽ cho họ biết liệu họ có phải là ứng cử viên sản xuất khối hay không. Xổ số này dựa trên VRF (Chức năng ngẫu nhiên có thể xác minh) mà các trình xác thực sử dụng để tính một số ngẫu nhiên.

Chức năng này cũng được sử dụng để chứng minh rằng trình xác thực số được cung cấp thực sự hợp lệ và do đó nó đủ điều kiện để tham gia xổ số. Trình xác nhận trúng số nếu v <T trong đó v là số ngẫu nhiên của trình xác nhận và T là số do mạng tạo ra. Sau khi xổ số, một số kịch bản thực sự bắt đầu xuất hiện – một người xác nhận chiến thắng, nhiều người xác nhận chiến thắng và cuối cùng là tình huống không có ứng cử viên nhà sản xuất khối.

Các giải pháp khác ngoài VRF

Bên cạnh VRF, có một số cách tiếp cận phổ biến khác để tạo ra sự ngẫu nhiên trong không gian blockchain. Một trong số đó là RANDAO với VDF bổ sung (Verifiable Delay Function- Chức năng trễ có thể xác minh). Nhưng chúng ta hãy giữ chủ đề này cho một số bài báo khác để mô tả nó.

Tại thời điểm này, Ethereum đang sử dụng RANDAO nhưng muốn triển khai VDF vào giao thức trong tương lai.

Suy nghĩ cuối cùng về VRF

Các blockchain PoW (Bằng chứng công việc) gặp khó khăn trong khả năng mở rộng vì mất nhiều thời gian hơn để khai thác khối so với các blockchain PoS (Bằng chứng cổ phần), nơi để khai thác khối với kích thước tương tự như trong PoW có thể chỉ mất vài giây. Do đó, số lượng giao dịch được xử lý mỗi giây thấp hơn.

Các blockchains Proof of Stake (và các loại bắt nguồn từ đó) sử dụng một cách tiếp cận khác và tham gia vào sự ngẫu nhiên như một lựa chọn công bằng và không thể đoán trước của các trình xác thực khối. Điều đó làm cho chúng hiệu quả hơn / hiệu quả hơn và có thể mở rộng. Nhưng bảo mật cần được đảm bảo với lựa chọn ngẫu nhiên công bằng, nếu không, giải pháp khả năng mở rộng trái ngược với mức độ phân quyền.

Xổ số được đánh giá bằng mật mã có thể sử dụng các ưu điểm của nó và chọn một nút có quyền tạo một khối mới hoặc ủy ban bỏ phiếu cho tính hợp lệ của khối này.

Một hàm ngẫu nhiên có thể xác minh (VRF – Verifiable Random Function) là một công cụ có giá trị cho các nhà phát triển blockchain vì nó có thể giúp giải quyết vấn đề với tính ngẫu nhiên thực sự được sử dụng bởi cuộc bầu cử trong một số trường hợp khác nhau như bạn có thể thấy với các ví dụ với Algorand, Cardano, Polkadot và sắp tới là Dfinity. Ngoài ra còn có các giải pháp khác nhau như giải pháp được mô tả với Chainlink VRF với trình tạo số ngẫu nhiên chống giả mạo trên dây chuyền của riêng nó.

Nguồn: hackernoon

Khuyến cáo: Thông tin trên bài viết này chỉ mang tính tham khảo, không có bất kỳ lời khuyên nào về mua bán, đầu tư. Bạn hãy tự nghiên cứu trước khi thực hiện bất kỳ hình thức đầu tư nào.

Nội dung đề xuất