Skip to main content

Ouroboros Genesis sẽ làm cho Cardano an toàn hơn các giao thức PoS khác

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

Ouroboros Genesis: Đưa Cardano đến gần hơn với mức độ bảo mật của Bitcoin

Pic

Ouroboros Genesis là một bản nâng cấp rất được mong đợi cho giao thức đồng thuận của Cardano. Bản cập nhật này cho giao thức Ouroboros Praos hiện tại được thiết kế để giải quyết các vấn đề về Nhân bản chi phí thấp và vấn đề bootstrapping, đồng thời giảm thiểu mối đe dọa của các cuộc Tấn công "chuỗi dài" trong môi trường mở, phi tập trung. Không có blockchain PoS hiện tại nào có các khả năng này.

Vì vậy, hãy bắt đầu từ những điều cơ bản để hiểu chủ đề này từ góc độ nguyên tắc cốt lõi!

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

Pic

Nguồn trích dẫn

Bitcoin sử dụng một sổ cái giao dịch bất biến với các đảm bảo bảo mật mạnh mẽ thông qua bằng chứng công việc (PoW). Việc sử dụng bằng chứng công việc (PoW), cung cấp mức độ bảo mật cao thông qua các hàm hash mật mã và cho phép cấu trúc mạng lưới phi tập trung cho phép tính khả dụng động. 

Mặc dù đảm bảo an ninh mạnh mẽ, việc áp dụng rộng rãi Bitcoin đã làm nổi bật một số hạn chế nghiêm trọng, đặc biệt là về hiệu quả năng lượng và khả năng kết hợp.

Sự kém hiệu quả của Proof-of-Work và những hạn chế của khả năng kết hợp

PoW dựa trên một hệ thống giải câu đố ngày càng trở nên khó khăn khi có nhiều bên tham gia mạng lưới. Điều này có nghĩa là càng nhiều người muốn tham gia vào Bitcoin thì càng cần nhiều sức mạnh tính toán để bảo mật mạng lưới. Điều này dẫn đến nhu cầu năng lượng ngày càng tăng và đã trở thành mối quan tâm lớn đối với tương lai của mạng lưới. 

Các vấn đề về khả năng kết hợp đề cập đến khả năng của các giao thức hoặc hệ thống khác nhau hoạt động cùng nhau một cách liền mạch mà không gây ra hậu quả ngoài ý muốn hoặc phá vỡ chức năng dự kiến ​​của chúng. Với các hệ thống blockchain bằng chứng công việc (PoW) như Bitcoin, các vấn đề về khả năng kết hợp có thể phát sinh khi các giao thức hoặc hệ thống khác dựa vào việc giải quy trình giải câu đố mật mã giống như quy trình khai thác Bitcoin. Điều này có thể dẫn đến việc một người khai thác có khả năng nhân đôi nỗ lực của họ bằng cách sử dụng cùng một truy vấn hash cho cả giao thức khác và cho cả Bitcoin. Điều này có thể dẫn đến sự thiếu hiệu quả và các lỗ hổng bảo mật tiềm ẩn trong toàn bộ hệ thống.

Proof of Stake (PoS) như một giải pháp thay thế 

Do những hạn chế này của PoW, việc tìm kiếm một cơ chế thay thế đã được thực hiện để bảo mật sổ cái và cải thiện hiệu quả của mạng lưới. Điều này dẫn đến sự ra đời của các hệ thống bằng chứng cổ phần (PoS), sử dụng tài nguyên ảo (stake) thay vì tài nguyên vật lý (sức mạnh hash) để bảo mật mạng lưới. 

Pic

Nguồn trích dẫn

Các hệ thống PoS dựa trên ý tưởng rằng, thay vì yêu cầu sức mạnh tính toán để mở rộng blockchain, các bên có cơ hội để làm như vậy tùy theo số lượng tiền mà họ sở hữu. Điều này có khả năng cải thiện khả năng mở rộng và hiệu quả năng lượng trong khi vẫn duy trì các tính năng bảo mật cơ bản của sổ cái giao dịch mạnh mẽ. 

Một số đề xuất dựa trên PoS đã được phát triển theo thời gian với các bằng chứng bảo mật chính thức chứng minh rằng chúng đạt được một tập hợp các thuộc tính mong muốn được xác định rõ ràng. Mặc dù PoS có khả năng cải thiện hiệu quả và khả năng mở rộng của mạng lưới, nhưng nó đi kèm với một số sự đánh đổi. Đặc biệt, các giao thức này có thể hạn chế tính khả dụng động của những node tham gia so với các hệ thống dựa trên PoW.

Vậy tính khả dụng động là gì?

Tính khả dụng động (dynamic availability) đề cập đến khả năng duy trì khả năng truy cập và sử dụng của hệ thống ngay cả khi các điều kiện thay đổi, chẳng hạn như số lượng người dùng ngày càng tăng hoặc các thay đổi về điều kiện mạng lưới. Trong một hệ thống sẵn sàng động, tài nguyên và khả năng có thể được điều chỉnh hoặc cấu hình lại trong thời gian thực để đáp ứng nhu cầu thay đổi. Điều này cho phép hệ thống luôn sẵn sàng và sử dụng được ngay cả khi các điều kiện thay đổi, thay vì trở nên không khả dụng hoặc không đáng tin cậy.

Tính khả dụng động trong ngữ cảnh của Bitcoin đề cập đến khả năng các bên (node) tham gia hoặc rời khỏi mạng lưới một cách linh hoạt, thay đổi liên tục mà không làm gián đoạn hoạt động chung của mạng lưới. 

Điều này có thể thực hiện được nhờ mạng lưới có khả năng tự động điều chỉnh sức mạnh tính toán của nó để duy trì mức độ bảo mật nhất quán và ổn định bất chấp những thay đổi về số lượng node tham gia và sức mạnh tính toán của chúng.

Khi có nhiều node tham gia vào mạng lưới và tăng thêm sức mạnh tính toán, độ khó của các bài toán này sẽ tăng lên và ngược lại, đảm bảo rằng mạng lưới vẫn an toàn và linh hoạt trước các tác nhân độc hại. Do đó, mạng lưới Bitcoin có tính sẵn sàng động, vì nó có thể thích ứng với các điều kiện thay đổi và duy trì tính bảo mật và ổn định theo thời gian.

Hiện tại, không có hệ thống blockchain PoS nào có khả năng cung cấp tính khả dụng động. Để hiểu điều này, chúng ta cần tìm hiểu sâu hơn về hoạt động của PoW.

Hiểu các nguyên tắc cơ bản của Proof-of-Work (PoW)

PoW sử dụng các tài nguyên tính toán, cụ thể là quá trình hash, để tạo ra các khối mới. 

Có nghĩa là việc thêm một khối vào blockchain Bitcoin yêu cầu sử dụng sức mạnh xử lý, dẫn đến tiêu thụ năng lượng cho mỗi khối được thêm vào chuỗi.

Pic

Nguồn trích dẫn

Độ khó của việc sản xuất một chuỗi tăng theo chiều dài của nó, khiến cho việc sản xuất các khối trở nên tốn kém về mặt tính toán. 

Pic

Nguồn trích dẫn

Có nghĩa là việc thêm các khối vào blockchain yêu cầu sức mạnh xử lý, do đó, blockchain dài hơn sẽ sử dụng nhiều năng lượng hơn và các node sẽ luôn chọn nó thay vì blockchain ngắn hơn. 

Pic

Nguồn trích dẫn

Chi phí này, ở dạng chi phí điện, ngăn chặn các node không trung thực tạo ra nhiều khối khác nhau. Do đó, các node sẽ luôn sử dụng chuỗi tiêu thụ nhiều năng lượng nhất, thường được gọi là “chuỗi dài nhất”. 

Điều này giúp các node mới tham gia hệ thống dễ dàng chọn chuỗi trung thực hơn, từ đó cho phép mạng lưới (người xác thực) tham gia và rời khỏi mạng lưới bất kỳ lúc nào. Nói tóm lại, điều này cho phép tính khả dụng động của mạng lưới Bitcoin.

Những hạn chế cơ bản của giao thức PoS

Các giao thức Proof of Stake, mặc dù được coi là tiết kiệm năng lượng hơn so với Proof of Work, nhưng đi kèm với các mối quan tâm về bảo mật độc đáo của riêng chúng. Trong số này có vấn đề Nothing at Stake / Nhân bản chi phí thấp (costless simulation). 

Vì không cần tài nguyên vật lý để tạo khối trong PoS, nên có thể xây dựng lịch sử thay thế của blockchain và tạo nhiều chuỗi cạnh tranh miễn phí, không giống như trong PoW nơi chi phí năng lượng phải phát sinh cho mỗi chuỗi cạnh tranh. 

Nothing at Stake / Nhân bản chi phí thấp 

Pic

Nguồn trích dẫn

Vấn đề Nothing at Stake, còn được gọi là Nhân bản chi phí thấp, xảy ra khi nhà sản xuất khối buộc phải lựa chọn khi hệ thống tồn tại cùng lúc hai chuỗi nhánh A và B của một blockchain. Và họ đi đến quyết định hoạt động trên cả hai thay nhánh thay vì chỉ chọn một nhánh. (Chủ giải: Vì họ không có gì để mất, nên được gọi là Nothing at Stake)

Nhà sản xuất khối làm điều này vì họ sẽ có phần thưởng ​​cao hơn (vì nhận thưởng từ cả hai chuỗi cùng lúc) và không sẽ có chuỗi nhánh nào chứa cổ phần lớn hơn, dẫn đến mạng lưới không đạt được sự đồng thuận về nhánh nào là nhánh chính tắc. (Được gọi là Hardfork - phân nhánh)

Tấn công "chuỗi dài" (Long-Range Attacks)

Pic

Nguồn trích dẫn

Long-Range Attacks là một loại tấn công trong đó trình xác thực không phải chịu rủi ro mất mát do hành vi sai trái. Kẻ tấn công xây dựng một chuỗi dài bằng cách rẽ nhánh từ một điểm trước đó trong blockchain chính và tiếp tục thêm các khối mới vào chuỗi này. Điều này gây khó khăn cho những node tham gia mới trong việc xác định chuỗi nào sẽ là chuối chính. 

Để giảm thiểu điều này, các trạm kiểm soát được thiết lập dọc theo blockchain. Các khối đáng tin cậy được chỉ định là điểm kiểm tra và bất kỳ nhánh rẽ nào bắt đầu trước điểm kiểm tra đều được coi là không hợp lệ. 

Tuy nhiên, đối với những node tham gia mới hoặc những người xác thực đã offline trong một khoảng thời gian, có thể khó xác định chuỗi dài nhất, khiến họ dễ bị tham gia vào một chuỗi đã bị phân nhánh. Điều này dẫn đến “Vấn đề Bootstrapping”.

Về cơ bản, Sự cố Bootstrapping đề cập đến vấn đề trình xác thực mới tham gia mạng lưới và có khả năng tham gia chuỗi độc hại, làm tăng tính dễ bị tấn công của mạng lưới trước các cuộc Tấn công "chuỗi dài".

Cách các giao thức PoS-BFT (Ethereum, Algorand, v.v.) cố gắng giải quyết vấn đề Costless Simulation

Trong các giao thức PoS BFT, sự đồng thuận đạt được giữa các node chạy giao thức trên tất cả các khối, loại bỏ sự xuất hiện của các nhánh, vì mỗi khối được tạo ra đều nhận được sự đồng ý đầy đủ. Điều này loại bỏ sự cần thiết phải giải quyết những bất đồng.

Pic

Nguồn trích dẫn

Tuy nhiên, để vận hành hiệu quả giao thức phải nhận thức được mức độ tham gia của các node trong mạng lưới tại bất kỳ thời điểm nào. Điều này có nghĩa là với PBFT; bạn vứt bỏ tính khả dụng năng động. Bởi vì không thể làm cho mạng lưới có sẵn một cách linh hoạt và đồng thời biết được mức độ tham gia. 

Trên hết, Ethereum cố gắng giải quyết hành vi độc hại trong mạng lưới của mình bằng cách thực hiện các biện pháp như đóng băng (freezing) tiền stake và áp dụng các hình phạt (slashing) thông qua việc cắt giảm tiền stake. Mặc dù cách tiếp cận này có thể ngăn chặn hoạt động độc hại, nhưng nó cũng hạn chế khả năng sử dụng tiền của những node tham gia trung thực và khiến họ có nguy cơ bị phạt, không khuyến khích sự tham gia của các bên trung thực với cổ phần nhỏ hơn trong mạng lưới và do đó làm giảm tính Phi tập trung của mạng lưới.

Costless Simulation: Cardano đang giải quyết nó như thế nào

Ouroboros Praos là cơ chế đồng thuận hiện tại được sử dụng trong Cardano và nó có một cách tiếp cận khác để đảm bảo tính bảo mật và tính toàn vẹn của mạng lưới so với các cơ chế đồng thuận truyền thống như giao thức Proof of Work (PoW) hoặc PoS-BFT. 

Chìa khóa để bảo mật: Chức năng ngẫu nhiên có thể kiểm chứng (VRF)

Ouroboros Praos sử dụng Chức năng ngẫu nhiên có thể kiểm chứng (VRF) để chọn một node làm node dẫn đầu vị trí cho mỗi khối. 

Trước mỗi epoch, một snapshot phân bố cổ phần được thực hiện, được sử dụng trong suốt epoch đó. Hạt giống ngẫu nhiên của epoch trước được sử dụng làm đầu vào cho VRF của mỗi node để tạo số giả ngẫu nhiên. Node có số cao nhất sẽ trở thành người dẫn đầu vị trí (slot leader) và tạo khối, mã hóa số vào tiêu đề khối. 

Pic

Nguồn trích dẫn

Tất cả các node khác sử dụng VRF của riêng chúng để xác thực kết quả bầu cử. Kết quả của cuộc bầu chọn người dẫn đầu vị trí không được tiết lộ cho đến khi khối đó được ký hoặc node đó tự thắng. 

Pic

Nguồn trích dẫn

Ngăn chặn hành vi ác ý 

Nếu một node chuẩn bị tạo một khối nhưng đang offline, thì cơ hội sẽ trôi qua và các node khác sẽ không biết. Nỗ lực của một node khác (ví dụ: kẻ tấn công) để tạo khối sẽ được mạng lưới công nhận là không hợp lệ. Điều này giúp đảm bảo hành vi trung thực từ quan điểm tầm ngắn. 

Vào cuối mỗi epoch, tất cả các số được mã hóa trong tiêu đề khối được kết hợp và sử dụng để tính toán hạt giống ngẫu nhiên cho epoch tiếp theo. Điều này tạo ra một chu kỳ vô tận của snapshot phân bố cổ phần, VRF và tính toán hạt giống ngẫu nhiên lặp lại trong mỗi epoch.

Pic

Nguồn trích dẫn

Quy tắc lựa chọn chuỗi hiện tại

Pic

Nguồn trích dẫn

Blockchain được duy trì thông qua quy tắc chuỗi dài nhất, nghĩa là các slot leader thêm một khối vào cuối chuỗi dài nhất mà họ quan sát được và sau đó phát nó lên mạng lưới.

Trong Ouroboros Praos, các node chỉ cập nhật chuỗi cục bộ của chúng nếu chuỗi mới, bên cạnh việc dài hơn, không rẽ nhánh nhiều hơn “k” khối từ chuỗi cục bộ [Quy tắc bounded-depth].

Hạn chế của quy tắc chuỗi dài nhất đơn giản trong cài đặt PoS

Phương thức mà quy tắc chuỗi dài nhất hoạt động trong các giao thức bằng chứng cổ phần (PoS) như Ouroboros Praos không giống như trong các blockchain bằng chứng công việc (PoW). Mặc dù thực tế là các giao thức PoS giúp duy trì hành vi trung thực và cung cấp thông tin từ một node đáng tin cậy đến các node offline, nhưng chúng vẫn dễ bị Tấn công "chuỗi dài". 

Pic

Trong trường hợp không lường trước được như sự cố hệ thống hoặc mất mạng lưới khi số lượng node trực tuyến giảm, blockchain PoS không thể điều chỉnh bảo mật của chúng và tiếp tục tạo khối, dẫn đến bị tạm dừng. 

Pic

Nguồn trích dẫn

Điều này đòi hỏi một lớp tin cậy bổ sung cho hoạt động an toàn của hệ thống, điều này không lý tưởng cho mạng lưới phi tập trung và không được phép. Kết quả là, giao thức không thể hoạt động trong một môi trường cho phép gọi các bên tùy ý để thực thi.

Giải quyết vấn đề Bootstrapping với Ouroboros Genesis: Giới thiệu Plenitude Rule

Quy tắc Plenitude Rule là một quy tắc lựa chọn chuỗi mới được giới thiệu với Ouroboros Genesis. Nó giải quyết vấn đề bootstrapping bằng cách chọn phiên bản của chuỗi có phân phối khối dày đặc nhất sau điểm mà các chuỗi phân kỳ với nhau. 

Quy tắc Plenitude Rule hoạt động như thế nào 

Plenitude Rule : Các nhà nghiên cứu đã quan sát thấy rằng, nếu phần lớn các bên tuân theo giao thức, thì tại bất kỳ phân đoạn thời gian đủ dài nào, chuỗi tương ứng sẽ dày đặc hơn, đặc biệt là sau một phân nhánh. Họ đã có thể chứng minh rằng một blockchain đối nghịch ngay sau điểm phân kỳ sẽ thể hiện sự phân bố khối ít dày đặc hơn. Sử dụng quy tắc này để xác định đâu là blockchain phù hợp để kết nối.

Plenitude Rule khiến một node không thể tạo chuỗi giả và giúp ngăn chặn các cuộc Tấn công "chuỗi dài". Khi có sẵn nhiều chuỗi có độ dài tương tự nhau, Plenitude Rule sẽ tìm kiếm điểm mà tại đó các chuỗi khác nhau về phân phối khối của chúng.

Pic

Nguồn trích dẫn

Sau đó, nó chia quá khứ gần đây nhất từ ​​​​lịch sử của chuỗi thành các giai đoạn và xác định phiên bản nào phân phối khối sau điểm phân kỳ là dày đặc nhất — đó là chuỗi sẽ được chọn. 

Pic

Nguồn trích dẫn

Lợi ích của Quy tắc Plenitude Rule 

Với Plenitude Rule, các node mới tham gia mạng lưới hoặc đã offline một thời gian có thể (tái) tham gia và được đảm bảo tải xuống phiên bản chính xác của chuỗi, miễn là có đủ các bên trung thực. 

Điều này giải quyết vấn đề bootstrapping và giúp ngăn chặn các cuộc Tấn công "chuỗi dài". Hơn nữa, Plenitude Rule có thể đảm bảo rằng không ai có thể giả mạo cách tạo khối trong thời gian của người khác, khiến một node đơn lẻ không thể tạo chuỗi giả. 

Tại sao Ouroboros Genesis sẽ làm cho Cardano an toàn hơn các giao thức PoS khác 

Bản cập nhật sắp tới của giao thức Ouroboros, “phiên bản Genesis”, là giao thức PoS đầu tiên được chứng minh về mặt toán học để đảm bảo tính bền bỉ và khả năng hoạt động trong cả cài đặt đồng bộ và bán đồng bộ, với giả định là đa số trung thực tham gia, giống như Bitcoin. 

Do đó, Ouroboros Genesis sẽ làm cho Cardano trở nên an toàn hơn so với các giao thức PoS khác yêu cầu ít nhất 2/3 node tham gia trung thực (ví dụ: Ethereum Casper, Algorand) và an toàn như Bitcoin, nhưng với mức tiêu hao năng lượng thấp hơn nhiều và hiệu suất tốt hơn.

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