MESS (ECIP-1100) giải pháp chống tấn công cho Ethereum Classic

ETC Core, với tư vấn của OpenRelayChainSafe, phát triển và đề xuất một thuật toán cuối cùng được gọi là MESS cho Ethereum Classic, nếu được sự trung thực đa số chấp nhận, sẽ nâng cao trạng thái cuối cùng của chuỗi lên gần như theo cấp số nhân với rủi ro chia tách mạng không đáng kể.

Ngữ cảnh

Sau khi trải qua một số lần tái tổ chức lớn, Ethereum Classic đang chịu áp lực thay đổi.

Tỷ lệ băm thấp đã khiến các thuật toán đồng thuận của Ethereum Classic mang lại bất tiện và cuối cùng là những điều không mong muốn. Liên quan đến Ethereum Mainnet và các dịch vụ cho thuê hashrate, một hashrate thấp có nghĩa là nó tương đối rẻ để thống trị lịch sử gần đây của chuỗi; ngụ ý rằng các giao dịch được thực hiện trên chuỗi không được coi là vĩnh viễn cho đến khi một số cửa sổ dài không mong muốn đã trôi qua.

Để chuỗi lấy lại tiện ích một lần nữa về khía cạnh này, “tỷ lệ tin cậy” này cần phải giảm từ nhiều giờ (hoặc thậm chí nhiều ngày) xuống, lý tưởng là vài phút.

Bởi vì đặc tính cuối cùng này như một sản phẩm của hashrate là một chức năng của các giả định được nhúng sâu vào hành vi thiết yếu của mạng và chuỗi khối của nó. Một trong những thách thức cốt lõi của giải pháp là đạt được “bản sửa lỗi” cho mạng, từ góc độ lý thuyết và mã trên mạng lưới, thực sự là cho một vấn đề không tồn tại! Chúng ta cần phải sửa đổi hành vi của chuỗi để chúng ta có được các thuộc tính mà chúng ta muốn — cụ thể là, tính tổng thể nhanh hơn — và làm như vậy mà không phá vỡ bất kỳ thứ gì trong quá trình thực hiện.

Đây là thách thức mà tôi, cùng với các đối tác tư vấn từ OpenRelay và ChainSafe, đã thực hiện trong nhóm làm việc mà chúng tôi gọi là “Artificial Finality”.

Sau khoảng một tháng mất ngủ nghiêm trọng và một hoặc hai sợi tóc bạc mới, chúng tôi rất vui được đề xuất giải pháp tốt nhất mà chúng tôi coi là giải pháp tốt nhất.

Chấm điểm chủ quan theo cấp số nhân đã sửa đổi (Modified Exponential Subjective Scoring — MESS)

Đối với những người đã có biết về blockchain thì cái tên này có thể gợi nhớ. Nằm sâu trong kho lưu trữ của bitcointalk.orgblog của Ethereum Foundation, Vitalik Buterin mô tả điều mà anh ấy gọi là “Chấm điểm chủ quan theo cấp số nhân”.

Chúng tôi đã phát triển ý tưởng 6 năm tuổi này theo hướng mà chúng tôi dự đoán là một giải pháp mạnh mẽ, hiệu quả và không khoan nhượng.

Chúng tôi đã đề xuất một thông số kỹ thuật tại diễn đàn và kho lưu trữ Đề xuất Cải tiến Ethereum Classic và trong tuần này, đang trong quá trình đưa một mạng thử nghiệm chuyên dụng gồm 150 nút thông qua các bước của nó.

Tiêu chí

Tôi nghĩ rằng tiêu chí của chúng tôi (và của mạng!) Cho một giải pháp có thể chấp nhận được đã được một trong những thành viên cộng đồng lâu năm của ETC là Cody Burns đưa ra :

Những reorgs nhỏ bình thường và khỏe mạnh, những reorgs lớn là đáng ngờ. Với độ dài bất thường được sắp xếp lại, các nút nên đánh giá đầu chuỗi hiện tại mà chúng có ưu tiên hơn là chuỗi đến có độ dài dài hơn hoặc độ khó cao hơn (trích dẫn).

Tất nhiên, điều này không phải là hoàn toàn hoàn hảo, nhưng như chúng ta sẽ thấy, nó rõ ràng giúp đạt được mục đích chung.

Trường hợp chung

Một trong những kinh nghiệm khám phá chung đã học được trong nghiên cứu của chúng tôi là “các cạnh thô” luôn thể hiện một cách nhất quán các tiêu điểm có thể khai thác nghiêm trọng mà kẻ thù có thể nhắm đến. Một ví dụ đơn giản về điều này là rõ ràng với giải pháp “không cho phép tổ chức lại N -block”. Như đã thảo luận ở phần trước , điều này trình bày những gì chúng tôi gọi là kịch bản “Edge-of-Eternity”, trong đó nạn nhân của kẻ tấn công bị tách biệt do không đồng bộ trong giây lát với một số peers khác và, trong sự từ chối hoặc chấp nhận một cách khác biệt của họ đối với một phân đoạn có thể bị loại bỏ (lưu các cơ chế kỳ diệu phục hồi bên ngoài), vì cửa sổ rời rạc đó — một “cạnh thô” — theo định nghĩa, trở thành một sự chia đôi vĩnh viễn.

Chế độ xem chủ quan có thể được hiểu là những gì một nút biết trong một khung thời gian nào đó về trạng thái toàn cục, và chế độ xem khách quan là tất cả những gì một nút có thể (cuối cùng) biết về trạng thái toàn cục. Các cạnh thô thường có thể được phân loại là các điều kiện trong đó quan điểm chủ quan về trạng thái được xử lý với mức độ hậu quả cần được trì hoãn theo mục tiêu. Các giải pháp coi trọng quan điểm chủ quan một cách quá tự tin sẽ chịu trách nhiệm về các lỗ hổng xuất phát từ một quan điểm tiềm ẩn không hoàn hảo tại hoặc trong một khoảng thời gian nào đó, nơi mà sự không hoàn hảo đó có thể là tác phẩm của kẻ thù ác ý.

Sức mạnh của mạng đến từ khả năng của một nút để xem xét lại trạng thái của nó dựa trên thông tin mới. Tính lưu động này cho phép cạnh tranh lành mạnh và tự nhiên, vốn là trung tâm của sự phát triển chuỗi, khi các thợ đào chạy đua và chen lấn để cung cấp một khối tốt nhất tiếp theo — hoặc các khối. Các cơ chế cấm này hoạt động đối kháng trực tiếp với vòng đời thiết yếu này. Như vậy, rủi ro mà chúng gây ra cho mạng thường ở dạng phân chia mạng (tức là chia tách chuỗi, phân vùng).

Giải pháp của chúng tôi phải “trơn tru” nhất có thể.

Trường hợp cụ thể

Khi phát triển một giải pháp cho ETC, điều quan trọng đối với chúng tôi là:

  • Tác động thấp hoặc không đối với sự đồng thuận hoặc các quy tắc nghiêm ngặt hiện có. Điều này giảm thiểu rủi ro có thể được giả định khác, cả trong phạm vi lý thuyết cũng như mức độ phức tạp của việc thực hiện.
  • Đủ ngắn gọn để thực hiện và kiểm tra một cách nhanh chóng và toàn diện. Tính khẩn cấp là một ưu tiên, và để đạt được điều gì đó đáng tin cậy, cần tránh sự phức tạp quá mức nếu có thể.
  • Không có khả năng gây ra thiệt hại hoặc khiến mạng gặp rủi ro lớn hơn lợi ích của nó. Các giải pháp có khả năng khai thác hợp lý có thể đạt được sẽ thay thế điểm yếu này bằng điểm yếu khác.

Các giải pháp thay thế được xem xét

Chúng tôi đã xem xét và phát triển một bộ tùy chọn toàn diện (hoặc ít nhất là đang toàn diện!) Bao gồm các tùy chọn hiện có hoặc được đề xuất bên ngoài như PirlGuard, VeriBlock, sửa đổi thuật toán niêm phong khối và các giải pháp kiểm tra khác nhau; và đã thiết kế và đánh giá các giải pháp của riêng chúng tôi, bao gồm các thay đổi đối với chính sách tiền tệ, các hệ thống mà chúng tôi gọi là PermapointingFlashpointing, một thuật toán chấp nhận khôi phục dựa trên xác suất động mà chúng tôi gọi là Liên tục có khả năng tổ chức lại và một giải pháp sử dụng cái mà chúng tôi gọi là Giao dịch xác nhận đã dân chủ hóa xuất bản ưu tiên chuỗi và quan sát, một thuật toán chấp nhận tái tổ chức dựa trên xác suất động mà chúng tôi gọi là Tái tổ chức liên tục có thể xảy ra và một giải pháp sử dụng cái mà chúng tôi gọi là Giao dịch xác nhận đã dân chủ hóa việc công bố và quan sát chuỗi ưu tiên.

Tất cả công việc của chúng tôi cuối cùng sẽ được công bố rộng rãi với hy vọng rằng các thiết kế và thử nghiệm của chúng tôi, mặc dù không hoàn hảo, có thể bổ sung một số giá trị cho lĩnh vực nghiên cứu hệ thống phân tán công cộng lớn hơn.

Những lợi ích

Chúng tôi nhận thấy rằng MESS cung cấp các đặc điểm độc đáo và hấp dẫn, nếu được áp dụng ở quy mô mạng, sẽ mang lại tỷ lệ hoàn thiện cao một cách thỏa đáng với ít rủi ro hoặc chi phí bổ sung.

Trong MESS, các nút đưa ra quyết định chủ quan là thích các phân đoạn chuỗi mà chúng nhìn thấy trước hơn các phân đoạn mà chúng thấy sau. Sở thích này được xác định bằng cách thiết lập điều mà Vitalik gọi là “lực hấp dẫn” được gán cho các phân đoạn có trong chế độ xem của một nút so với những phân đoạn chưa có. Quy của mức độ ưa thích này được tham số hóa bằng tỷ lệ độ khó tương đối (tổng số) của các phân khúc cạnh tranh và tuổi của tổ tiên chung của chúng, trọng số phân khúc xuất hiện đầu tiên với “lực hấp dẫn” mà phân khúc cạnh tranh phải phù hợp để được chấp nhận.

Sự phát triển của chúng tôi về khái niệm này đề xuất đường cong trọng lực được xác định bởi một hàm sin có giới hạn của dạng 15 * sin((x + 12000pi)/8000) + 15 + 1, được hiển thị bên dưới so với ESS "ban đầu" và một mệnh đề trung gian mở rộng ở cả vi mô và vĩ mô. Các giá trị x được đo như độ tuổi của tổ tiên chung tính bằng giây, và các giá trịyđại diện cho trọng lực (phản) được ấn định.

Vi mô

Vĩ mô

Chức năng này có thể được hiểu là: “Đối với việc tổ chức lại được đề xuất kéo dài trong 600 giây, phân đoạn chuỗi đối thủ cạnh tranh (mới) cần đạt được 1.04xtổng độ khó của phân đoạn trước đó." Các phân đoạn kéo dài hơn một vài phút buộc phải đạt được yếu tố tăng nhanh của độ khó đương nhiệm.

Ngoài việc mở rộng sự khoan dung ưu tiên của cạnh tranh ngắn hạn (và lành mạnh!), Chức năng này có thể cung cấp sự chuyển đổi trần có thể phân biệt tại f(x=25132)=31. Mặc dù sự chuyển đổi này, trong thực tế, chắc chắn là một trường hợp xa hơn, nhưng nó hoạt động để loại bỏ một cạnh gồ ghề không cần thiết và loại bỏ một lực hấp dẫn tăng vọt không thực tế mà cuối cùng sẽ chỉ dẫn đến sự kém may mắn của một tấn công che khuất

Lợi ích thực sự của đề xuất này so với các lựa chọn thay thế khác là cơ hội cho phân vùng mạng lưới được xác định bởi tỷ lệ độ khó tương đối, trong đó để duy trì phân vùng, đối thủ cần phải duy trì tỉ lệ độ khó cạnh tranh chính xác và gần như không đổi, và nếu (và khi) chúng không đạt được điều đó, xác suất phân giải mạng tăng lên đáng kể với mỗi khối tiếp theo.

Từ bài đăng năm 2014 của Buterin:

ESS có đặc tính là, không giống như các cách tiếp cận ngây thơ do chủ quan, nó hầu như tránh được sự phân chia mạng vĩnh viễn; nếu thời gian giữa nút đầu tiên trên mạng nghe về khối B và nút cuối cùng trên mạng nghe về khối B là một khoảng k khối, thì một fork là không bền vững trừ khi độ dài của hai fork duy trì mãi mãi trong khoảng k phần trăm của nhau (nếu đúng như vậy, thì trọng lượng khác nhau của các nhánh sẽ đảm bảo rằng một nửa mạng lưới sẽ mãi mãi coi một nhánh này là điểm cao hơn và nửa còn lại sẽ hỗ trợ cho nhánh kia). Do đó, ESS chủ quan yếu với X gần tương ứng với mức độ gần với phân chia mạng 50/50 mà kẻ tấn công có thể tạo ra (ví dụ: nếu kẻ tấn công có thể tạo phân chia 70/30, thì X = 0,29). trích dẫn

Các đợt tái tổ chức lớn của Ethereum Classic vào tháng 8 năm 2020, theo thứ tự vài giờ mỗi lần, sẽ yêu cầu giới hạn trên gấp 31 lần hashrate hiện tại của mạng là 5 terahash.

Chi phí (Rủi ro)

Tránh ngăn chặn khai thác ích kỷ

Một góc nhìn được trình bày bên dưới so sánh việc chấp nhận tổ chức lại với các phân đoạn có độ khó và độ sâu khác nhau so với phân đoạn chuỗi 200 khối có độ khó trung bình không đổi.

Có thể thấy ở đây là các khối được phân bố ngẫu nhiên có màu xanh lá cây và màu đỏ tương ứng.

Phân phối ngẫu nhiên của chúng có nguồn gốc từ công việc của Eyal và Sirer , giải quyết vấn đề về lỗ hổng của mạng PoW đối với việc khai thác ích kỷ trong các trường hợp mà một thực thể khai thác kiểm soát ít nhất 33% tổng hashrate, trong trường hợp đó, công việc của họ đề xuất tung đồng xu phân xử các phân đoạn có độ khó như nhau như một biện pháp giảm thiểu lợi nhuận của chiến lược.

Ở đây, x <= 4, -1 <= y <= 7các khối màu đỏ và xanh lục rất xa phía trên bên trái (giả sử,) đang được đề cập đến, vì chúng ta có thể xem xét một cách hợp lý độ sâu đó trong giới hạn trung thực và xác suất. Như có thể thấy, việc áp đặt (chống lại) trọng lực của thuật toán MESS khiến cho các phần ngắn này có độ khó tương đương chính xác mà nếu không được chấp nhận ngẫu nhiên sẽ bị từ chối một cách nhất quán.

Như vậy, và như thông số kỹ thuật được đề xuất hiện đang tồn tại, chúng tôi hy vọng sẽ hy sinh lợi ích của việc tích cực ngăn chặn chiến lược “không công bằng” này của những người khai thác chi phối.

Có các tùy chọn để tránh chi phí này, bao gồm vô hiệu hóa thuật toán cho các phân đoạn ngắn hơn N với độ khó tương đương (cho phép việc tung đồng xu chiếm ưu thế) hoặc thêm một lớp xác suất khác sẽ giảm dần khi các phân đoạn có độ khó tương đương tăng về độ dài hoặc độ tuổi.

Đây là một cánh cửa rộng mở, có thể được giải quyết và theo đuổi trong tương lai.

Các lỗ hổng Eclipse

Đối với một nút để đưa ra bất kỳ quyết định chủ quan nào về việc chấp nhận chuỗi sẽ tạo ra một lỗ hổng cho sự che khuất của nó bởi kẻ thù.

Việc cân nhắc cho kịch bản này đã mang lại các cơ chế an toàn sau đây liên quan đến việc triển khai MESS trong Core-Geth:

  • MESS chỉ được bật khi nó đã hoàn tất đồng bộ hóa với mạng. Các nút trực tuyến lần đầu hoặc sau một thời gian dài vắng bóng dễ bị tổn thương nhất và chiến lược này giảm thiểu rủi ro đáng kể.
  • MESS chỉ được kích hoạt khi một peer có>= 10 peers. Điều này hoạt động để đảm bảo rằng nút có một cái nhìn đủ đa dạng để có thể đưa ra các quyết định chủ quan lành mạnh.
  • Một nút có khối đầu không thay đổi trong khoảng thời gian 130 giây sẽ vô hiệu hóa MESS. Điều này ngăn một nút bị che khuất từ việc bị mắc kẹt vĩnh viễn trên một chuỗi kẻ tấn công bị bỏ rơi.
  • Giới hạn trên của trọng lực buộc kẻ tấn công che khuất phải duy trì độ khó tối thiểu. Một nút bị che khuất sẽ “thoát khỏi bẫy” nếu nó có thể nhìn thấy một chuỗi nặng hơn (chính, trung thực) với độ khó tương đối gấp 31 lần. Đối với phần lớn mạng trung thực liên quan đến kẻ tấn công, điều này thể hiện một sự cồng kềnh và tốn kém.

Agreeing To Disagree

Giống như (hoặc sẽ xảy ra) với bất kỳ thuật toán trọng tài chấp nhận chủ quan nào, hiệu quả cấp độ mạng sẽ được thúc đẩy bởi mức độ và tính nhất quán của việc áp dụng nút, đặc biệt là bởi phần lớn khai thác trung thực. Sự khác biệt có thể quan sát được trong các chương trình phân xử dưới bất kỳ hình thức nào giữa các nút sẽ tạo ra một lỗ hổng tiềm ẩn.

Trạng thái và các bước tiếp theo

Đặc điểm kỹ thuật đang được xem xét và thảo luận tại kho Đề xuất Cải tiến của Ethereum Classic, tại đây. Chúng tôi khuyến khích bạn tự xem lại và tham gia cuộc trò chuyện.

Việc triển khai đã hoàn tất và được đề xuất tại Core-Geth , và công việc đã bắt đầu ở Besu.

Core-Geth đã xuất bản “Pre-Release” kích hoạt tính năng này trên mạng thử nghiệm Mordor của Ethereum Classic và đối với các nút đã nâng cấp ở đó, nó sẽ hoạt động ngay bây giờ. Tất cả đều được hoan nghênh giúp kiểm tra mạng công cộng này.

Thử nghiệm đã bắt đầu và sẽ tiếp tục trong tuần trên mạng thử nghiệm “MESSNet” chuyên dụng và chúng tôi sẽ cung cấp bản tóm tắt các thử nghiệm và kết quả của chúng sau khi hoàn tất.

Được viết bởi: Isaac A., Trưởng nhóm giao thức cốt lõi ETC và Nhà phát triển khách hàng

Nguồn: https://medium.com/etc-core/agreeing-to-disagree-proposing-a-weakly-subjective-finality-solution-for-ethereum-classic-7daad47efc0e

#EthereumClassic #ECIP-1100 #MESS
— — — — — — — — — — — — — — — — — — — — — -
Tham gia thảo luận và cập nhật tin tức mới nhất trên các kênh chính thức của chúng tôi:
- Facebook: facebook.com/EthereumClassicVietnam/
- Telegram: t.me/ETCVietnam
- Twitter: twitter.com/etcvietnam
- Medium: medium.com/@ETCVietnam

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Cộng Đồng Ethereum Classic Việt Nam
Cộng Đồng Ethereum Classic Việt Nam

Written by Cộng Đồng Ethereum Classic Việt Nam

Chào mừng bạn đến với channel của cộng động EthereumClassic Việt Nam! 😊 etclabs.org

No responses yet

Write a response