Skip to main content

Ouroboros Genesis: tăng cường bảo mật

Ngày 14 tháng 02 năm 2023

Ouroboros Genesis đến với Cardano vào năm 2023. Tính năng chính của Genesis là cho phép người tham gia tham gia mạng một cách an toàn mà không cần phải tin tưởng vàocác đối tác đã chọn để cung cấp ảnh chụp nhanh chính xác về trạng thái blockchain hiện tại.

Ouroboros Genesis là một giao thức blockchain bằng chứng cổ phần (PoS) mở rộng tiền thân của nó – Ouroboros Praos .

Trước tiên, chúng ta hãy nhớ lại rằng Ouroboros là một giao thức PoS kiểu Nakamoto với khả năng phục hồi tích hợp sẵn đối với sự tham gia có khả năng biến động mạnh. Điều này có nghĩa là nó có khả năng phục hồi trước nhiều thách thức có thể phát sinh như: các sự cố mạng, cấu hình sai của các node hoặc điều kiện chạy đua có thể gây ra thời gian ngừng hoạt động của node. Ouroboros được chứng minh là an toàn miễn là số cổ phần đang hoạt động nằm trong tay những kẻ tấn công < 50%. Và ngay cả khi giả định này tạm thời bị vi phạm, Ouroboros sẽ nhanh chóng tự phục hồi sau khi tình trạng đa số trung thực được khôi phục. Một bài báo nghiên cứu năm 2020 của IOG phân tích tình huống này.

Một câu hỏi quan trọng và thường bị bỏ qua trong các hệ thống PoS động từ lâu là: làm thế nào các bên có thể tham gia hoặc tham gia lại hệ thống một cách an toàn với cùng một giả định bảo mật – và đặc biệt là không cần dựa vào các đối tác đáng tin cậy cung cấp phiên bản chính xác của blockchain hiện tại? Câu hỏi này đã được coi là một nhược điểm lớn đối với các hệ thống PoS – cho đến khi một bài báo nghiên cứu năm 2018 của IOG đề xuất một giải pháp cho vấn đề này. Bài đăng này giải thích tầm quan trọng và ý tưởng chính đằng sau Genesis.

Tầm quan trọng của tính khả dụng động

Tính khả dụng động (dynamic availability) trong cài đặt blockchain có thể được coi là thuộc tính cho phép các node tạo khối hoạt động trực tuyến và ngoại tuyến mà không cần thông báo trước. Đồng thời, hệ thống vẫn hoạt động cho mọi cấp độ tham gia và vẫn an toàn miễn là (trong số các node đang hoạt động) sơ hữu hơn 50% tài nguyên, chẳng hạn như là "sức mạnh tính toán" với mạng Bitcoin hoặc "cổ phần" trong mạng Cardano được kiểm soát bởi những người tham gia trung thực. Cơ chế đồng thuận, với mục đích là đưa tất cả các node vào thỏa thuận, sử dụng các tài nguyên đó để bầu ra các nhà lãnh đạo có quyền mở rộng blockchain bằng một khối chứa các giao dịch hợp lệ.

Trong bối cảnh này, tính khả dụng động mang lại sự sống động cho mạng nâng cao và rất cần thiết cho một hệ thống phi tập trung thực sự, vì không phải tất cả các node đều có thể được coi là trực tuyến liên tục. Tuy nhiên, để hoàn thành câu chuyện này, các node phải có khả năng dễ dàng tham gia trở lại vào hệ thống, chỉ bằng cách quan sát mạng và biết khối gốc. Bất kỳ giả định tin cậy nào khác, như yêu cầu đối với các trạm kiểm soát được phục vụ bởi các đối tác đáng tin cậy, đều đi ngược lại tầm nhìn về phân quyền.

Vào năm 2018, nghiên cứu của IOG đã trình bày và phân tích thuật toán Ouroboros Genesis có thể đáp ứng các yêu cầu trên trong một mô hình mật mã mạnh mẽ. Thuật toán Genesis về cơ bản là Praos, với quy tắc lựa chọn chuỗi mới được bổ sung cho phép các bên tham gia và khởi động blockchain một cách an toàn mà không cần lời khuyên đáng tin cậy hoặc bất kỳ trợ giúp nào khác như kiến ​​thức về tính khả dụng trong quá khứ.

Đảm bảo an toàn thông qua quy tắc lựa chọn chuỗi

Genesis có cấu trúc tương tự Ouroboros Praos. Trên thực tế, xét trường hợp tất cả các bên luôn sẵn sàng, hai giao thức hoạt động giống hệt nhau. Tuy nhiên, khi nói đến tính khả dụng động, các bên mới tham gia cần tìm lời khuyến nghị từ các node khác trong Praos: để có thể mở rộng chuỗi dài nhất một cách an toàn. Những người mới ra nhập lại mạng lưới trước tiên phải tìm được chính xác sổ cái hiện tại nào là đúng, ví dụ: có thể bằng cách hỏi các đối tác (node khác) đáng tin cậy. Nếu kẻ tấn công có thể cung cấp một chuỗi giả mạo cho những người mới đó, thì kẻ tấn công có thể ngăn họ tham gia và đóng góp vào hiệu suất và bảo mật của hệ thống. Vậy, làm thế nào Genesis tránh được những lời khuyên không đáng tin cậy như vậy? Sự đổi mới kỹ thuật chính là nằm trong quy tắc lựa chọn chuỗi mới.

Nói một cách đơn giản, hãy nghĩ về lựa chọn chuỗi như một bộ lọc. Bộ lọc này, khi được hiển thị với tất cả các blockchain được quan sát trên mạng, sẽ phát hiện blockchain nào hữu ích nhất cho hệ thống. Về nguyên tắc, theo sự đồng thuận của Nakamoto, cách tiếp cận là đi theo chuỗi dài nhất. Mặc dù điều này tốt cho Bitcoin, nhưng trong trường hợp của PoS, quy tắc chuỗi dài nhất đơn giản không phải là một ý tưởng hay: một kẻ tấn công có thể rẽ nhánh từ một chuỗi trung thực và tiếp tục tạo các khối một cách riêng tư. Sau một khoảng thời gian đáng kể (theo thứ tự vài kỷ nguyên), kẻ tấn công về cơ bản sẽ là cổ đông lớn nhất trong chuỗi riêng tư của chính anh ta và do đó có thể tạo ra một khối nhanh hơn nhiều so với chuỗi trung thực, cuối cùng chuỗi không trung thực lại có thể dài hơn. Các thuật toán PoS khác ngăn chặn việc bị lừa vào một chuỗi bất lợi như vậy bằng cách đưa ra các điểm kiểm tra luân phiên mà tất cả các chuỗi cần phải tuân thủ. Như đã đề cập ở trên, việc giới thiệu các trạm kiểm soát như vậy vẫn có nhược điểm là các bên tham gia cần có lời khuyên từ một bên đáng tin cậy.

Vậy thì cái gì có thể làm khác được? 

Một điều quan trọng cần nhận thấy là bất cứ khi nào một kẻ tấn công nào khi tách khỏi một chuỗi trung thực và cố gắng phát triển chuỗi đó một cách riêng tư, thì kẻ tấn công đó không thể tránh khỏi thực tế là bất kỳ chuỗi riêng nào như vậy đều có một phân đoạn vị trí ban đầu, ngay sau điểm rẽ nhánh, mật độ block sẽ ít hơn (có ít khối hơn) so với chuỗi mà những người tham gia trung thực tạo ra tại điểm rẽ nhánh chuỗi đó. Điều này có thể được tận dụng để phân biệt chuỗi tốt với chuỗi xấu và do đó cũng để loại bỏ các điểm kiểm tra luân phiên cổ điển như mô tả bên trên bằng cách đưa ra một quy tắc lựa chọn chuỗi mới.

Giả sử một người mới bắt đầu từ khối Genesis làm chuỗi ban đầu. Bất cứ khi nào một chuỗi mới được tìm thấy trên mạng lưới, người mới này sẽ so sánh chuỗi được tổ chức cục bộ với chuỗi mới theo mật độ trong phân khúc cụ thể đó sau khi hai chuỗi bắt đầu rẽ nhánh từ nhau. Người mới chỉ chấp nhận chuỗi mới nếu nó mật độ block dày đặc hơn (nhiều hon) tại điểm rẽ nhánh đó và tiếp tục lặp lại quy trình này với các chuỗi mới nhận khác. Theo quan sát ở trên, có thể kết luận rằng khi người mới tình cờ quan sát thấy chuỗi thực tế được hỗ trợ bởi phần lớn cổ phần trung thực đang hoạt động trong mạng, thì chuỗi này sẽ được chấp nhận. Do đó, người mới tham gia khóa trạng thái của blockchain chính xác như những người tham gia đã hoạt động khác làm.

Để có lập luận kỹ thuật hoàn chỉnh, hãy tham khảo tài liệu nghiên cứu năm 2018 và xem phần trình bày về Ouroboros Genesis của Aggelos Kiayias.

Tóm lại, quy tắc lựa chọn chuỗi cho phép Ouroboros xử lý liền mạch các thay đổi về số lượng bên đang hoạt động theo cách phi tập trung bằng cách khởi động từ khối Genesis và giữ an toàn, miễn là những người tham gia trung thực nắm giữ phần lớn cổ phần đang hoạt động.

Khi nào Genesis sẽ ra mắt trên Cardano?

Cardano hiện đang chạy trên Ouroboros Praos và các nhóm đã làm việc để thiết kế lại sự đồng thuận. Có một nguyên mẫu Genesis đang hoạt động một phần, đang được điều chỉnh để đạt được hiệu suất và được kiểm tra để tìm các hướng tấn công mới. Các nhóm cũng đã làm việc để triển khai độc lập logic ngắt kết nối Genesis, đây là thành phần chính của quá trình triển khai. Logic này hiện đang trong quá trình thử nghiệm và yêu cầu các nỗ lực tích hợp bổ sung.

Nếu bạn quan tâm đến quá trình phát triển, hãy xem lộ trình Genesis này. Để theo dõi, hãy theo dõi các cập nhật kỹ thuật từ nhóm đồng thuận và các kênh truyền thông IOG .

Olga Hryniuk đã đóng góp cho bài đăng trên blog này.

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


Picture


Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới