Ethereum The Surge tầm nhìn: vượt qua 100,000 TPS và thống nhất hệ sinh thái

Tương lai có thể của Ethereum: The Surge

The Surge: Mục tiêu chính

  1. Tương lai Ethereum thông qua L2 có thể đạt 100.000 TPS trở lên;

  2. Giữ cho tính phi tập trung và khả năng chống chịu của L1.

  3. Ít nhất một số L2 hoàn toàn kế thừa các thuộc tính cốt lõi của Ethereum (không cần tin cậy, mở, chống kiểm duyệt);

  4. Ethereum nên cảm thấy như một hệ sinh thái thống nhất, chứ không phải 34 chuỗi khối khác nhau.

Vitalik bài viết mới: Tương lai có thể của Ethereum, The Surge

Nội dung chương này

  1. Tam giác nghịch lý về khả năng mở rộng
  2. Tiến triển hơn nữa trong việc lấy mẫu khả dụng của dữ liệu
  3. Nén dữ liệu
  4. Plasma tổng quát
  5. Hệ thống chứng minh L2 trưởng thành
  6. Cải tiến khả năng tương tác giữa các L2
  7. Mở rộng thực thi trên L1

Nghịch lý tam giác khả năng mở rộng

Tam giác nghịch lý tính mở rộng là một ý tưởng được đưa ra vào năm 2017, nó cho rằng có sự mâu thuẫn giữa ba đặc tính của blockchain: phi tập trung (cụ thể hơn: chi phí vận hành node thấp), khả năng mở rộng (số lượng giao dịch được xử lý nhiều) và tính bảo mật (kẻ tấn công cần phải phá hoại một phần lớn các node trong mạng để làm cho một giao dịch thất bại).

Cần lưu ý rằng nghịch lý tam giác không phải là một định lý, và các bài viết giới thiệu về nghịch lý tam giác cũng không kèm theo chứng minh toán học. Nó thực sự đưa ra một lập luận toán học trực quan: nếu một nút thân thiện với phi tập trung (ví dụ như máy tính xách tay tiêu dùng) có thể xác minh N giao dịch mỗi giây, và bạn có một chuỗi có thể xử lý k*N giao dịch mỗi giây, thì (i) mỗi giao dịch chỉ có thể được 1/k nút nhìn thấy, điều này có nghĩa là kẻ tấn công chỉ cần phá hủy một số nút để thực hiện một giao dịch ác ý, hoặc (ii) nút của bạn sẽ trở nên mạnh mẽ, trong khi chuỗi của bạn sẽ không phi tập trung. Mục đích của bài viết này không phải để chứng minh rằng việc phá vỡ nghịch lý tam giác là không thể; ngược lại, nó nhằm chỉ ra rằng việc phá vỡ nghịch lý tam giác là khó khăn, và nó cần một cách tiếp cận nào đó để thoát ra khỏi khung tư duy mà lập luận này ngụ ý.

Vitalik bài viết mới: Tương lai có thể của Ethereum, The Surge

Trong nhiều năm qua, một số chuỗi hiệu suất cao thường tuyên bố rằng họ đã giải quyết được nghịch lý ba thành phần mà không thay đổi cấu trúc cơ bản, thường là thông qua việc áp dụng các kỹ thuật kỹ thuật phần mềm để tối ưu hóa nút. Điều này luôn gây hiểu lầm, việc chạy nút trên các chuỗi này khó khăn hơn nhiều so với việc chạy nút trên Ethereum. Bài viết này sẽ khám phá lý do tại sao lại như vậy, và tại sao chỉ riêng kỹ thuật phần mềm khách hàng L1 không thể mở rộng Ethereum?

Tuy nhiên, việc kết hợp việc lấy mẫu khả dụng dữ liệu với SNARKs thực sự giải quyết được nghịch lý tam giác: nó cho phép khách hàng xác minh rằng một số lượng dữ liệu nhất định là có sẵn và một số bước tính toán nhất định được thực hiện chính xác, chỉ bằng cách tải xuống một lượng dữ liệu nhỏ và thực hiện rất ít tính toán. SNARKs là không cần tin cậy. Việc lấy mẫu khả dụng dữ liệu có một mô hình tin cậy tinh tế few-of-N, nhưng nó vẫn giữ lại các đặc tính cơ bản mà chuỗi không thể mở rộng có, tức là ngay cả khi bị tấn công 51%, cũng không thể ép buộc các khối xấu được mạng chấp nhận.

Một phương pháp khác để giải quyết ba khó khăn là kiến trúc Plasma, nó sử dụng công nghệ thông minh để chuyển trách nhiệm giám sát tính khả dụng của dữ liệu cho người dùng theo cách tương thích với khuyến khích. Ngay từ năm 2017-2019, khi chúng tôi chỉ có chứng minh gian lận như một phương tiện để mở rộng năng lực tính toán, Plasma đã bị hạn chế rất nhiều trong việc thực thi an toàn, nhưng với sự phổ biến của SNARKs (chứng minh không biết thông tin ngắn gọn phi tương tác), kiến trúc Plasma đã trở nên khả thi hơn cho nhiều tình huống sử dụng hơn bao giờ hết.

Tiến triển hơn nữa trong việc lấy mẫu tính khả dụng của dữ liệu

Chúng tôi đang giải quyết vấn đề gì?

Vào ngày 13 tháng 3 năm 2024, khi bản nâng cấp Dencun được triển khai, mỗi slot 12 giây sẽ có 3 blob khoảng 125 kB, hoặc băng thông dữ liệu khả dụng khoảng 375 kB cho mỗi slot. Giả sử dữ liệu giao dịch được phát hành trực tiếp trên chuỗi, thì chuyển khoản ERC20 khoảng 180 byte, do đó TPS tối đa của Rollup sẽ là: 375000 / 12 / 180 = 173.6 TPS

Nếu chúng ta thêm calldata (giá trị tối đa lý thuyết: mỗi slot 30 triệu Gas / mỗi byte 16 gas = mỗi slot 1.875.000 byte), thì sẽ trở thành 607 TPS. Sử dụng PeerDAS, số lượng blob có thể tăng lên 8-16, điều này sẽ cung cấp cho calldata 463-926 TPS.

Đây là một sự nâng cấp lớn cho L1, nhưng vẫn chưa đủ. Chúng tôi muốn có thêm khả năng mở rộng. Mục tiêu trung hạn của chúng tôi là mỗi slot 16 MB, nếu kết hợp với cải tiến nén dữ liệu Rollup, sẽ mang lại ~58000 TPS.

Vitalik bài viết mới: Tương lai có thể của Ethereum, The Surge

Nó là gì? Nó hoạt động như thế nào?

PeerDAS là một triển khai tương đối đơn giản của "1D sampling". Trong đó, mỗi blob là một đa thức bậc 4096 trên trường số nguyên tố 253. Chúng tôi phát sóng các shares của đa thức, trong đó mỗi shares chứa 16 giá trị đánh giá từ 16 tọa độ liền kề trong tổng số 8192 tọa độ. Trong 8192 giá trị đánh giá này, bất kỳ 4096 giá trị nào (theo các tham số hiện tại đề xuất: bất kỳ 64 trong số 128 mẫu khả thi) đều có thể phục hồi blob.

Cách hoạt động của PeerDAS là cho phép mỗi khách hàng lắng nghe một số lượng nhỏ subnet, trong đó subnet thứ i phát sóng mẫu thứ i của bất kỳ blob nào và yêu cầu các blob trên các subnet khác mà nó cần bằng cách hỏi các đồng đẳng trong mạng p2p toàn cầu (những người sẽ lắng nghe các subnet khác nhau). Phiên bản bảo thủ hơn SubnetDAS chỉ sử dụng cơ chế subnet mà không có việc yêu cầu thêm từ lớp đồng đẳng. Đề xuất hiện tại là để các nút tham gia chứng minh quyền sở hữu sử dụng SubnetDAS, trong khi các nút khác (tức là khách hàng) sử dụng PeerDAS.

Về lý thuyết, chúng ta có thể mở rộng quy mô của "1D sampling" khá lớn: nếu chúng ta tăng số lượng blob tối đa lên 256 (mục tiêu là 128), thì chúng ta có thể đạt được mục tiêu 16MB, trong khi mẫu khả dụng dữ liệu mỗi nút có 16 mẫu * 128 blob * mỗi blob mỗi mẫu 512 byte = mỗi slot 1 MB băng thông dữ liệu. Điều này chỉ vừa trong phạm vi chấp nhận của chúng ta: đây là khả thi, nhưng điều này có nghĩa là các khách hàng có băng thông hạn chế không thể lấy mẫu. Chúng ta có thể tối ưu hóa điều này ở một mức độ nào đó bằng cách giảm số lượng blob và tăng kích thước blob, nhưng điều này sẽ làm tăng chi phí tái tạo.

Do đó, chúng tôi cuối cùng muốn tiến xa hơn nữa, thực hiện việc lấy mẫu 2D (2D sampling), phương pháp này không chỉ lấy mẫu ngẫu nhiên trong blob mà còn lấy mẫu ngẫu nhiên giữa các blob. Bằng cách sử dụng thuộc tính tuyến tính của cam kết KZG, mở rộng tập hợp blob trong một khối bằng một tập hợp các blob ảo mới, những blob ảo này mã hóa thừa thông tin giống nhau.

Do đó, cuối cùng chúng tôi muốn tiến xa hơn, thực hiện lấy mẫu 2D, không chỉ trong blob mà còn giữa các blob. Các thuộc tính tuyến tính của cam kết KZG được sử dụng để mở rộng tập hợp blob trong một khối, bao gồm danh sách blob ảo mới đã mã hóa dư thừa cho cùng một thông tin.

Vitalik bài viết mới: Tương lai có thể của Ethereum, The Surge

Điều quan trọng là việc mở rộng cam kết tính toán không cần có blob, vì vậy giải pháp này về cơ bản là thân thiện với việc xây dựng khối phân tán. Các nút thực tế xây dựng khối chỉ cần có cam kết blob KZG, và chúng có thể dựa vào mẫu khả dụng dữ liệu (DAS) để xác minh khả dụng của khối dữ liệu. Mẫu khả dụng dữ liệu một chiều (1D DAS) về cơ bản cũng thân thiện với việc xây dựng khối phân tán.

còn cần làm gì? Còn có những cân nhắc nào?

Tiếp theo là hoàn thành việc triển khai và ra mắt PeerDAS. Sau đó, số lượng blob trên PeerDAS sẽ được tăng cường liên tục, đồng thời theo dõi mạng và cải thiện phần mềm để đảm bảo an toàn, đây là một quá trình dần dần. Trong khi đó, chúng tôi hy vọng có nhiều công trình học thuật hơn để chuẩn hóa PeerDAS và các phiên bản DAS khác cũng như tương tác của chúng với các vấn đề như an toàn của quy tắc chọn nhánh.

Trong giai đoạn xa hơn trong tương lai, chúng ta cần phải làm nhiều việc hơn để xác định phiên bản lý tưởng của 2D DAS và chứng minh các thuộc tính bảo mật của nó. Chúng tôi cũng hy vọng cuối cùng có thể chuyển từ KZG sang một giải pháp thay thế an toàn với lượng tử mà không cần thiết lập đáng tin cậy. Hiện tại, chúng tôi vẫn chưa rõ có những ứng cử viên nào thân thiện với việc xây dựng khối phân phối. Ngay cả khi sử dụng công nghệ "brute force" đắt đỏ, ngay cả việc sử dụng STARK đệ quy để tạo ra các chứng minh tính hợp lệ cho việc tái tạo các hàng và cột cũng không đủ đáp ứng nhu cầu, vì mặc dù về mặt kỹ thuật, kích thước của một STARK là O(log(n) * log(log(n)) băm (sử dụng STIR), nhưng thực tế STARK gần như lớn bằng toàn bộ blob.

Tôi cho rằng con đường thực tế lâu dài là:

  1. Triển khai DAS 2D lý tưởng;
  2. Kiên trì sử dụng 1D DAS, hy sinh hiệu quả băng thông mẫu, chấp nhận giới hạn dữ liệu thấp hơn vì sự đơn giản và tính ổn định.
  3. Bỏ DA, hoàn toàn chấp nhận Plasma là kiến trúc Layer2 chính mà chúng tôi quan tâm.

Xin lưu ý rằng ngay cả khi chúng tôi quyết định mở rộng thực thi trực tiếp trên lớp L1, lựa chọn này vẫn tồn tại. Điều này là vì nếu lớp L1 phải xử lý một lượng lớn TPS, các khối L1 sẽ trở nên rất lớn, và khách hàng sẽ muốn có một phương pháp hiệu quả để xác minh tính chính xác của chúng, do đó chúng tôi sẽ phải sử dụng các công nghệ tương tự như Rollup (chẳng hạn như ZK-EVM và DAS) trên lớp L1.

Làm thế nào để tương tác với các phần khác của lộ trình?

Nếu thực hiện nén dữ liệu, nhu cầu đối với 2D DAS sẽ giảm bớt, hoặc ít nhất sẽ bị trì hoãn, nếu Plasma được sử dụng rộng rãi, thì nhu cầu sẽ giảm thêm nữa. DAS cũng đặt ra thách thức cho các giao thức và cơ chế xây dựng khối phân tán: mặc dù DAS về lý thuyết thân thiện với việc tái tạo phân tán, nhưng trong thực tế cần kết hợp với đề xuất danh sách bao gồm gói và cơ chế chọn nhánh xung quanh nó.

Vitalik mới: Tương lai có thể của Ethereum, The Surge

Nén dữ liệu

Chúng tôi đang giải quyết vấn đề gì?

Mỗi giao dịch trong Rollup sẽ chiếm một lượng lớn không gian dữ liệu trên chuỗi: việc chuyển ERC20 mất khoảng 180 byte. Ngay cả khi có một mẫu khả dụng dữ liệu lý tưởng, điều này cũng hạn chế khả năng mở rộng của giao thức Layer. Mỗi slot 16 MB, chúng ta có được:

16000000 / 12 / 180 = 7407 TPS

Nếu chúng ta không chỉ có thể giải quyết vấn đề của tử số mà còn giải quyết vấn đề của mẫu số, khiến cho mỗi giao dịch trong Rollup chiếm ít byte hơn trên chuỗi, điều đó sẽ như thế nào?

Nó là gì, làm thế nào để hoạt động?

Trong ý kiến của tôi, lời giải thích tốt nhất là bức tranh này cách đây hai năm:

Vitalik bài viết mới: Tương lai có thể của Ethereum, The Surge

Trong nén byte không, sử dụng hai byte để thay thế mỗi chuỗi byte không dài, biểu thị số lượng byte không. Hơn nữa, chúng tôi đã tận dụng các thuộc tính cụ thể của giao dịch:

Ký hiệu tổng hợp: Chúng tôi đã chuyển từ ký hiệu ECDSA sang ký hiệu BLS, đặc điểm của ký hiệu BLS là nhiều ký hiệu có thể được kết hợp thành một ký hiệu duy nhất, ký hiệu này có thể chứng minh tính hợp lệ của tất cả các ký hiệu gốc. Ở lớp L1, do ngay cả khi thực hiện tổng hợp, chi phí tính toán xác thực vẫn cao, nên không xem xét việc sử dụng ký hiệu BLS. Nhưng trong môi trường như L2, nơi dữ liệu khan hiếm, việc sử dụng ký hiệu BLS là hợp lý. Tính năng tổng hợp của ERC-4337 cung cấp một con đường để thực hiện chức năng này.

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 3
  • Chia sẻ
Bình luận
0/400
PretendingToReadDocsvip
· 7giờ trước
Ôi chao, lại là giai đoạn vẽ bánh.
Xem bản gốcTrả lời0
RunWhenCutvip
· 7giờ trước
Cuối cùng cũng phải To da moon? Dù sao cũng là tiếng cắt lưỡi kêu kêu.
Xem bản gốcTrả lời0
ImpermanentSagevip
· 7giờ trước
Cứ như bạn đang mang theo mùi vị của đội quân đẩy cổ phiếu lên cao cả ngày.
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)