Bài viết mới của Vitalik: Làm cách nào để rút ngắn thời gian xác nhận giao dịch của Ethereum?

Bài viết này được dịch máy
Xem bản gốc

Một tính năng thiết yếu của trải nghiệm người dùng blockchain tốt là thời gian xác nhận giao dịch nhanh. Ethereum ngày nay đã đạt được tiến bộ vượt bậc so với 5 năm trước. Nhờ thời gian tạo khối ổn định sau khi sáp nhập EIP-1559 và PoS, các giao dịch do người dùng gửi trên L1 có thể được nhận trong vòng 5-20 giây. trải nghiệm thanh toán thẻ. Tuy nhiên, trải nghiệm người dùng của Ethereum vẫn cần cải thiện hơn nữa, vì một số ứng dụng yêu cầu trì hoãn giao dịch hàng trăm mili giây hoặc thậm chí ít hơn. Bài viết này sẽ giới thiệu một số giải pháp thiết thực để tăng tốc thời gian xác nhận giao dịch Ethereum.

Tổng quan về các ý tưởng và công nghệ hiện có

Tính hữu hạn của một khe duy nhất

Sự đồng thuận Gasper của Ethereum hiện áp dụng kiến ​​trúc slot và epoch. Cứ sau 12 giây (độ dài của một vị trí), một tập hợp con người xác nhận sẽ bỏ phiếu cho khối mới nhất của blockchain. Trong vòng 32 vị trí (6,4 phút, một kỷ nguyên chứa 32 vị trí), tất cả người xác thực sẽ có cơ hội bỏ phiếu một lần. Những phiếu bầu này sau đó được diễn giải lại dưới dạng thông điệp trong thuật toán đồng thuận tương tự như PBFT, thuật toán này cung cấp sự đảm bảo kinh tế rất nghiêm ngặt sau hai kỷ nguyên (12,8 phút), đây là quyết định cuối cùng.

Trong vài năm qua, chúng tôi ngày càng không hài lòng với phương pháp này. Những lý do chính là: (i) phức tạp, có nhiều lỗi tương tác giữa cơ chế bỏ phiếu theo từng vị trí và cơ chế quyết định cuối cùng theo từng kỷ nguyên; (ii) 12,8 phút là quá dài và không ai muốn chờ đợi điều đó; dài.

Tính hữu hạn của một khe (SSF) thay thế kiến ​​trúc này bằng cơ chế tương tự như sự đồng thuận của Tendermint, trong đó khối N được hoàn thành trước khi khối N+1 được tạo. Sự khác biệt chính so với Tendermint là chúng tôi giữ lại cơ chế "rò rỉ không hoạt động", cho phép blockchain tiếp tục chạy và phục hồi nếu hơn 1/3 số trình xác thực ngoại tuyến.

Thách thức chính với SSF là nó dường như ngụ ý rằng mỗi nhà đầu tư Ethereum cần xuất bản hai tin nhắn cứ sau 12 giây, đây là một gánh nặng đáng kể đối với blockchain. Có một số ý tưởng khéo léo để giảm thiểu điều này, bao gồm Staking Đề án Orbit SSF gần đây (https://ethresear.ch/t/orbit-ssf-solo-stake-friend-validator-set-management-for-ssf/19928). Mặc dù vậy, giải pháp này có thể cải thiện đáng kể trải nghiệm người dùng bằng cách tăng tốc độ "cuối cùng" nhưng không rút ngắn thời gian người dùng phải chờ 5-20 giây.

Xác nhận trước tổng hợp

Trong vài năm qua, Ethereum đã đi theo lộ trình tập trung vào Rollup, thiết kế lớp cơ sở Ethereum (L1) xung quanh việc hỗ trợ tính khả dụng dữ liệu và các tính năng khác. Các tính năng này được sử dụng bởi các giao thức L2 như Rollup (cũng như Validiums và Plasmas), có thể cung cấp cho người dùng mức độ bảo mật tương tự như Ethereum, nhưng quy mô giao dịch của chúng lớn hơn nhiều so với L1.

Điều này tạo ra sự tách biệt các mối quan tâm trong hệ sinh thái Ethereum: Ethereum L1 có thể tập trung vào khả năng chống kiểm duyệt, độ tin cậy, tính ổn định cũng như duy trì và cải thiện một số chức năng cơ bản cốt lõi nhất định, trong khi L2 có thể tập trung vào những người dùng có trải nghiệm đánh đổi văn hóa và kỹ thuật khác nhau. Nhưng nếu bạn đi theo con đường này, một vấn đề không thể tránh khỏi sẽ phát sinh: L2 tập trung phục vụ những người dùng muốn xác nhận nhanh hơn, trong vòng 5-20 giây.

Cho đến nay, việc tạo ra mạng lưới “ sắp xếp phi tập trung ” của riêng mình đã trở thành trách nhiệm không thể trốn tránh của L2. Có lẽ cứ sau vài trăm mili giây, các khối được ký bởi một nhóm nhỏ người xác thực mà họ đặt cọc token của mình. Cuối cùng, Block Header của các khối L2 này sẽ được xuất bản lên L1.

Bộ trình xác thực L2 có thể gian lận: họ có thể ký khối B1 trước, sau đó ký khối B2 xung đột với B1 và ​​cam kết nó vào Chuỗi trước B1. Nhưng nếu làm vậy, họ sẽ bị phạt và mất tiền đặt cọc. Chúng tôi đã thấy các phiên bản tập trung của phương pháp này trong thực tế, nhưng Rollup đã chậm phát triển mạng sắp xếp phi tập trung . Bạn có thể lập luận rằng việc yêu cầu sắp xếp phi tập trung cho cả L2 là một thỏa thuận thô: nó tương đương với việc yêu cầu Rollup thực hiện công việc tương tự như tạo một L1 hoàn toàn mới. Vì một số lý do, nhà nghiên cứu Justin Drake của Ethereum Foundation đã quảng bá một phương pháp để cung cấp cho tất cả các L2 (cũng như L1) quyền truy cập vào cơ chế xác nhận trước Ethereum được chia sẻ: xác nhận trước dựa trên.

Xác nhận trước dựa trên (Xác nhận trước dựa trên)

Phương pháp dựa trên các xác nhận trước giả định rằng những người đề xuất Ethereum sẽ là những tác nhân rất tinh vi vì những lý do liên quan đến MEV (xem tại đây để biết phần giải thích của tôi về MEV, xem thêm Đề án ). Phương pháp xác nhận trước dựa trên khai thác sự phức tạp này và khích lệ những người đề xuất phức tạp này cung cấp dịch vụ xác nhận trước.

Ý tưởng cơ bản là tạo ra một giao thức được tiêu chuẩn hóa mà qua đó người dùng có thể cung cấp phí bổ sung để đổi lấy sự đảm bảo ngay lập tức rằng các giao dịch của họ sẽ được đưa vào khối tiếp theo và nhận được thông báo về kết quả thực hiện giao dịch đó. Nếu người đề xuất vi phạm lời hứa với bất kỳ người dùng nào, họ sẽ bị trừng phạt.

Như đã đề cập ở trên, cơ chế xác nhận trước dựa trên cơ sở này sẽ cung cấp sự bảo vệ cho các giao dịch L1. Nếu Bản tổng hợp là "Bản tổng hợp dựa trên" (Lưu ý: Bản tổng hợp dựa trên được Justin Drake đề xuất vào tháng 3 năm 2023 và là Bản tổng hợp trong đó sắp xếp được hoàn thành hoàn toàn bởi L1), thì tất cả các khối L2 đều là giao dịch L1, do đó, cơ chế tương tự có thể được sử dụng Cung cấp xác nhận trước cho bất kỳ L2 nào.

Nhìn lên gì?

Giả sử chúng ta triển khai tính chất cuối cùng của một vị trí. Chúng tôi sử dụng công nghệ tương tự như Orbit để giảm số lượng người xác thực cho mỗi chữ ký vị trí, do đó chúng tôi cũng có thể giảm số tiền cam kết tối thiểu là 32 ETH, có thể nói là một mũi tên trúng hai con chim. Do đó, thời gian của slot có thể tăng dần lên 16 giây. Sau đó, chúng tôi sử dụng xác nhận trước tổng hợp hoặc xác nhận trước dựa trên để cung cấp sự đảm bảo nhanh hơn cho người dùng. Bây giờ chúng ta nhận được gì? Một kiến ​​trúc kỷ nguyên và khe cắm.

Meme "chúng là cùng một biểu đồ" đã bị lạm dụng quá mức, vì vậy tôi sẽ chỉ tổng hợp một biểu đồ cũ mà tôi đã vẽ cách đây vài năm cùng với biểu đồ xác thực trước L2 để mô tả kiến ​​trúc khe và kỷ nguyên của Gasper. có thể giải thích rõ ràng.

Có một lý do triết học sâu sắc giải thích tại sao mọi người chắc chắn phải sử dụng kiến ​​trúc thời đại và thời điểm: việc đạt được thỏa thuận gần đúng về một điều gì đó vốn dĩ đòi hỏi nhiều nỗ lực hơn là đạt được thỏa thuận "cuối cùng về kinh tế" tối đa về một điều gì đó với ít thời gian hơn.

Một lý do đơn giản là số lượng nút. Mặc dù phi tập trung/thời gian quyết toán lũy tiến/sự đánh đổi chi phí chung hiện nay trông khiêm tốn hơn nhờ tính năng tổng hợp BLS được tối ưu hóa cực cao và ZK-STARK trong tương lai gần, về cơ bản, quan điểm sau vẫn đúng:

· "Tính nhất quán gần đúng" chỉ yêu cầu một số lượng nhỏ nút, trong khi tính hữu hạn về mặt kinh tế đòi hỏi một phần đáng kể của tất cả nút.

· Khi số lượng nút vượt quá một quy mô nhất định, bạn cần dành nhiều thời gian hơn để thu thập chữ ký.

Trong Ethereum hiện tại, vị trí 12 giây được chia thành ba vị trí phụ để (i) xuất bản và phân phối khối, (ii) bằng chứng (iii) tổng hợp bằng chứng. Nếu số lượng người chuẩn ít hơn nhiều, chúng ta có thể giảm số lượng này xuống còn hai vị trí phụ và có thời gian là 8 giây. Một yếu tố khác thực sự quan trọng hơn là "chất lượng" của nút. Nếu chúng ta cũng có thể dựa vào một nút các nút chuyên biệt để đạt được thỏa thuận gần đúng (và vẫn sử dụng bộ trình xác thực đầy đủ để đạt được kết quả cuối cùng), thì chúng ta có thể giảm thời gian này xuống còn khoảng 2 giây một cách hợp lý.

Vì vậy, tôi cho rằng(i) kiến ​​trúc khe và kỷ nguyên rõ ràng là chính xác, nhưng (ii) không phải tất cả các kiến ​​trúc khe và kỷ nguyên đều giống nhau và chúng ta cần khám phá không gian thiết kế một cách đầy đủ hơn. Đặc biệt, những giải pháp không đan xen chặt chẽ như Gasper rất đáng để khám phá.

L2 nên làm gì?

Theo tôi, hiện tại có 3 chiến lược hợp lý mà L2 có thể áp dụng:

· Dù là trình độ kỹ thuật hay trình độ tâm linh đều phải có “căn cứ”. Nói cách khác, L2 là kênh phân phối tốt hơn cho các thuộc tính kỹ thuật Ethereum và giá trị của nó (phi tập trung cao, khả năng chống kiểm duyệt, v.v.). Ở dạng đơn giản nhất, bạn có thể coi các bản tổng hợp này là "các phân đoạn có thương hiệu", nhưng chúng cũng có thể tham vọng hơn nhiều và liên quan đến việc thử nghiệm lượng lớn với các thiết kế máy ảo mới cũng như các cải tiến kỹ thuật khác.

· Trở thành “máy chủ có giàn giáo blockchain” và tận dụng tối đa nó. Nếu bạn bắt đầu với máy chủ, hãy thêm (i) bằng chứng về tính hợp lệ của STARK để đảm bảo rằng máy chủ tuân thủ các quy tắc, (ii) đảm bảo quyền rút lui hoặc ép buộc giao dịch của người dùng và có thể (iii) quyền tự do lựa chọn tập thể, cho dù thông qua việc phối hợp thoát Quy mô lớn hoặc khả năng thay đổi sắp xếp thông qua bỏ phiếu, thì bạn đã đạt được rất nhiều lợi ích trên Chuỗi trong khi vẫn giữ được phần lớn hiệu quả của máy chủ.

· Một sự thỏa hiệp: một blockchain nhanh với 100 nút , dựa vào Ethereum để cung cấp thêm khả năng tương tác và bảo mật. Đây thực tế là lộ trình hiện tại của nhiều dự án L2.

Đối với một số ứng dụng (chẳng hạn như ENS, kho khóa và một số trường hợp thanh toán), thời gian chặn là 12 giây là đủ. Đối với các ứng dụng yêu cầu thời gian xác nhận ngắn hơn, giải pháp duy nhất là kiến ​​trúc khe và kỷ nguyên. Trong cả ba trường hợp, "epoch" là SSF của Ethereum(có lẽ chúng ta có thể định nghĩa lại từ viết tắt để có nghĩa khác hơn là "single slot", ví dụ: nó có thể là "Secure Speedy Finality"). Nhưng trong ba trường hợp trên, "khe" lại khác:

· Kiến trúc khe và kỷ nguyên gốc của Ethereum

· Xác nhận trước máy chủ

· Ủy ban xác nhận trước

Câu hỏi quan trọng là chúng ta có thể tạo ra thứ gì đó thuộc loại (1) tốt đến mức nào? Đặc biệt, nếu nó thực sự tốt thì loại (3) dường như ít có ý nghĩa hơn. Danh mục (2) sẽ luôn tồn tại vì mọi thứ "dựa trên" đều không áp dụng cho dữ liệu L2 Chuỗi , chẳng hạn như Plasma và Validium. Nhưng nếu kiến ​​trúc slot-and-epoch gốc của Ethereum có thể được rút ngắn xuống thời gian “khe” (tức là xác nhận trước) là 1 giây, thì không gian cho danh mục (3) sẽ trở nên nhỏ hơn nhiều.

Ngày nay, chúng ta vẫn còn lâu mới có được câu trả lời cuối cùng cho những câu hỏi này. Những người đề xuất chặn sẽ trở nên phức tạp như thế nào? Vẫn còn sự không chắc chắn đáng kể về câu trả lời cho câu hỏi quan trọng này. Các thiết kế như Orbit SSF rất mới lạ, vì vậy không gian thiết kế của các giải pháp khe và kỷ nguyên như Orbit SSF vẫn cần được khám phá nhiều hơn. Càng có nhiều lựa chọn, chúng tôi càng có thể làm tốt hơn cho người dùng trên L1 và L2, đồng thời chúng tôi càng tạo điều kiện dễ dàng hơn cho các nhà phát triển L2.

Chào mừng bạn tham gia cộng đồng chính thức BlockBeats BlockBeats:

Nhóm đăng ký Telegram: https://t.me/theblockbeats

Nhóm liên lạc Telegram: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

Nguồn
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
Thêm vào Yêu thích
Bình luận