Các loại lớp 2 khác nhau

Trung cấpJan 04, 2024
Bài viết này thảo luận về các đặc tính kỹ thuật và đảm bảo an ninh của ba phương pháp tiếp cận Layer2 và phân tích các khía cạnh khác nhau của “kết nối với Ethereum”.
Các loại lớp 2 khác nhau

Đặc biệt cảm ơn Karl Floersch vì phản hồi và đánh giá

Hệ sinh thái Ethereum lớp 2 đã được mở rộng nhanh chóng trong năm qua. Hệ sinh thái tổng hợp EVM, theo truyền thống bao gồm Arbitrum, OptimismScroll, và gần đây là KakarotTaiko, đã phát triển nhanh chóng, đạt được những bước tiến lớn trong việc cải thiện tính bảo mật của chúng; trang L2beat thực hiện tốt công việc tóm tắt trạng thái của từng dự án. Ngoài ra, chúng tôi đã thấy các nhóm xây dựng sidechain cũng bắt đầu xây dựng các bản tổng hợp (Polygon), các dự án lớp 1 đang tìm cách hướng tới trở thành validiums (Celo) và những nỗ lực hoàn toàn mới (Linea, Zeth…). Cuối cùng, còn có hệ sinh thái không chỉ EVM: “gần như EVM” như Zksync, các tiện ích mở rộng như Arbitrum Stylus và những nỗ lực rộng lớn hơn như hệ sinh thái Starknet, Fuel và những hệ sinh thái khác.

Một trong những hậu quả tất yếu của việc này là chúng ta đang chứng kiến xu hướng các dự án lớp 2 ngày càng trở nên không đồng nhất. Tôi kỳ vọng xu hướng này sẽ tiếp tục vì một số lý do chính:

  • Một số dự án hiện là lớp 1 độc lập đang tìm cách đến gần hơn với hệ sinh thái Ethereum và có thể trở thành lớp 2. Những dự án này có thể sẽ muốn chuyển đổi từng bước. Việc chuyển đổi tất cả cùng một lúc bây giờ sẽ làm giảm khả năng sử dụng vì công nghệ vẫn chưa sẵn sàng để đưa mọi thứ vào danh sách tổng hợp. Việc chuyển đổi ngay sau đó có nguy cơ làm mất đi động lực và quá muộn để có ý nghĩa.
  • Một số dự án tập trung muốn cung cấp cho người dùng của họ nhiều đảm bảo an ninh hơn và đang khám phá các lộ trình dựa trên blockchain để thực hiện điều đó. Trong nhiều trường hợp, đây là những dự án đã khám phá “chuỗi tập đoàn được cấp phép” trong thời đại trước. Trên thực tế, có lẽ họ chỉ cần mức độ phân cấp “nửa nhà”. Ngoài ra, mức thông lượng thường rất cao khiến chúng không phù hợp ngay cả đối với các bản tổng hợp, ít nhất là trong thời gian ngắn.
  • Các ứng dụng phi tài chính, như trò chơi hoặc mạng xã hội, muốn được phân cấp nhưng chỉ cần mức độ bảo mật trung bình. Trong trường hợp truyền thông xã hội, điều này thực tế liên quan đến việc xử lý các phần khác nhau của ứng dụng một cách khác nhau: hoạt động hiếm và có giá trị cao như đăng ký tên người dùng và khôi phục tài khoản phải được thực hiện khi tổng hợp, nhưng hoạt động thường xuyên và có giá trị thấp như bài đăng và phiếu bầu cần ít bảo mật hơn . Nếu một lỗi dây chuyền khiến bài đăng của bạn biến mất thì đó là chi phí có thể chấp nhận được. Nếu lỗi dây chuyền khiến bạn mất tài khoản thì đó là một vấn đề lớn hơn nhiều.

Một chủ đề lớn là trong khi các ứng dụng và người dùng trên lớp Ethereum 1 ngày nay sẽ ổn khi trả phí cuộn nhỏ hơn nhưng vẫn có thể nhìn thấy được trong thời gian ngắn, thì người dùng từ thế giới không có blockchain sẽ không: sẽ dễ dàng hơn để biện minh cho việc trả 0,10 đô la nếu bạn đã trả $1 trước đó so với khi bạn trả $0 trước đó. Điều này áp dụng cho cả các ứng dụng được tập trung ngày nay và cho các lớp 1 nhỏ hơn, thường có mức phí rất thấp trong khi cơ sở người dùng của chúng vẫn còn nhỏ.

Một câu hỏi tự nhiên xuất hiện là: sự cân bằng phức tạp nào giữa các bản tổng hợp, xác thực và các hệ thống khác có ý nghĩa đối với một ứng dụng nhất định?

Rollup vs validiums vs hệ thống bị ngắt kết nối

Khía cạnh đầu tiên của bảo mật so với quy mô mà chúng ta sẽ khám phá có thể được mô tả như sau: nếu bạn có một tài sản được phát hành trên L1, sau đó gửi vào L2, sau đó chuyển cho bạn, bạn sẽ có mức độ đảm bảo nào có thể đưa tài sản trở lại L1 không?

Ngoài ra còn có một câu hỏi song song: lựa chọn công nghệ nào dẫn đến mức độ đảm bảo đó và sự đánh đổi của lựa chọn công nghệ đó là gì?

Chúng ta có thể mô tả điều này một cách đơn giản bằng cách sử dụng biểu đồ:

https://s3.ap-northeast-1.amazonaws.com/gimg.gateimg.com/learn/b05ca283dcc74f262ac7a71f340dc85fb3a13b11.png

Điều đáng nói là đây là một lược đồ được đơn giản hóa và có rất nhiều tùy chọn trung gian. Ví dụ:

  • Giữa rollup và validium: một validium trong đó bất kỳ ai cũng có thể thực hiện thanh toán trên chuỗi để trang trải chi phí giao dịch, tại thời điểm đó, nhà điều hành sẽ buộc phải cung cấp một số dữ liệu lên chuỗi nếu không sẽ mất tiền đặt cọc.
  • Giữa plasma và validium: hệ thống Plasma cung cấp các đảm bảo bảo mật giống như tổng hợp với tính khả dụng của dữ liệu ngoài chuỗi, nhưng nó chỉ hỗ trợ một số ứng dụng hạn chế. Một hệ thống có thể cung cấp EVM đầy đủ và cung cấp các đảm bảo ở cấp độ Plasma cho những người dùng không sử dụng các ứng dụng phức tạp hơn đó và đảm bảo ở cấp độ hợp lệ cho những người dùng thực hiện điều đó.

Các tùy chọn trung gian này có thể được xem như nằm trong phạm vi giữa tổng hợp và hợp lệ. Nhưng điều gì thúc đẩy các ứng dụng chọn một điểm cụ thể trên quang phổ đó chứ không phải một số điểm xa hơn về bên trái hoặc bên phải? Ở đây, có hai yếu tố chính:

  1. Chi phí cho tính sẵn có của dữ liệu gốc của Ethereum sẽ giảm theo thời gian khi công nghệ được cải thiện. Hard fork tiếp theo của Ethereum, Dencun, giới thiệu EIP-4844 (hay còn gọi là “proto-danksharding”), cung cấp ~32 kB/giây khả năng sẵn có của dữ liệu trên chuỗi. Trong vài năm tới, điều này dự kiến sẽ tăng dần theo từng giai đoạn khi <a href="https://hackmd.io/@vbuterin/sharding_proposal"> khả năng bảo mật toàn diện được triển khai, cuối cùng nhắm mục tiêu đến mức sẵn có dữ liệu khoảng ~1,3 MB/giây . Đồng thời, những cải tiến về nén dữ liệu sẽ cho phép chúng ta làm được nhiều việc hơn với cùng một lượng dữ liệu.
  2. Nhu cầu riêng của ứng dụng: người dùng sẽ phải chịu mức phí cao như thế nào so với có lỗi xảy ra trong ứng dụng? Các ứng dụng tài chính sẽ mất nhiều hơn do lỗi ứng dụng; trò chơi và phương tiện truyền thông xã hội liên quan đến nhiều hoạt động trên mỗi người dùng và hoạt động có giá trị tương đối thấp, do đó, sự đánh đổi về bảo mật khác có ý nghĩa đối với chúng.

Ước chừng, sự cân bằng này trông giống như thế này:

Một loại bảo đảm một phần khác đáng nói đến là xác nhận trước. Xác nhận trước là các thông báo được ký bởi một số nhóm người tham gia trong danh sách tổng hợp hoặc xác nhận có nội dung "chúng tôi chứng thực rằng các giao dịch này được bao gồm trong đơn đặt hàng này và gốc sau trạng thái là giao dịch này". Những người tham gia này có thể ký một xác nhận trước không phù hợp với thực tế sau này, nhưng nếu họ làm vậy, khoản tiền gửi sẽ bị đốt cháy. Điều này hữu ích cho các ứng dụng có giá trị thấp như thanh toán của người tiêu dùng, trong khi các ứng dụng có giá trị cao hơn như chuyển khoản tài chính hàng triệu đô la có thể sẽ chờ xác nhận “thông thường” được hỗ trợ bởi tính bảo mật đầy đủ của hệ thống.

Xác nhận trước có thể được xem như một ví dụ khác về hệ thống kết hợp, tương tự như “kết hợp plasma / validium” đã đề cập ở trên, nhưng lần này là sự kết hợp giữa một bản tổng hợp (hoặc validium) có đầy đủ bảo mật nhưng độ trễ cao và một hệ thống có mức độ bảo mật thấp hơn nhiều có độ trễ thấp. Các ứng dụng cần độ trễ thấp hơn sẽ có độ bảo mật thấp hơn nhưng có thể tồn tại trong cùng một hệ sinh thái với các ứng dụng ổn với độ trễ cao hơn để đổi lấy mức độ bảo mật tối đa.

Đọc Ethereum một cách đáng tin cậy

Một hình thức kết nối khác ít được quan tâm hơn nhưng vẫn rất quan trọng liên quan đến khả năng đọc chuỗi khối Ethereum của hệ thống. Đặc biệt, điều này bao gồm khả năng hoàn nguyên nếu Ethereum hoàn nguyên. Để biết tại sao điều này lại có giá trị, hãy xem xét tình huống sau:

Giả sử rằng, như được hiển thị trong sơ đồ, chuỗi Ethereum quay trở lại. Đây có thể là một trục trặc tạm thời trong một kỷ nguyên, trong khi chuỗi chưa hoàn tất hoặc có thể là một khoảng thời gian rò rỉ không hoạt động trong đó chuỗi không hoàn tất trong một thời gian dài vì có quá nhiều trình xác thực ngoại tuyến.

Tình huống xấu nhất có thể xảy ra từ việc này như sau. Giả sử khối đầu tiên từ chuỗi trên cùng đọc một số dữ liệu từ khối ngoài cùng bên trái trên chuỗi Ethereum. Ví dụ: ai đó trên Ethereum gửi 100 ETH vào chuỗi hàng đầu. Sau đó, Ethereum hoàn nguyên. Tuy nhiên, chuỗi trên cùng không hoàn nguyên. Kết quả là, các khối trong tương lai của chuỗi trên cùng sẽ tuân theo chính xác các khối mới từ chuỗi Ethereum mới đúng, nhưng hậu quả của liên kết cũ bị lỗi hiện nay (cụ thể là khoản tiền gửi 100 ETH) vẫn là một phần của chuỗi trên cùng. Việc khai thác này có thể cho phép in tiền, biến ETH bắc cầu trên chuỗi trên cùng thành một khoản dự trữ nhỏ.

Có hai cách để giải quyết vấn đề này:

  1. Chuỗi trên cùng chỉ có thể đọc các khối Ethereum đã hoàn thiện, vì vậy nó sẽ không bao giờ cần phải hoàn nguyên.
  2. Chuỗi hàng đầu có thể hoàn nguyên nếu Ethereum hoàn nguyên. Cả hai đều ngăn chặn vấn đề này. Cách thứ nhất dễ thực hiện hơn nhưng có thể gây mất chức năng trong thời gian dài nếu Ethereum bước vào giai đoạn rò rỉ không hoạt động. Cách thứ hai khó thực hiện hơn nhưng luôn đảm bảo chức năng tốt nhất có thể.

Lưu ý rằng (1) có trường hợp một cạnh. Nếu một cuộc tấn công 51% vào Ethereum tạo ra hai khối mới không tương thích và cả hai đều xuất hiện hoàn thiện cùng lúc thì chuỗi trên cùng có thể khóa nhầm khối (tức là. cái mà sự đồng thuận xã hội Ethereum cuối cùng không ủng hộ) và sẽ phải hoàn nguyên để chuyển sang cái phù hợp. Có thể cho rằng không cần phải viết mã để xử lý trước trường hợp này; nó có thể được xử lý đơn giản bằng cách hard-fork chuỗi trên cùng.

Khả năng đọc Ethereum một cách đáng tin cậy của một chuỗi rất có giá trị vì hai lý do:

  1. Nó làm giảm các vấn đề bảo mật liên quan đến việc kết nối các token được phát hành trên Ethereum (hoặc các L2 khác) với chuỗi đó
  2. Nó cho phép các ví trừu tượng tài khoản sử dụng kiến trúc kho khóa chung để giữ tài sản trên chuỗi đó một cách an toàn.
  3. là quan trọng, mặc dù có thể cho rằng nhu cầu này đã được công nhận rộng rãi. (2) cũng quan trọng, vì điều đó có nghĩa là bạn có thể có một chiếc ví cho phép thay đổi khóa dễ dàng và chứa tài sản trên một số lượng lớn các chuỗi khác nhau.

Việc có một cây cầu có làm cho bạn trở thành một người có giá trị không?

Giả sử chuỗi trên cùng bắt đầu như một chuỗi riêng biệt và sau đó ai đó đặt một hợp đồng cầu nối lên Ethereum. Hợp đồng cầu nối chỉ đơn giản là một hợp đồng chấp nhận các tiêu đề khối của chuỗi trên cùng, xác minh rằng mọi tiêu đề được gửi tới nó đều có chứng chỉ hợp lệ cho thấy rằng nó đã được chấp nhận bởi sự đồng thuận của chuỗi trên cùng và thêm tiêu đề đó vào danh sách. Các ứng dụng có thể xây dựng dựa trên điều này để triển khai các chức năng như gửi và rút token. Khi đã có một cây cầu như vậy, liệu nó có mang lại bất kỳ sự đảm bảo an ninh tài sản nào mà chúng tôi đã đề cập trước đó không?

Cho đến nay vẫn chưa! Vì hai lý do:

  1. Chúng tôi đang xác thực rằng các khối đã được ký nhưng không phải việc chuyển đổi trạng thái là chính xác. Do đó, nếu bạn có một tài sản được phát hành trên Ethereum được gửi vào chuỗi trên cùng và người xác thực của chuỗi trên cùng lừa đảo, họ có thể ký một chuyển đổi trạng thái không hợp lệ để đánh cắp những tài sản đó.
  2. Chuỗi hàng đầu vẫn không có cách nào để đọc Ethereum. Do đó, bạn thậm chí không thể gửi tài sản gốc Ethereum vào chuỗi hàng đầu mà không dựa vào một số cầu nối bên thứ ba (có thể không an toàn) khác.

Bây giờ, hãy biến cây cầu thành cầu nối xác thực: nó không chỉ kiểm tra sự đồng thuận mà còn kiểm tra ZK-SNARK chứng minh rằng trạng thái của bất kỳ khối mới nào đã được tính toán chính xác.

Sau khi hoàn thành việc này, người xác thực của chuỗi hàng đầu không thể lấy cắp tiền của bạn nữa. Họ có thể xuất bản một khối không có dữ liệu, ngăn cản mọi người rút tiền, nhưng họ không thể đánh cắp (ngoại trừ việc cố gắng đòi tiền chuộc cho người dùng để đổi lấy việc tiết lộ dữ liệu cho phép họ rút tiền). Đây là mô hình bảo mật giống như một validium.

Tuy nhiên, chúng tôi vẫn chưa giải quyết được vấn đề thứ hai: chuỗi trên cùng không thể đọc được Ethereum.

Để làm điều đó, chúng ta cần thực hiện một trong hai điều:

  1. Đặt hợp đồng cầu nối xác thực các khối Ethereum đã hoàn tất bên trong chuỗi trên cùng.
  2. Yêu cầu mỗi khối trong chuỗi trên cùng chứa hàm băm của khối Ethereum gần đây và có quy tắc lựa chọn phân nhánh để thực thi các liên kết băm. Nghĩa là, khối chuỗi trên cùng liên kết với khối Ethereum không nằm trong chuỗi chuẩn thì bản thân nó là không chuẩn và nếu khối chuỗi trên cùng liên kết với khối Ethereum lúc đầu là hợp quy, nhưng sau đó trở thành không chuẩn, khối chuỗi trên cùng cũng phải trở thành khối không chuẩn.

Các liên kết màu tím có thể là liên kết băm hoặc hợp đồng cầu nối để xác minh sự đồng thuận của Ethereum.

Như thế này đủ chưa? Hóa ra, vẫn không, vì một vài trường hợp nhỏ:

  1. Điều gì xảy ra nếu Ethereum bị tấn công 51%?
  2. Bạn xử lý việc nâng cấp hard fork Ethereum như thế nào?
  3. Bạn xử lý việc nâng cấp hard fork cho chuỗi của mình như thế nào?

Một cuộc tấn công 51% vào Ethereum sẽ có hậu quả tương tự như một cuộc tấn công 51% vào chuỗi hàng đầu, nhưng ngược lại. Một hard fork của Ethereum có nguy cơ khiến cầu nối Ethereum bên trong chuỗi trên cùng không còn hiệu lực. Cam kết xã hội hoàn nguyên nếu Ethereum hoàn nguyên một khối cuối cùng và phân nhánh cứng nếu phân nhánh cứng của Ethereum là cách rõ ràng nhất để giải quyết vấn đề này. Một cam kết như vậy có thể không bao giờ cần phải thực hiện trên thực tế: bạn có thể kích hoạt tiện ích quản trị trên chuỗi trên cùng nếu nó thấy bằng chứng về một cuộc tấn công có thể xảy ra hoặc hard fork và chỉ hard fork chuỗi trên cùng nếu tiện ích quản trị không thành công.

Thật không may, câu trả lời khả thi duy nhất cho (3) là có một số dạng tiện ích quản trị trên Ethereum có thể làm cho hợp đồng cầu nối trên Ethereum nhận thức được các nâng cấp hard-fork của chuỗi hàng đầu.

Tóm tắt: cầu nối xác thực hai chiều gần như đủ để biến một chuỗi thành một hợp lệ. Thành phần chính còn lại là một cam kết xã hội rằng nếu có điều gì đó đặc biệt xảy ra trong Ethereum khiến cây cầu không còn hoạt động nữa thì chuỗi kia sẽ hard fork để phản ứng.

Kết luận

Có hai khía cạnh chính đối với “sự kết nối với Ethereum”:

  1. Bảo mật khi rút tiền về Ethereum
  2. Bảo mật khi đọc Ethereum

Cả hai điều này đều quan trọng và có những cân nhắc khác nhau. Có một quang phổ trong cả hai trường hợp:

Lưu ý rằng cả hai chiều đều có hai cách đo lường riêng biệt (vì vậy thực sự có bốn chiều?): mức độ bảo mật khi rút tiền có thể được đo bằng (i) mức độ bảo mật và (ii) bao nhiêu phần trăm người dùng hoặc trường hợp sử dụng được hưởng lợi từ mức độ bảo mật cao nhất mức độ và tính bảo mật của việc đọc có thể được đo lường bằng (i) tốc độ chuỗi có thể đọc các khối của Ethereum, đặc biệt là các khối đã hoàn thiện so với bất kỳ khối nào và (ii) sức mạnh của cam kết xã hội của chuỗi trong việc xử lý các trường hợp nghiêm trọng như tấn công 51% và nĩa cứng.

Có giá trị trong các dự án ở nhiều khu vực trong không gian thiết kế này. Đối với một số ứng dụng, tính bảo mật cao và khả năng kết nối chặt chẽ là rất quan trọng. Đối với những người khác, thứ gì đó lỏng lẻo hơn có thể được chấp nhận để có khả năng mở rộng cao hơn. Trong nhiều trường hợp, bắt đầu với một cái gì đó lỏng lẻo hơn ngày hôm nay và chuyển sang một sự kết nối chặt chẽ hơn trong thập kỷ tới khi công nghệ được cải thiện, có thể là giải pháp tối ưu.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được in lại từ [Vitalik Buterin]. Mọi bản quyền thuộc về tác giả gốc [Vitalik Buterin]. Nếu có ý kiến phản đối việc tái bản này, vui lòng liên hệ với nhóm Gate Learn , họ sẽ xử lý kịp thời.
  2. Tuyên bố miễn trừ trách nhiệm pháp lý: Các quan điểm và ý kiến trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Việc dịch bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết đã dịch đều bị cấm.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!
Створити обліковий запис