Skip to main content

Thuật toán phân bổ block ngẫu nhiên của Cardano

· 10 min read

Trong mạng Cardano, tính ngẫu nhiên được sử dụng để xác định người chiến thắng, người có quyền đóng một khối mới. Một mật mã nguyên thủy được gọi là Hàm ngẫu nhiên (đã được chứng minh) đã được sử dụng để tìm ra người chiến thắng. Hãy cùng khám phá cách thức hoạt động của cơ chế tinh vi này.

Picture

Ai sẽ là slot leader tiếp theo

Việc lựa chọn node có quyền đóng block tiếp theo phải là ngẫu nhiên. Đồng thời, sự lựa chọn của node phải phản ánh sự tin tưởng được ủy quyền bởi những người tham gia khác trong sự đồng thuận. Trong mạng Cardano, các khối được đóng bởi các pool. Người nắm giữ ADA ủy thác tiền cho pool đã chọn, do đó đã trao sự tin tưởng cho pool đó. Tiền stake của một pool nhất định càng cao, thì nó càng có nhiều khối tiền hơn trong một thời gian nhất định.

Trong mạng Cardano, thời gian được chia thành các slot. Mỗi slot kéo dài 1 giây. Trong mỗi slot, có một lần tính ngẫu nhiên được thực hiện cho mỗi pool một cách tự động và chỉ cần thông tin có sẵn cho node. Tính ngẫu nhiên không yêu cầu bất kỳ kiểm soát trung tâm nào. Giao thức được cố ý thiết lập để tìm ra người chiến thắng khoảng 20 giây một lần. Người chiến thắng được gọi là Slot Leader. Đôi khi có thể xảy ra trường hợp 2 người cùng là Slot Leader trong một vòng, điều này không quan trọng vì có một quy tắc xác định để quyết định khối nào là khối đúng.

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

Một mật mã nguyên thủy được gọi là Hàm ngẫu nhiên có thể xác minh (VRF) được sử dụng để tìm ra slot leader. VRF được giới thiệu bởi Micali, Rabin và Vadhan vào năm 1999 và được sử dụng trong các sơ đồ, giao thức và hệ thống mật mã khác nhau.

Chủ sở hữu của khóa bí mật có thể tính toán giá trị đầu ra cũng như một bằng chứng liên quan cho bất kỳ giá trị đầu vào nào. Mọi người khác, sử dụng bằng chứng và khóa công khai được liên kết (khóa xác minh), có thể kiểm tra xem giá trị đầu ra có thực sự được tính toán chính xác hay không. Tuy nhiên, thông tin này không thể được sử dụng để tìm ra khóa bí mật.

Chúng ta hãy xem cách VRF hoạt động nói chung. VRF cung cấp một bộ ba thuật toán:

  • Keygen (r) → (VK, SK) . Lúc đầu, cần tạo khóa xác minh (VK) và khóa bí mật (SK) dựa trên đầu vào ngẫu nhiên (r).
  • Đánh giá (SK, X) → (Y, ⍴) . Thuật toán đánh giá tạo ra một chuỗi đầu ra giả ngẫu nhiên (Y) và một bằng chứng (⍴) dựa trên hai đầu vào là khóa bí mật (SK) và một thông báo (X).
  • Xác minh (VK, X, Y, ⍴) → 0/1 . Thuật toán xác minh xử lý các kết quả đầu ra của thuật toán đánh giá, cụ thể là kết quả đầu ra là chuỗi (Y) và một bằng chứng (⍴), cùng với thông báo (X) và khóa xác minh (VK), để tạo ra 1 hoặc 0. Đầu ra là 1 nếu và chỉ khi (Y) là đầu ra được tạo ra bởi thuật toán đánh giá với các đầu vào (SK) và (X).

Đầu ra Y là giả ngẫu nhiên và duy nhất. Không thể tìm thấy đầu ra khác cùng với bằng chứng hợp lệ cho một cặp khóa đã cho (VK, SK) và đầu vào X. Đầu ra Y trông ngẫu nhiên cho bất kỳ bên thứ ba nào không thấy bằng chứng liên quan ⍴. Nói cách khác, để xác minh đầy đủ đầu ra Y và phân biệt nó với một đầu ra ngẫu nhiên khác (có thể có cùng giá trị), cần phải có bằng chứng (⍴) mà không thể dễ dàng tạo ra nếu không biết khóa bí mật (SK).

Bên cạnh các bước khác, bất kỳ node nào muốn đăng ký để tạo ra khối, ban đầu phải sử dụng thuật toán VRF Keygen để tạo khóa VRF. Quá trình này tạo ra một khóa bí mật VRF (mà người vận hành phải sao lưu cẩn thận và không được tiết lộ) và một khóa xác minh (được mọi người khác sử dụng để xác minh rằng node đã có được quyền đóng block trong một slot nhất định).

Trong quá trình tính ngẫu nhiên, các node (pool) sử dụng thuật toán Đánh giá VRF mỗi giây để xem liệu họ có quyền rút một khối hay không. Nếu vậy, họ có thể tạo khối và chèn bằng chứng thích hợp vào tiêu đề khối. Nó sẽ được mô tả như sau:

Picture

Trong mạng Cardano, chỉ một node tạo chứng chỉ cần thiết và lưu trữ nó trong chuỗi khối mới có thể tạo ra các khối. Do đó, tất cả các node đều có tất cả thông tin liên quan để xác nhận các khối. Lưu ý rằng thuật toán VRF Verify không yêu cầu khóa bí mật làm đầu vào. Điều này có nghĩa là không ai khác ngoài chủ sở hữu của khóa bí mật có thể trúng số và có thể xuất trình bằng chứng cần thiết để tạo ra một khối hợp lệ.

Picture

Tìm người chiến thắng

VRF Đánh giá thuật toán có nhiều đầu vào. Bên cạnh những người khác, chúng bao gồm ID slot mà tính ngẫu nhiên hiện đang chạy và ⅔ của tất cả đầu ra VRF từ kỷ nguyên trước, từ đó một hash (giá trị) duy nhất được tạo. Hàm hash này còn được gọi là Nonce. Nonce không thể tính toán trước kết quả VRF quá xa.

Mỗi node biết số ngưỡng của nó, bắt nguồn từ kích thước cổ phần mà một pool nhất định có. Số tiền đặt cược càng lớn, ngưỡng càng lớn. Nói cách khác, số ngưỡng tỷ lệ với quy mô cổ phần, bao gồm cổ phần của nhà điều hành và cổ phần của tất cả các đại biểu. Số tiền đặt cược càng lớn, pool sẽ tạo ra càng nhiều khối trong một kỷ nguyên nhất định.

Cổ phần của các pool có thể thay đổi theo nghĩa đen với mọi khối. Ouroboros PoS chụp ảnh nhanh chuỗi khối cứ 5 ngày một lần và tính đến slot leader số tiền đặt cược đang hoạt động (hợp lệ) trong quá trình chụp nhanh. Số tiền đặt cược đang hoạt động có thể khác với số tiền đặt cược hiện tại (Tiền stake trực tiếp).

Mỗi giây, mỗi pool thực hiện thuật toán Đánh giá VRF và so sánh đầu ra VRF (đầu ra Y) với ngưỡng và nếu đầu ra Y nhỏ hơn ngưỡng, pool có quyền tạo một khối mới.

Picture

Khi node nhận thấy rằng nó đã trở thành slot leader, nó tạo ra một khối mới và chèn các bằng chứng VRF vào tiêu đề khối.

Picture

Bất kỳ node nào khác trong mạng đều sử dụng thuật toán VRF Verify để xác minh rằng khối là hợp lệ theo như nhà sản xuất khối có liên quan. Các bằng chứng VRF có trong khối đề xuất được sử dụng để xác nhận.

Ngoài các bằng chứng VRF, khối phải được ký bằng khóa KES (Key Evolving Signature cryptography). Đây là cấp độ bảo mật tiếp theo để nếu kẻ tấn công có thể bằng cách nào đó phá vỡ hoạt động của VRF, họ vẫn không có khóa KES của người điều hành để ký các khối.

Ưu điểm của VRF

Ưu điểm của VRF là các khối có thể được tạo thường xuyên hơn trong mạng, không cần tiêu tốn quá nhiều năng lượng như trong mạng PoW. Một trong những tính năng chính của PoW cũng liên quan đến tính ngẫu nhiên. Trong mỗi vòng, tất cả các pool đấu tranh với nhau để xem ai có thể giải quyết một vấn đề mật mã tiêu tốn nhiều năng lượng hơn. Trong cuộc cạnh tranh này, tính ngẫu nhiên đóng một vai trò quan trọng. Tương tự như Ouroboros PoS, trong PoW tỷ lệ hash được ủy quyền cho một pool nhất định càng lớn, pool đó càng có nhiều khả năng thành công trong tính ngẫu nhiên. Trong mạng Cardano, tỷ lệ hash được thay thế bằng tiền ADA.

Một ưu điểm khác là đầu ra Y có thể được sử dụng để quyết định khối nào là khối phù hợp trong trường hợp xảy ra fork (slot battles). Đơn giản chỉ cần lấy khối có giá trị đầu ra Y thấp hơn. Trong mỗi vòng, ngay cả trong trường hợp rẽ nhánh, tất cả các node đều biết chuỗi nào là chuỗi chính xác. Chỉ cần áp dụng quy tắc chuỗi dài nhất và sử dụng khối có đầu ra thấp hơn Y trong trường hợp fork (phân nhánh).

Picture

Khi fork xảy ra trong mạng PoW, bạn không biết khối nào sẽ vẫn còn trong blockchain và khối nào sẽ bị tách biệt cho đến khi toàn bộ mạng lưới thêm vào một vài khối nữa. Khi đó, quy tắc chuỗi dài nhất được sử dụng.

Trong mạng PoW, người ta cho rằng việc tạo lại các khối lịch sử là rất tốn kém và không khả thi về hiệu quả kinh té. Đối với Ouroboros PoS, người ta cho rằng không ai có thể tạo khối ngoại trừ người sở hữu các khóa riêng cần thiết. Trong khi bảo mật PoW phụ thuộc vào việc tiêu thụ tài nguyên vật lý, PoS phụ thuộc nhiều hơn vào sự trung thực của các SPO không cố ý sao lưu khóa của họ. Đồng thời, sự phân quyền cũng được chú trọng nhiều hơn, vì khi sự phân cấp ngày càng tăng, số lượng nhà khai thác nắm giữ các khóa riêng cũng tăng lên cùng một lúc. Nếu các nhà khai thác pool, nắm giữ hơn một nửa cổ phần, cố tình xóa các khóa, thì về cơ bản là không thể ghi lại lịch sử của chuỗi khối Cardano.

Kết luận

VRF đã được tạo ra cách đây hơn 20 năm vì vậy nó là một công cụ mật mã đáng tin cậy. Ngoài Cardano, nó cũng được sử dụng trong dự án Algorand. Tại thời điểm viết bài, VRF đã hoạt động rất đáng tin cậy trong mạng Cardano được hơn 2 năm và tham gia vào việc lựa chọn slot leader. Trong tương lai, VRF sẽ không chỉ được sử dụng để thu hút slot leader mà còn cho cả Input Endosers. Điều này không thể thực hiện được với PoW, vì tỷ lệ hash sẽ phải được chia nhỏ.

Nguồn bài viết tại đây.


Picture