Cảnh báo rủi ro: Đề phòng huy động vốn bất hợp pháp dưới danh nghĩa 'tiền điện tử' và 'blockchain'. — Năm cơ quan bao gồm Ủy ban Giám sát Ngân hàng và Bảo hiểm
Tìm kiếm
Đăng nhập
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
Xem thị trường
Rủi ro bảo mật của Ethereum khi sử dụng công nghệ Rollup ở đâu?
白计划
特邀专栏作者
2021-01-21 12:39
Bài viết này có khoảng 3395 từ, đọc toàn bộ bài viết mất khoảng 5 phút
Bằng cách phá hủy Infrua, về cơ bản, tất cả Rollup đều có thể bị phá hủy.
Bằng cách phá hủy Infrua, về cơ bản, tất cả Rollup đều có thể bị phá hủy.

Bằng cách phá hủy Infrua, về cơ bản, tất cả Rollup đều có thể bị phá hủy.

Văn bản|Thanh Châu
Ethereum đã xác nhận lộ trình 2.0 lấy Rollup làm trung tâm, điều này khiến Rollup trở thành một công nghệ hot và cũng có thể nói nó đã trở thành công nghệ chủ đạo để mở rộng layer2. Nếu được kết hợp với bằng chứng chứng minh kiến ​​thức không, Rollup sẽ là giải pháp bậc thầy trong công nghệ lớp 2.
Sau đây là phần thảo luận về các cuộc tấn công Rollup ảo. Được tổ chức bởi nhóm White Plan, với một số chỉnh sửa và nhận xét.

tiêu đề phụ

Lý do dẫn đến rủi ro bảo mật của Rollup
Optimistic Rollup được thực hiện bằng cách sử dụng calldata để lưu trữ thông tin khối trên mạng Ethereum. Quá trình này cho phép mọi người vận hành một nút Ethereum và tải xuống trạng thái Rollup. Nhưng trên thực tế, một số người không vận hành các nút Ethereum của riêng họ, thay vào đó dựa vào các giải pháp lưu ký (chẳng hạn như Infura).

chữ 

Cần xác minh tính hợp lệ
Nếu bạn muốn xây dựng một chuỗi Rollup hợp lệ một cách nhanh chóng và rẻ, tất cả những gì bạn cần làm là thực hiện các giao dịch, xây dựng trạng thái và lưu trữ nó ở các vị trí khác bên ngoài mạng Ethereum. Khi một điều phối viên Rollup nhận được lịch sử trạng thái từ một nút Ethereum, điều phối viên đó có thể xác định xem dữ liệu có hợp lệ hay không bằng cách phát lại các giao dịch trạng thái. Tuy nhiên, điều phối viên không thể chắc chắn rằng trạng thái tồn tại trên chuỗi, cách tốt nhất là hỏi nút Ethereum.
Trong trường hợp con người tấn công
Nếu bạn tưởng tượng một dịch vụ nút Ethereum có tên là Untrust. Untrust cung cấp cơ sở hạ tầng chi phí thấp cho Ethereum dapps. Nếu họ chọn không tin tưởng, họ có thể xem một Tổng số cụ thể và tạo một lịch sử hư cấu. Họ thậm chí có thể tạo lịch sử bán ảo bằng cách trích xuất dữ liệu liên lạc từ một số giao dịch thực và trộn nó với các giao dịch ảo.
Bằng cách này, họ sẽ tạo ra một hàm băm hoàn toàn khác với trạng thái hiện tại, nhưng điều này sẽ chỉ bị phát hiện (điều này sẽ là gian lận) nếu một khối được cam kết (trên chuỗi) bằng cách sử dụng toán tử Rollup của Untrust.
Loại tấn công này không đặc biệt mạnh mẽ. Những kẻ tấn công không thể giả mạo chữ ký, không thể đánh cắp tiền trực tiếp, nhưng có thể nói dối về các hoạt động của chúng trong Rollup.
Hãy tưởng tượng Untrust ngày càng phức tạp hơn. Họ quyết định tấn công Rollup có tên là MoneyMover.
Khi nhận được yêu cầu về địa chỉ MoneyMover, chúng sẽ trả về thông tin từ các nút chạy một mạng Ethereum hoàn toàn riêng biệt. Trên mạng Ethereum riêng biệt này, Untrust phản chiếu hầu hết các giao dịch (làm cho số dư tài khoản trông giống nhau) và đưa vào các giao dịch (giả mạo) của chính nó khi cần.
Bây giờ giả sử Untrust tìm một trang web thanh toán bằng MoneyMoverRollup. Trang web điều hành điều phối viên MoneyMover của riêng mình kết nối Untrust để truy cập mạng Ethereum.
Untrust đã thực hiện một giao dịch hư cấu trên mạng nhân bản của mình, giao dịch này được các điều phối viên MoneyMover do trang web điều hành phát hiện là một khoản thanh toán hợp lệ. Untrust hiện cung cấp quyền truy cập vào trang web mà không phải trả tiền. Các trang web sẽ chỉ phát hiện ra khoản thanh toán hư cấu này khi họ gửi giao dịch hoặc chuyển sang nhà cung cấp Ethereum khác (tức là để đồng bộ hóa dữ liệu với các nút khác).

tiêu đề phụ

Rủi ro thực tế có thể xảy ra
Cuộc tấn công ở trên chỉ có ý nghĩa nếu điều phối viên không chạy nút Ethereum của riêng mình. Có một số tình huống mà điều này có vấn đề:
1. Người tiêu dùng xuôi dòng của dữ liệu của điều phối viên không có cách nào để biết liệu dữ liệu họ nhận được có tồn tại hay không (trên chuỗi) và họ không thể tin tưởng nút eth mà điều phối viên đang sử dụng vì người tiêu dùng không tự chạy nút đó.
2. Người chứng minh gian lận (bên chứng minh giao dịch độc hại) đặc biệt dễ bị tấn công bởi vì họ chỉ gửi giao dịch khi gian lận được phát hiện. Một nút eth độc hại có thể loại bỏ các giao dịch không hợp lệ khỏi dữ liệu chuỗi khối và chỉ trả về một hàm băm trạng thái khác. Người chứng minh gian lận sẽ không có cách nào biết rằng hàm băm trạng thái là bịa đặt và sẽ không bao giờ thực hiện khiếu nại gian lận.
3. Các nhà điều hành nút eth nói dối những người điều phối Rollup để lừa họ gửi giao dịch trạng thái không hợp lệ hoặc khiếu nại gian lận không hợp lệ. Khi điều này xảy ra, các nhà khai thác nút eth độc hại có thể đóng vai trò là đối tác hiệu quả và thu tiền đặt cược.
Giải pháp 1
Trong ngữ cảnh của chuỗi bằng chứng công việc, điều phối viên có thể yêu cầu dữ liệu khối và kiểm tra xem nó có đủ cứng hay không. Kiểm tra ít nhất một nửa độ khó hiện tại sẽ khiến hầu hết các cuộc tấn công trở nên bất khả thi về mặt tài chính.
Trong chuỗi bằng chứng cổ phần, quy trình này trở nên không khả thi vì các nút eth độc hại có thể cung cấp chữ ký từ các địa chỉ chưa được bình chọn. Họ có thể làm điều này bằng cách thế chấp một số tiền thế chấp tại thời điểm truy vấn.
Giải pháp 2
Một giải pháp kém tinh tế hơn là liên tục ký các nút có uy tín và xuất bản danh sách các hàm băm trạng thái Rollup đã tồn tại trên chuỗi. Danh sách này có thể được xuất bản trên một dịch vụ như IPFS. Nút điều phối viên có thể bao gồm một danh sách đặt trước các khóa công khai có uy tín đã biết (Rollup Creator, EF, v.v.).
Điều phối viên biết rằng dữ liệu Tổng số là có thật nếu:
1. Tất cả các giao dịch trạng thái đều hợp lệ.
2. Tất cả các mã băm trạng thái được ký bởi các nguồn (nút) có uy tín.
Điều này sẽ đảm bảo rằng dữ liệu Rollup hợp lệ và không hư cấu, đồng thời sẽ cho phép các nút Rollup sử dụng bất kỳ nút Ethereum nào để đồng bộ hóa dữ liệu.
Trên đây là khả năng tấn công bảo mật Rollup được thảo luận bởi "jchancehud".
Lý do chính là Rollup là trạng thái ngoại tuyến và rất dễ xảy ra tình trạng đồng bộ hóa thông tin không kịp thời ở nhiều trạng thái, theo "jchancehud", bên cần xác minh xem trạng thái ngoại tuyến có hợp lệ hay không cần phải đồng bộ hóa dữ liệu của các nút đầy đủ Ethereum khác để xác nhận Cuối cùng để bảo mật, điều này có nghĩa là nhiều nền tảng cần chạy một nút Ethereum.
Về phương pháp tấn công ảo được đề cập ở trên, "Konstantin Kladko", giám đốc công nghệ của nhóm giải pháp lớp 2 của Ethereum, SKALE Labs, cho biết: "Điều này thực sự thú vị! Tôi nghĩ rằng nó cho thấy rằng bằng cách phá hủy Infrua, về cơ bản tất cả các Rollup đều có thể bị phá hủy." . ”
Tất nhiên, điều này đại diện cho những sản phẩm giao tiếp với Ethereum thông qua Infura.Infura đảm nhận một quy mô lớn các dịch vụ nút Ethereum.Cũng đã có những cuộc thảo luận về việc liệu Infura có phải là điểm dễ bị tổn thương lớn nhất trong mạng Ethereum hay không. Đối với rủi ro bảo mật một điểm này, nó chủ yếu được xử lý theo cách cân bằng tải đa nút để tránh nó càng nhiều càng tốt.
Đối với cuộc thảo luận về "jchancehud", điều thú vị nhất là nhà phát triển "adlerjohn" đã đề xuất rằng "cuộc tấn công" ảo này dường như không chỉ áp dụng được cho Rollup lạc quan mà còn cho zkRollup và trên thực tế là cho bất kỳ hợp đồng thông minh nào.
Do đó, "adlerjohn" đã đề xuất rằng trong Phần 8 của sách trắng Bitcoin, có một cách để xác minh thông tin là đúng hay sai, đó là người xác minh xác định chuỗi dài nhất và tin tưởng chuỗi dài nhất. lược đồ đã biết, lược đồ này Có thể được sử dụng để ngăn các nút Sybil cung cấp thông tin sai lệch, vốn không yêu cầu hầu hết các tính toán phải trung thực.

Mô tả hình ảnh

Ngoài ra, "adlerjohn" đã đề xuất rằng gốc trạng thái của Rollup có thể được gửi dưới dạng sự kiện và thậm chí có thể được lưu trữ ở trạng thái Ethereum và cũng có thể được truy vấn cho các giao dịch giả mạo (ví dụ: Phần 7 của sách trắng Bitcoin chỉ ra rằng nó có thể được xác nhận bằng cách xác minh tiêu đề khối).

Mô tả hình ảnh

Phần 7 của Sách trắng Bitcoin
Ngoài ra, "adlerjohn" cũng đề cập rằng sơ đồ Rollup lạc quan cũng có thể bao gồm một thiết kế có tên là "Đồng thuận hợp nhất khả thi tối thiểu", có thể đạt được tính khả dụng của dữ liệu bằng cách xuất bản dữ liệu đã đặt hàng, cho phép sử dụng nhiều sidechains, shard.

https://ethresear.ch/t/minimal-viable-merged-consensus/5617

Lưu ý cho Plan Bai: Việc giải thích sự đồng thuận sáp nhập khả thi tối thiểu ở liên kết sau
Nhưng có thể thấy trước rằng việc sử dụng phương pháp do "adlerjohn" đề xuất sẽ khó thiết kế hơn.
Vào cuối cuộc thảo luận, "jchancehud" đã trả lời "adlerjohn" rằng anh ấy không chắc liệu kiểu dự đoán tấn công này có áp dụng được cho ZKRollup hay không. Nhưng vì bằng chứng ZK khó tạo ra hơn nên ít nhất nó sẽ khó hơn. Suy nghĩ về Tổng số theo cách này đặc biệt quan trọng nếu chúng được áp dụng rộng rãi.
Điều phối viên tổng số có thể xác minh tất cả các tiêu đề khối trong một nút trước khi sử dụng nút, đây là một giải pháp tiềm năng khác, mặc dù tốn kém về thời gian và băng thông. Nhưng tốt hơn hết là người dùng nên chạy các nút ánh sáng eth mà họ biết rằng họ có thể tin tưởng. Việc chạy một light node cũng có thể truy vấn các sự kiện nếu các vấn đề xác thực đã được giải quyết.
Khi kết thúc cuộc thảo luận, chúng ta sẽ thấy rằng để đạt được tính bảo mật, khả năng mở rộng và hiệu quả, các giải pháp này có thể được thử theo ý tưởng của kỹ thuật, nhưng quá trình thực hiện phải khó khăn, bởi vì các ý tưởng thảo luận khác nhau. các nhà phát triển cần tổng hợp mã ở giai đoạn cuối và bao gồm nhiều thách thức như cấu trúc mạng, ứng dụng khách, ngôn ngữ và giao diện hoạt động.
ETH
chuỗi công khai
Sự an toàn
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Tài khoản chính thức
https://twitter.com/OdailyChina