Đã được xác thực, đặt cược trên eth2: # 2 – Hai con ma trong chiếc áo khoác hào hoa

Rate this post

Đặc biệt cảm ơn Sacha Yves Saint-Leger & Danny Ryan đã đánh giá.

Trong phần này, chúng ta sẽ thảo luận về các cơ chế đồng thuận đằng sau eth2. Eth2 có một cách tiếp cận mới để quyết định khối nào là đầu của chuỗi, cùng với khối nào không một phần của chuỗi.

Bằng cách sử dụng kết hợp giữa hai cơ chế, eth2 nhằm mục đích có được sự đồng thuận, ngoài việc nhanh chóng và an toàn khi mạng hoạt động bình thường, còn an toàn ngay cả khi nó bị tấn công.

Một vấn đề nan giải

FLP không thể là kết quả cốt lõi trong lĩnh vực tính toán phân tán cho biết rằng trong một hệ thống phân tán, không thể đồng thời có sự an toàn, sống động và không đồng bộ đầy đủ trừ khi có thể đưa ra một số giả định không hợp lý về hệ thống của bạn.

Sự an toàn là ý tưởng cho rằng không thể không đưa ra quyết định trong khi sự sống nắm bắt quan điểm rằng những điều mới có thể được quyết định. Một giao thức là asynchronus nếu không có ràng buộc về thời gian một tin nhắn có thể được gửi đi.

Nếu các nút có thể giao tiếp một cách đáng tin cậy, luôn tuân theo giao thức một cách trung thực và không bao giờ gặp sự cố, thì sự đồng thuận sẽ trở nên dễ dàng, nhưng đó không phải là cách thế giới hoạt động. Khi những giả định này không đúng, FLP Impossibility là bằng chứng cho thấy ít nhất một trong số: sự an toàn, tính sống động hoặc sự không đồng bộ đầy đủ phải bị xâm phạm.

GHOST và ý kiến ​​của họ về fork

Eth2 sử dụng Nhóm con được quan sát nhiều nhất của Tham lam (GHOST) như quy tắc lựa chọn ngã ba của nó. GHOST chọn người đứng đầu chuỗi bằng cách chọn fork có nhiều phiếu bầu nhất (nó thực hiện điều này bằng cách xem xét tất cả các phiếu bầu cho mỗi khối fork và các khối con tương ứng của chúng).

Đặt một cách khácmỗi khi có một đợt fork, GHOST sẽ chọn phía có nhiều thông báo mới nhất hỗ trợ cây con của khối đó (tức là nhiều thông báo mới nhất hỗ trợ khối đó hoặc một trong những con cháu của nó). Thuật toán thực hiện điều này cho đến khi nó đạt đến một khối không có con nào.

GHOST có lợi ích là làm giảm hiệu quả của các cuộc tấn công trong thời gian có độ trễ mạng cao cũng như giảm thiểu độ sâu của các chuỗi lặp lại khi so sánh với quy tắc chuỗi dài nhất. Điều này là do trong khi kẻ tấn công có thể tiếp tục xây dựng các khối một cách hiệu quả trên chuỗi của riêng họ, do đó làm cho nó dài nhất, GHOST sẽ chọn nhánh khác vì tổng số có nhiều phiếu bầu hơn cho nó.

Đặc biệt, eth2 sử dụng một biến thể của GHOST đã được điều chỉnh cho phù hợp với ngữ cảnh PoS được gọi là GHOST theo hướng tin nhắn mới nhất (LMD-GHOST). Ý tưởng đằng sau LMD-GHOST là khi tính toán phần đầu của chuỗi, người ta chỉ xem xét muộn nhất phiếu bầu được thực hiện bởi mỗi người xác nhận, chứ không phải bất kỳ phiếu bầu nào được thực hiện trong quá khứ. Điều này làm giảm đáng kể việc tính toán cần thiết khi chạy GHOST, vì số lượng nhánh cần được xem xét để thực hiện lựa chọn nhánh không thể lớn hơn số trình xác thực ($ O (v) $ trong ký hiệu Big O).

Theo các quy tắc của GHOST, trình xác nhận / thợ đào luôn có thể cố gắng thêm một khối mới vào chuỗi khối (liveness) và họ có thể thực hiện việc này tại bất kỳ thời điểm nào trong lịch sử của chuỗi (không đồng bộ). Vì nó đang hoạt động và hoàn toàn không đồng bộ, nhờ có người bạn FLP của chúng tôi, chúng tôi biết rằng nó không thể an toàn.

GHOST Ủng hộ sự sống hơn là an toàn

Sự thiếu an toàn thể hiện dưới dạng các dây buộc trong đó một chuỗi có thể đột ngột chuyển đổi giữa các ngã ba có độ sâu tùy ý. Rõ ràng đây là điều không mong muốn và eth1 giải quyết vấn đề này bằng cách để người dùng đưa ra giả định về thời gian các khối của thợ đào sẽ được giao tiếp với phần còn lại của mạng, điều này có dạng chờ xác nhận $ x $. Ngược lại, Eth2 không đưa ra giả định nào như vậy.

Tiện ích cuối cùng thân thiện

Một blockchain không có bất kỳ khái niệm an toàn nào là vô ích vì không thể đưa ra quyết định và người dùng không thể đồng ý về trạng thái của chuỗi. đi vào Casper the Friendly Finality Gadget (Casper FFG). Casper FFG là một cơ chế ủng hộ sự an toàn hơn là tính sống khi đưa ra quyết định. Điều này có nghĩa là mặc dù các quyết định mà nó đưa ra là cuối cùng, nhưng trong điều kiện mạng kém, nó có thể không thể quyết định bất cứ điều gì.

FFG là một sự chuyển thể kinh tế tiền điện tử của cổ điển Byzantine Fault Tolerent thực tế (PBFT) trong đó có các giai đoạn trong đó các nút trước tiên chỉ ra rằng họ muốn đồng ý về điều gì đó (sự biện minh) và sau đó đồng ý rằng họ đã đồng ý với nhau (sự hoàn thiện).

Eth2 không cố gắng căn chỉnh và hoàn thiện mọi vị trí (thời gian dự kiến ​​tạo ra một khối), mà thay vào đó, chỉ mỗi 32 vị trí. Nói chung, 32 vị trí được gọi là kỷ nguyên. Đầu tiên, trình xác thực ký rằng họ đồng ý với tất cả 32 khối trong một kỷ nguyên. Sau đó, nếu $ \ geq \ frac {2} {3} $ làm như vậy, thì khối là hợp lý. Trong một kỷ nguyên sau đó, những người xác thực có cơ hội bỏ phiếu khác để cho biết rằng họ đã nhìn thấy kỷ nguyên hợp lý trước đó và nếu $ \ geq \ frac {2} {3} $ thực hiện điều này, kỷ nguyên sẽ được hoàn tất và mãi mãi là một phần của kỷ nguyên2 chuỗi.

FFG sử dụng một thủ thuật thông minh. Các phiếu bầu thực sự bao gồm hai phiếu bầu phụ, một phiếu bầu cho kỷ nguyên đang cố gắng được biện minh và một phiếu bầu khác cho kỷ nguyên trước đó sẽ trở thành cuối cùng. Điều này giúp tiết kiệm rất nhiều thông tin liên lạc bổ sung giữa các nút và giúp đạt được mục tiêu mở rộng quy mô lên hàng triệu trình xác nhận.

Hai con ma trong chiếc áo khoác

Sự đồng thuận trong eth2 dựa vào cả LMD-GHOST – bổ sung thêm các khối mới và quyết định phần đầu của chuỗi là gì – và Casper FFG đưa ra quyết định cuối cùng về khối nào không một phần của chuỗi. Các đặc tính sống động thuận lợi của GHOST cho phép các khối mới được thêm vào chuỗi một cách nhanh chóng và hiệu quả, trong khi FFG theo sau để cung cấp sự an toàn bằng cách hoàn thiện các kỷ nguyên.

Hai giao thức được hợp nhất bằng cách chạy GHOST từ khối hoàn thiện cuối cùng theo quyết định của FFG. Theo cách xây dựng, khối hoàn thiện cuối cùng luôn là một phần của chuỗi, có nghĩa là GHOST không cần xem xét các khối trước đó.

Trong trường hợp bình thường khi các khối đang được tạo ra và trình xác thực $ \ geq \ frac {2} {3} $ đang bỏ phiếu cho chúng, các khối này sẽ được GHOST thêm vào phần đầu của chuỗi và không lâu sau khi được FFG xác minh và hoàn thiện (coi đó là một vài kỷ nguyên cuối cùng).

Nếu có một cuộc tấn công trên mạng và / hoặc một tỷ lệ lớn trình xác nhận ngoại tuyến, thì GHOST tiếp tục thêm các khối mới. Tuy nhiên, vì GHOST đang hoạt động, nhưng không an toàn, nó có thể thay đổi ý định về người đứng đầu chuỗi – điều này là do các khối mới liên tục được thêm vào chuỗi, có nghĩa là các nút tiếp tục học thông tin mới. Mặt khác, FFG ủng hộ sự an toàn hơn là tính trực tiếp có nghĩa là nó ngừng hoàn thiện các khối cho đến khi mạng đủ ổn định để những người xác nhận có thể bỏ phiếu nhất quán một lần nữa.

Thuc Quyen

Leave a Reply

Your email address will not be published.