Tác giả: Cducrest
Nguồn: ethresear.ch
Chuỗi đèn hiệu Shutterized cho phép các giao dịch được mã hóa có chọn lọc và được tích hợp vào chuỗi trước khi bất kỳ ai cũng có thể nhìn thấy nội dung của chúng. Điều này sẽ tăng đáng kể khả năng chống kiểm duyệt và giảm MEV độc hại. Bài viết này sẽ giới thiệu chi tiết về khái niệm này.
Bản tóm tắt
- MEV là một vấn đề quan trọng, nhưng nó có thể được giải quyết trực tiếp trong chuỗi đèn hiệu L1
- Shutter đưa ra giải pháp: một nhóm nút sử dụng giao thức DKG để tính toán khóa mã hóa, cho phép người dùng mã hóa giao dịch của họ bằng khóa đó và giải phóng khóa giải mã trên chuỗi giao dịch được mã hóa.
- Bằng cách sử dụng bộ xác thực để chạy giao thức DKG và giới thiệu cơ chế lập lịch trình cho các giao dịch được mã hóa, kỹ thuật này có thể được áp dụng cho chuỗi báo hiệu tương tự như Ethereum.
câu hỏi
Giá trị có thể trích xuất của công cụ khai thác (MEV) và chạy trước được coi là những vấn đề cơ bản cuối cùng chưa được giải quyết trong không gian chuỗi khối. Hiện có hàng trăm triệu đô la MEV được ghi nhận, hầu hết trong số đó gây hại nhiều hơn là có lợi cho người dùng và thương nhân. Theo thời gian, vấn đề này chắc chắn sẽ trở nên tàn phá hơn và cuối cùng nó thậm chí có thể trở thành một trở ngại chết người ngăn cản cộng đồng của chúng ta đi theo xu hướng.
Thuật ngữ MEV được đặt ra bởi Phil Daian và cộng sự để mô tả những lợi ích mà các nhà sản xuất khối kiếm được bằng cách chọn, chèn, đặt hàng và xem xét các giao dịch. Chỉ riêng giá trị của MEV được khai thác trong năm 2020 là hơn 314 triệu đô la Mỹ, đây chỉ là một giới hạn thấp hơn. Thông thường, MEV không bị bắt bởi chính các nhà sản xuất khối mà bởi các thực thể độc lập sử dụng các bot tinh vi.
Một tập hợp con quan trọng của MEV là doanh thu từ cái gọi là chạy trước, một cuộc tấn công bất hợp pháp ở các thị trường truyền thống nhưng vẫn không được kiểm soát trong không gian tiền điện tử. Những người đi trước giám sát mạng để tìm các giao dịch đáng giá và một khi họ xác định được mục tiêu, họ sẽ gửi giao dịch của riêng mình nhằm cố gắng sớm đưa giao dịch đó vào chuỗi. Họ đạt được các giao dịch chạy trước bằng cách trả giá xăng cao hơn, vận hành cơ sở hạ tầng mạng lan rộng khắp thế giới, trở thành nhà sản xuất khối hoặc thanh toán qua các kênh đảo ngược.
Nạn nhân phổ biến nhất của các cuộc tấn công chạy trước là các nhà giao dịch trên các sàn giao dịch phi tập trung. Chạy trước buộc họ phải trả giá cao hơn thay vì được thưởng xứng đáng cho thông tin họ cung cấp cho thị trường. Mặt khác, những kẻ đi trước bòn rút lợi nhuận từ các nạn nhân theo cách gần như không có rủi ro mà không đóng góp hữu ích gì cho hệ thống. Một ví dụ đơn giản là giao dịch chênh lệch giá, kiếm chênh lệch giá của cùng một tài sản trên hai sàn giao dịch khác nhau. Các nhà giao dịch chạy trước thường được thưởng bằng cách sao chép các giao dịch này từ những người tham gia thị trường khác và thực hiện chúng sớm hơn, trong khi các nhà giao dịch ban đầu ra về tay không.
Bên cạnh các sàn giao dịch, nhiều ứng dụng khác cũng bị ảnh hưởng, bao gồm phân phối tiền thưởng và đấu giá. Điều quan trọng là, vì họ dựa vào việc bỏ phiếu trong hệ thống quản trị (đại diện cho một khu vực rộng lớn và đang phát triển nhanh chóng trong Ethereum), nên họ dễ bị tấn công từ phía trước hơn. Nếu không có hệ thống bảo vệ chống lại các kiểu tấn công này, những thách thức đáng kể có thể nảy sinh.
Trong tài chính truyền thống, hoạt động chạy trước có thể bị hạn chế (ở một mức độ nhất định) bởi quy định hoặc giám sát của các trung gian và nhà điều hành đáng tin cậy khác nhau. Đây không phải là trường hợp trong một hệ thống phi tập trung, không được phép, vì vậy nó có thể là một rào cản chiến lược đối với việc áp dụng tiền điện tử chính thống.
Yêu cầu
Chúng tôi tin rằng Beacon Chain sẽ cung cấp khả năng bảo vệ MEV cho người dùng của mình mà không cần thêm chi phí hoặc thay đổi trải nghiệm người dùng. Tính năng bảo vệ này cũng không được đi kèm với các đảm bảo bảo mật bổ sung hoặc ít nhất là quay trở lại các tính năng bảo vệ không phải MEV tiêu chuẩn nếu các giả định bảo mật bổ sung không thành công. Cuối cùng, nó phải có mức độ phân quyền tương tự như một giao thức đồng thuận.
màn trập
Shutter cho phép người dùng gửi các giao dịch được mã hóa theo cách bảo vệ người dùng khỏi những kẻ đi trước trên đường đi qua khu rừng tối (mọi giao dịch đều phải đi qua khu vực săn lùng của những kẻ đi trước). Ví dụ: các nhà giao dịch có thể sử dụng Shutter để làm cho lệnh của họ không rõ ràng đối với các nhà giao dịch chạy trước, nghĩa là kẻ tấn công không thể chắc chắn rằng đó là lệnh mua hay bán, cũng như mã thông báo nào đang được hoán đổi hoặc ở mức giá nào. Hệ thống sẽ giải mã và thực hiện giao dịch chỉ sau khi giao dịch rời khỏi khu rừng tối, nghĩa là sau khi môi trường thực hiện của giao dịch được xác định.
Các khóa để mã hóa và giải mã được cung cấp bởi một tập hợp các nút đặc biệt gọi là Keypers. Người nắm giữ khóa thường tạo khóa mã hóa bằng cách chạy giao thức tạo khóa phân tán (DKG). Sau đó, họ đưa ra khóa giải mã tương ứng. Giao thức sử dụng mật mã ngưỡng — một kỹ thuật cho phép một nhóm người nắm giữ khóa cung cấp các khóa mật mã chỉ có thể mở được khi có ít nhất một số thành viên nhất định hợp tác. Điều này đảm bảo rằng không bên nào cũng như một số ít người thông đồng khóa có thể giải mã trước bất kỳ thứ gì hoặc phá vỡ giao thức để ngăn không cho giao dịch thực hiện. Miễn là một số Keyper ("ngưỡng") nhất định không phá vỡ các quy tắc, thì giao thức có thể chạy bình thường.
Màn trập L1 trong giao thức cốt lõi
Chúng tôi đã phát triển một màn trập trên chuỗi, một cơ chế để bảo vệ các hợp đồng thông minh riêng lẻ khỏi các cuộc tấn công bằng lệnh L1, nhưng nó có nhược điểm là phá vỡ khả năng kết hợp. Chúng tôi đang tiếp tục điều tra việc triển khai màn trập trực tiếp bên trong cuộn lên. Ở đây chúng tôi mô tả một thiết kế để tích hợp hệ thống màn trập như một phần của chuỗi đèn hiệu kiểu Ethereum. Ưu điểm của điều này là nó hoàn toàn nằm ngoài người dùng và vẫn có thể kết hợp được.
Như trong mọi hệ thống cửa chớp, giao thức này yêu cầu một bộ Keypers. Các nhóm keyper chọn các ủy ban hoặc nhà sản xuất khối trong số những người xác nhận chuỗi khối thông qua một quy trình tương tự, ngoại trừ việc họ được chọn ít thường xuyên hơn (ví dụ: một lần một ngày). Keyper sử dụng chuỗi đèn hiệu để tạo khóa eon dùng chung. Khóa công khai của eon sẽ được cung cấp cho người dùng để mã hóa các giao dịch của họ.
Các nhà sản xuất khối thu thập các giao dịch mã hóa và văn bản gốc cho các khối. Chúng chứa các giao dịch văn bản rõ ràng sẽ được thực hiện trong các khối của chúng, trong khi các giao dịch được mã hóa được lên lịch ở độ cao khối trong tương lai.
Sau khi một khối được tạo, Keyper sẽ tạo khóa giải mã để giải mã các giao dịch được lên kế hoạch cho khối đó. Các khối tiếp theo phải chứa khóa giải mã để được coi là hợp lệ. Trạng thái đăng của một khối được tính bằng cách trước tiên thực hiện các giao dịch mã hóa được lên lịch cho khối, tiếp theo là các giao dịch văn bản gốc có trong khối.
Thứ tự thực hiện và ngữ cảnh (số khối, dấu thời gian, v.v...) được xác định theo thứ tự bao gồm các giao dịch bản mã và ngữ cảnh của khối trước đó. Trước khi giao dịch được giải mã, bối cảnh thực hiện được xác định, do đó không thể sử dụng thông tin về dữ liệu giao dịch để trích xuất MEV. Nó cũng ngăn thông tin kênh phụ có thể được sử dụng cho các giao dịch chạy trước một cách lạc quan.
Phí giao dịch mật mã
Các nhà sản xuất khối cần phải bằng cách nào đó đảm bảo rằng các giao dịch được mã hóa có giá trị bao gồm trong một khối, tức là họ có thể trả phí giao dịch mà không cần biết dữ liệu giao dịch. Nếu phí sẽ được thanh toán khi thực hiện, nhà sản xuất khối sẽ không được đảm bảo sẽ được thanh toán, vì tài khoản có thể làm cạn kiệt số dư giữa việc đưa vào và thực thi.
Do đó, các giao dịch được mã hóa biện minh cho việc đưa chúng vào bằng cách cung cấp một phong bì có chữ ký trả phí khi chúng được đưa vào chuỗi. Nội dung phong bì bao gồm: lượng gas tiêu thụ, giá gas và chữ ký trên các ô này để lấy lại địa chỉ của người nộp tiền. Khoản phí này sẽ được trả cho nhà sản xuất khối khi giao dịch bản mã được bao gồm, tức là không phải khi nó được thực thi. Mức tiêu thụ gas của một giao dịch bản mã được bao gồm trong giới hạn gas của khối chứa giao dịch đó.
Giới hạn gas truyền thống cần được thay thế bằng mức tiêu thụ gas, nghĩa là người dùng sẽ bị tính phí cho tất cả lượng gas họ dự định sử dụng, ngay cả khi họ chỉ sử dụng một phần trong số đó vào thời điểm giao dịch được giải mã và áp dụng. Điều này là cần thiết để trả phí khi các giao dịch được đưa vào chuỗi. Điều này ngăn các nhà sản xuất khối giải mã một giao dịch có giới hạn gas cực cao (thay thế các giao dịch khác và phí của chúng) thành một giao dịch sử dụng rất ít gas (và phí).
Một nhược điểm khác của việc sử dụng giao dịch phong bì là siêu dữ liệu của giao dịch sẽ bị rò rỉ, tức là người thanh toán và giá gas/giới hạn tiêu thụ đã được biết. Rất có thể, một phần nhỏ MEV vẫn có thể được trích xuất bằng cách sử dụng thông tin bị rò rỉ này.
Người ta đã chỉ ra rằng phương pháp zk-SNARK có thể được dự kiến để giải quyết vấn đề thanh toán phí này và ngăn chặn rò rỉ thông tin siêu dữ liệu.
ASD
Khóa công khai eon và khóa giải mã được tạo bởi người dùng khóa yêu cầu ngưỡng t/n người tham gia trung thực. Các tham số t và n có thể được điều chỉnh cho phù hợp với giao thức. T càng cao, càng khó để những người khóa thông đồng và giải mã sớm các giao dịch (cho phép khai thác MEV). Mặt khác, t thấp hơn có thể đảm bảo rằng khóa giải mã có thể được giải phóng kịp thời.
Để thực thi giải mã và áp dụng các giao dịch bản mã, chúng ta phải thực thi việc bao gồm khóa giải mã trong mọi khối. Trong những trường hợp này, nếu Kepers ngoại tuyến hoặc từ chối tạo khóa giải mã, quá trình sản xuất khối sẽ dừng lại.
Chúng tôi có thể giảm thiểu hoạt động của Keyper bằng cách cho phép tạo các khối mà không cần khóa giải mã nếu không có giao dịch mã hóa nào được lên lịch thực hiện. Trong trường hợp Keyper ngoại tuyến, chuỗi sẽ phục hồi bằng cách tách các khối có giao dịch được mã hóa và chỉ tạo các khối có giao dịch văn bản thuần túy.
Chúng tôi cũng có thể khôi phục tính sống động bằng cách tuyên bố rằng nếu không có khối nào được tạo trong n khe (vì không có khóa giải mã), khối tiếp theo không cần chứa khóa giải mã và các giao dịch được giải mã sẽ bị bỏ qua. Điều này sẽ quay trở lại chức năng bảo vệ phi MEV truyền thống của chuỗi.
Thay đổi đã triển khai
Chúng tôi đã phát triển phần mềm Keyper và tất cả logic mã hóa/giải mã. Chúng tôi cũng đã phát triển logic cho phép Nhà sản xuất khối (hoặc Người đặt hàng/Người sắp xếp thứ tự) cam kết thực hiện một loạt giao dịch được mã hóa, báo hiệu cho Keyper rằng giờ đây đã an toàn để giải phóng khóa giải mã.
Tất cả những gì cần làm bây giờ là thay đổi các quy tắc xác định tính chính xác của khối trong triển khai ứng dụng khách và các quy tắc thực hiện giao dịch. Giao diện gửi giao dịch cho khách hàng phải được xác định lại. Cuối cùng, các công cụ và plugin có thể cần phải được viết để cho phép các dapp tích hợp liền mạch với các chuỗi được bảo vệ bằng MEV, yêu cầu các giao dịch được mã hóa bằng khóa công khai.