Vai trò quan trọng của sự ngẫu nhiên thực trong Blockchain và Web3
TỔNG QUAN SỰ NGẪU NHIÊN
Thuật ngữ “ngẫu nhiên” đề cập đến việc thiếu mô hình hoặc khả năng dự đoán. Trong khi các kết quả không thể đoán trước có rất nhiều trong tự nhiên thì điều tương tự không thể có được với sự ngẫu nhiên do máy tính tạo ra.
Nếu một dãy được xác định là ngẫu nhiên, thì dãy đó phải có các tính chất sau:
- Không thể đoán trước: Kết quả phải không thể biết trước.
- Không lệch: Mỗi kết quả phải có khả năng như nhau.
- Có thể chứng minh: Kết quả phải được xác minh một cách độc lập.
- Bằng chứng - Giả mạo: Quá trình tạo ra sự ngẫu nhiên phải chống lại sự thao tác của bất kỳ thực thể nào.
- Không thể tái tạo: Quá trình tạo ra tính ngẫu nhiên không thể được tái tạo trừ khi dãy ban đầu được bảo toàn.
Máy tính là một thiết bị có thể dự đoán được với các mạch, thành phần thiết lập trước, một bộ mã và thuật toán đã được xác định, giúp cho việc dự đoán đầu ra hoặc chuỗi số ngẫu nhiên do máy tính tạo ra có thể thực hiện được trong các điều kiện cố định. Một máy tính phải luôn tạo ra một đầu ra nhất định với cùng một đầu vào. Do đó, máy tính có thể không thể tạo ra các điều kiện ngẫu nhiên và các số ngẫu nhiên thực sự.
Để vượt qua giới hạn này, các bộ tạo số ngẫu nhiên (RNG) sử dụng một mầm là giá trị đầu vào của tính toán. Mầm có thể được tạo ra dựa trên các dữ liệu như một bức ảnh, thời gian trong ngày hay chuyển động chuột của người dùng. Tuy quá trình tạo số ngẫu nhiên rất khó để tái tạo, điều đó không có nghĩa là việc tái tạo nó là không thể về mặt kỹ thuật. Nếu kết hợp nhiều phương pháp tạo mầm khó lặp lại, kết quả thu được có thể coi là tương đối đáng tin cậy. Nhưng nếu cùng một phương pháp toán học được sử dụng khi tạo ra các mầm khác nhau, kết quả sẽ không thực sự ngẫu nhiên.
CÁC BỘ TẠO SỐ GIẢ NGẪU NHIÊN VÀ CÁC BỘ TẠO SỐ NGẪU NHIÊN THỰC
Chúng ta có thể chia các bộ tạo số ngẫu nhiên thành hai loại: bộ tạo số giả ngẫu nhiên (PRNG) và bộ tạo số ngẫu nhiên thực (TRNG).
PRNG là một tập hợp các thuật toán sử dụng các công thức toán học để tạo ra một chuỗi ngẫu nhiên bắt chước các số ngẫu nhiên thực sự. Vì máy tính là hệ thống riêng biệt, các con số có thể xuất hiện ngẫu nhiên đối với những người quan sát là con người, nhưng chúng có thể chứa các thuật toán rõ ràng có thể được tiết lộ thông qua phân tích thống kê mở rộng.
TRNG sử dụng các nguồn vật lý không thể đoán trước để tạo ra các số ngẫu nhiên dựa trên các hiện tượng xảy ra tự nhiên. Khi TRNG “trích xuất” tính ngẫu nhiên từ các hiện tượng vật lý, chúng được coi là tạo ra tính ngẫu nhiên mạnh hơn (khó đoán hơn) so với máy tính. Mặc dù vậy, thông tin TRNG sử dụng cũng có thể mang tính tất định.
TRNG có thể tạo ra các chuỗi ngẫu nhiên có ít khả năng bị tiết lộ chứa các mẫu rõ ràng, chúng tốn kém chi phí hơn PRNG, khiến TRNG không thực tế đối với các trường hợp sử dụng thông thường. PRNG cũng có một lợi ích chính khác so với TRNG là khả năng tái tạo. Người quan sát có thể tái tạo cùng một dãy số nếu họ biết điểm bắt đầu của dãy số, giúp việc xác minh quá trình tạo số ngẫu nhiên có thể thực hiện được, đây là một khía cạnh hữu ích cho nhiều ứng dụng Web3 kết hợp tính ngẫu nhiên.
TÍNH NGẪU NHIÊN ĐỐI VỚI BLOCKCHAIN
Tính ngẫu nhiên an toàn làm cơ sở cho nền tảng của mật mã được sử dụng trong Blockchain. Các hàm băm mật mã là một thành phần thiết yếu trong việc tạo khóa riêng cho ví tiền điện tử, đảm bảo tính bí mật cho khóa riêng của một ví. Theo ước tính, số lượng tổ hợp khóa riêng có thể có trong SHA-256 (hàm băm được sử dụng trong giao thức Bitcoin) gần với số nguyên tử ước tính trong vũ trụ có thể quan sát được.
Sự đồng thuận phân tán về cơ bản bị hạn chế bởi số lượng tin nhắn có thể được gửi trong một khoảng thời gian (thông lượng) và thời gian để một tin nhắn được gửi qua mạng (độ trễ). Trong một chuỗi khối với hàng nghìn người tham gia cần đi đến thỏa thuận, một nút cần gửi thông điệp đến tất cả các nút khác sẽ không thực tế.
Để giới hạn số lượng tin nhắn cần được gửi để đạt được sự đồng thuận, Bitcoin sử dụng thuật toán Proof of Work (PoW) như một nguồn ngẫu nhiên xác định khối nào được thêm vào Blockchain. Vì các công cụ khai thác đang cạnh tranh nên để thêm thành công một khối vào chuỗi sẽ rất khó, xác suất nhiều nút giải câu đố cùng một lúc là thấp, hạn chế số lượng thông báo cần thiết để mạng đạt được sự đồng thuận.
Tính ngẫu nhiên cũng thường được sử dụng thuật toán Proof[1]of-Stake (PoS) để củng cố việc phân bổ công bằng và không thể đoán trước được các trách nhiệm của người xác nhận. Nếu một tác nhân độc hại có thể ảnh hưởng đến nguồn ngẫu nhiên được sử dụng trong quá trình lựa chọn, chúng có thể làm tăng cơ hội được chọn và ảnh hưởng đến tính bảo mật của mạng.
Do tính minh bạch của Blockchain, tất cả đầu vào và đầu ra đều được hiển thị cho những người tham gia hệ thống, có khả năng làm cho các chuỗi được tạo ngẫu nhiên có thể dự đoán được. Ví dụ: Nếu người khai thác xác thực quan tâm đến một kết quả cụ thể được quyết định bởi một giá trị hoặc chuỗi ngẫu nhiên, thì nhà sản xuất khối có thể tác động đến việc tạo ra các chuỗi ngẫu nhiên bằng cách không xuất bản các khối có thể gây bất lợi cho họ, về cơ bản là tung lại xúc xắc cho đến khi có kết quả thuận lợi cho họ xuất hiện.
Các giải pháp RNG ngoài chuỗi không rõ ràng, đòi hỏi người dùng phải tin tưởng rằng nhà cung cấp dữ liệu tập trung sẽ không thao túng kết quả vì lợi ích cá nhân, không có cách nào để người dùng phân biệt giữa ngẫu nhiên thực sự hay bị thao túng.
TÍNH NGẪU NHIÊN TRONG CÁC ỨNG DỤNG WEB3
Các ứng dụng Web3 cũng như các các trò chơi được xây dựng trên nền tảng Blockchain (NFT) đều yêu cầu một nguồn ngẫu nhiên an toàn để tạo ra các kết quả công bằng và không thể đoán trước. Vì các hệ thống này có thể tích lũy một lượng đáng kể giá trị trong thế giới thực, các kết quả khai thác được từ các giải pháp ngẫu nhiên dưới mức tối ưu có thể dẫn đến sự bất cân xứng thông tin và lợi thế không công bằng cho một nhóm nhỏ những người tham gia. Các kịch bản này thường tạo ra các vòng phản hồi tiêu cực dẫn đến sự mất cân bằng quyền lực trong tương tác và dẫn đến sự thất bại hoàn toàn của các cơ chế kinh tế và lý thuyết trò chơi được thiết kế.
Để truy cập vào một nguồn ngẫu nhiên có khả năng chống giả mạo, không thể đoán trước và có thể kiểm tra được bởi tất cả những người tham gia không phải là một điều dễ dàng. Khả năng truy cập nguồn ngẫu nhiên công bằng và không thiên vị theo cách an toàn có thể xác minh được, mở ra rất nhiều trường hợp sử dụng mới trong trò chơi Blockchain, NFT, quản trị phi tập trung, truyền thông xã hội Web3,...
Hình 1. Quy trình Chainlink VRF sử dụng tính toán ngoài chuỗi và mật mã để tạo ra một nguồn ngẫu nhiên chống giả mạo
Hàm ngẫu nhiên có thể xác minh - Chainlink VRF
Chainlink VRF là giải pháp RNG tiêu chuẩn, cho phép các hợp đồng thông minh và hệ thống ngoài chuỗi truy cập vào nguồn ngẫu nhiên có thể xác minh bằng cách sử dụng tính toán và mật mã ngoài chuỗi. VRF kết hợp dữ liệu khối vẫn chưa được biết bao gồm yêu cầu được thực hiện với khóa riêng cam kết trước của nút oracle để tạo ra cả số ngẫu nhiên và bằng chứng mật mã. Ứng dụng tiêu thụ sẽ chỉ chấp nhận đầu vào số ngẫu nhiên nếu nó có bằng chứng mật mã hợp lệ và bằng chứng mật mã chỉ có thể được tạo nếu đáp ứng quy trình VRF chống giả mạo.
Chainlink VRF cung cấp một số tính năng quan trọng khiến nó trở thành tiêu chuẩn công nghiệp, chẳng hạn như:
- Không thể đoán trước: Không ai có thể dự đoán được tính ngẫu nhiên do Chainlink VRF tạo ra vì dữ liệu khối là không xác định tại thời điểm yêu cầu tính ngẫu nhiên.
- Công bằng: Số ngẫu nhiên được tạo 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.
- Có thể xác minh: Chainlink VRF thông qua xác minh trên chuỗi của bằng chứng mật mã.
- Chống giả mạo: Các tác nhân không thể can thiệp vào quá trình tạo số ngẫu nhiên. Nếu quy trình VRF bị giả mạo, nút không thể tạo ra bằng chứng mật mã hợp lệ và hợp đồng thông minh sẽ không chấp nhận đầu vào số ngẫu nhiên.
- Trong suốt: Nhờ mã nguồn mở, người dùng có thể xác minh quá trình tìm nguồn cung ứng ngẫu nhiên.
TÀI LIỆU THAM KHẢO [1]. Breidenbach, Lorenz, et al. "Chainlink 2.0: Next steps in the evolution of decentralized oracle networks." Chainlink Labs 1 (2021): 1-136. [2]. Ezzat, Shahinaz Kamal, Yasmine NM Saleh, and Ayman A. Abdel-Hamid. "Blockchain oracles: State-of-the-art and research directions." IEEE Access 10 (2022): 67551-67572. [3]. Kaleem, Mudabbir, and Weidong Shi. "Demystifying pythia: A survey of chainlink oracles usage on ethereum." Financial Cryptography and Data Security. FC 2021 International Workshops: CoDecFin, DeFi, VOTING, and WTSC, Virtual Event, March 5, 2021, Revised Selected Papers 25. Springer Berlin Heidelberg, 2021. [4]. Bauer, Davi Pedro. "Chainlink." Getting Started with Ethereum: A Step-by[1]Step Guide to Becoming a Blockchain Developer. Berkeley, CA: Apress, 2022. 107-118. [5]. Ezzat, Shahinaz Kamal, Yasmine NM Saleh, and Ayman A. Abdel-Hamid. "Blockchain oracles: State-of-the-art and research directions." IEEE Access 10 (2022): 67551-67572. |
ThS. Hoàng Đình Linh (Viện Khoa học - Công nghệ mật mã)