Ưu điểm cốt lõi của Web3 là tính xác minh - người dùng có thể xác minh cách hệ thống hoạt động thực sự. Điều này giải thích tại sao nhiều người trong và ngoài ngành công nghiệp tiền điện tử mô tả web3 như một bước tiến về một internet minh bạch và có thể xác minh hơn.
Khác với các nền tảng Web2 như Facebook hoặc Instagram, nơi các thuật toán và quy tắc vẫn không rõ ràng ngay cả khi đã được ghi chép, các giao thức crypto được thiết kế để hoàn toàn có thể kiểm tra. Ngay cả khi chúng được chia sẻ, bạn thiếu khả năng xác minh xem nền tảng hoạt động như đã được chỉ định hay không. Điều này hoàn toàn trái ngược với crypto, nơi mỗi giao thức được thiết kế để có thể được kiểm tra càng nhiều càng tốt - hoặc ít nhất là được kỳ vọng.
Hôm nay, chúng ta sẽ khám phá một phần từ bài viết gần đây của Vitalik về “The Verge”.chương trình gồm sáu phần về tương lai của Ethereum, để phân tích các bước mà Ethereum đang thực hiện để đạt được tính xác thực, bền vững và khả năng mở rộng trong tương lai. Dưới tiêu đề ‘The Verge’, chúng tôi sẽ thảo luận về cách kiến trúc blockchain có thể trở nên xác thực hơn, các đổi mới mà những thay đổi này mang lại ở mức giao thức và cách chúng cung cấp cho người dùng một hệ sinh thái an toàn hơn. Hãy bắt đầu!
Các ứng dụng Web2 hoạt động như các “hộp đen” - người dùng chỉ có thể thấy các đầu vào của họ và các đầu ra tương ứng, mà không thể nhìn thấy cách thức hoạt động thực tế của ứng dụng. Ngược lại, các giao thức tiền điện tử thường làm cho mã nguồn của họ trở nên công khai, hoặc ít nhất có kế hoạch làm như vậy. Sự minh bạch này phục vụ hai mục đích: nó cho phép người dùng tương tác trực tiếp với mã nguồn của giao thức nếu họ muốn, và giúp họ hiểu rõ cách hệ thống hoạt động và những quy tắc quản lý nó.
“Phân tán những gì bạn có thể, xác minh phần còn lại.”
Xác thực đảm bảo hệ thống có tính chất có trách nhiệm và, trong nhiều trường hợp, đảm bảo rằng các giao thức hoạt động như dự định. Nguyên tắc này nhấn mạnh tầm quan trọng của việc giảm thiểu trung tâm hóa, vì nó thường dẫn đến các cấu trúc không minh bạch, không có trách nhiệm mà người dùng không thể xác minh hoạt động. Thay vào đó, chúng ta nên cố gắng phân tán càng nhiều càng tốt và tạo ra những yếu tố còn lại có thể xác thực và có trách nhiệm trong những trường hợp không thể phân tán.
Cộng đồng Ethereum dường như đồng ý với quan điểm này, khi lộ trìnhbao gồm một mốc (gọi là “The Verge”) nhằm mục tiêu làm cho Ethereum có thể xác minh hơn. Tuy nhiên, trước khi đi sâu vào The Verge, chúng ta cần hiểu rõ những khía cạnh của các chuỗi khối cần được xác minh và những phần quan trọng từ quan điểm của người dùng.
Blockchains về cơ bản hoạt động như các đồng hồ toàn cầu. Trong một mạng phân tán với khoảng 10.000 máy tính, một giao dịch có thể mất một thời gian đáng kể để lan truyền từ nút gốc đến tất cả các nút khác. Vì lí do này, các nút trên mạng không thể xác định chính xác thứ tự của các giao dịch - liệu một giao dịch đã đến trước hay sau một giao dịch khác - vì họ chỉ có quan điểm chủ quan của riêng mình.
Do vì thứ tự của giao dịch rất quan trọng, mạng blockchain sử dụng các phương pháp chuyên biệt được gọi là “các thuật toán đồng thuậnđể đảm bảo rằng các nút vẫn đồng bộ và xử lý chuỗi giao dịch theo cùng một thứ tự. Mặc dù các nút không thể xác định thứ tự giao dịch toàn cầu, cơ chế đồng thuận cho phép tất cả các nút đồng ý với cùng một chuỗi, cho phép mạng hoạt động như một máy tính đơn nhất.
Bên cạnh lớp đồng thuận, còn có lớp thực thi tồn tại trong mọi blockchain. Lớp thực thi được tạo ra bởi các giao dịch mà người dùng muốn thực hiện.
Sau khi giao dịch được xác nhận thành công bằng sự đồng thuận, mỗi giao dịch phải được áp dụng vào trạng thái hiện tại tại lớp thực thi. Nếu bạn đang tự hỏi, “Trạng thái là gì?”, có lẽ bạn đã thấy blockchain được so sánh với cơ sở dữ liệu—hoặc cụ thể hơn là cơ sở dữ liệu của ngân hàng vì blockchain, giống như ngân hàng, duy trì một bản ghi về số dư của mọi người.
Nếu bạn có $100 trong trạng thái chúng ta gọi là “S” và muốn gửi $10 cho người khác, số dư của bạn trong trạng thái tiếp theo, “S+1”, sẽ là $90. Quá trình áp dụng giao dịch để chuyển từ trạng thái này sang trạng thái khác chính là điều chúng ta gọi là chức năng chuyển trạng thái (STF).
Trong Bitcoin, STF chủ yếu giới hạn ở những thay đổi số dư, làm cho nó tương đối đơn giản. Tuy nhiên, khác với Bitcoin, STF của Ethereum phức tạp hơn nhiều vì Ethereum là một blockchain có thể lập trình hoàn toàn với một lớp thực thi có khả năng chạy mã.
Trong một chuỗi khối, có ba thành phần cơ bản mà bạn cần hoặc có thể xác minh:
Nếu điều này dường như rắc rối hoặc không rõ ràng, đừng lo lắng. Chúng tôi sẽ đi qua từng khía cạnh này một cách chi tiết. Hãy bắt đầu với cách xác minh trạng thái blockchain!
“Trạng thái” của Ethereum đề cập đến tập hợp dữ liệu được lưu trữ trong blockchain tại bất kỳ thời điểm nào. Điều này bao gồm số dư tài khoản (tài khoản hợp đồng và tài khoản thuộc sở hữu bên ngoài hoặc EOA), mã hợp đồng thông minh, lưu trữ hợp đồng và hơn thế nữa. Ethereum là một máy dựa trên trạng thái vì các giao dịch được xử lý trong Máy ảo Ethereum (EVM) làm thay đổi trạng thái trước đó và tạo ra một trạng thái mới.
Mỗi khối Ethereum chứa một giá trị tóm tắt trạng thái hiện tại của mạng sau khối đó: stateRoot. Giá trị này là một biểu diễn nhỏ gọn của toàn bộ trạng thái Ethereum, bao gồm một băm 64 ký tự.
Khi mỗi giao dịch mới thay đổi trạng thái, trạng thái Gốc được ghi lại trong khối tiếp theo sẽ được cập nhật tương ứng. Để tính giá trị này, các người xác minh Ethereum sử dụng sự kết hợp của hàm băm Keccak và một cấu trúc dữ liệu gọi là Cây Merkletổ chức và tóm tắt các phần khác nhau của trạng thái.
Hàm băm là các hàm một chiều biến đổi một đầu vào thành một đầu ra cố định. Trong Ethereum, các hàm băm như Keccakđược sử dụng để tạo ra các bản tóm tắt dữ liệu, phục vụ như một loại vân tay cho đầu vào. Hàm băm có bốn tính chất cơ bản:
Nhờ những tính chất này, các máy chủ xác nhận Ethereum có thể thực hiện chức năng chuyển đổi trạng thái (STF) cho mỗi khối - thực hiện tất cả giao dịch trong khối và áp dụng chúng vào trạng thái - sau đó xác minh xem trạng thái được chỉ ra trong khối có khớp với trạng thái thu được sau STF. Quá trình này đảm bảo người đề xuất khối đã hành động trung thực, làm cho đó trở thành một trong những trách nhiệm chính của các máy chủ xác nhận.
Tuy nhiên, người xác thực Ethereum không băm toàn bộ trạng thái trực tiếp để tìm tóm tắt của nó. Do tính chất một chiều của các hàm băm, việc băm trạng thái trực tiếp sẽ loại bỏ tính xác minh, vì cách duy nhất để tái tạo lại hàm băm sẽ là sở hữu toàn bộ trạng thái.
Vì trạng thái của Ethereum có kích thước hàng terabyte, nên không thực tế để lưu toàn bộ trạng thái trên các thiết bị hàng ngày như điện thoại hoặc máy tính cá nhân. Vì lý do này, Ethereum sử dụng cấu trúc cây Merkle để tính toán stateRoot, bảo tồn tính xác thực của trạng thái càng nhiều càng tốt.
Một cây Merklelà một cấu trúc dữ liệu mật mã được sử dụng để xác minh tính toàn vẹn và đúng đắn của dữ liệu một cách an toàn và hiệu quả. Cây Merkle được xây dựng dựa trên các hàm băm và tổ chức các giá trị băm của một tập dữ liệu theo cấp bậc, cho phép xác minh tính toàn vẹn và đúng đắn của dữ liệu này. Cấu trúc cây này bao gồm ba loại nút:
Nếu bạn đang tự hỏi làm thế nào để xây dựng một cây như vậy, nó chỉ liên quan đến hai bước đơn giản:
Hash cuối cùng nhận được ở đỉnh cây được gọi là Merkle root. Merkle Root đại diện cho bản tóm tắt mật mã của toàn bộ cây và cho phép xác minh an toàn tính toàn vẹn dữ liệu.
Chứng minh Merkle giúp người Xác minh xác thực một cách hiệu quả các mảnh dữ liệu cụ thể bằng cách cung cấp một loạt các giá trị băm tạo ra một đường dẫn từ dữ liệu được nhắm mục tiêu (một nút lá) đến Gốc Merkle được lưu trữ trong tiêu đề khối. Chuỗi băm trung gian này cho phép người Xác minh xác nhận tính xác thực của dữ liệu mà không cần băm toàn bộ trạng thái.
Bắt đầu từ điểm dữ liệu cụ thể, Verifier kết hợp nó với mỗi hash “sibling” được cung cấp trong Merkle Proof và băm chúng từng bước lên cây. Quá trình này tiếp tục cho đến khi chỉ còn một hash duy nhất được tạo ra. Nếu hash tính toán này khớp với Merkle Root đã lưu trữ, dữ liệu được coi là hợp lệ; nếu không, Verifier có thể xác định rằng dữ liệu không tương ứng với trạng thái được tuyên bố.
Hãy nói rằng chúng ta đã nhận được Dữ liệu #4 từ một RPC và muốn xác minh tính xác thực của nó bằng cách sử dụng một Chứng minh Merkle. Để làm điều này, RPC sẽ cung cấp một tập hợp các giá trị băm trên đường dẫn cần thiết để đạt đến Gốc Merkle. Đối với Dữ liệu 4 này, các giá trị băm anh em này sẽ bao gồm Hash #3, Hash #12 và Hash #5678.
Nếu Merkle Root tính toán khớp với root trạng thái trong khối, chúng ta xác nhận rằng Dữ liệu #4 thực sự hợp lệ trong trạng thái này. Nếu không, chúng ta biết rằng dữ liệu không thuộc về trạng thái được tuyên bố, cho thấy có khả năng là đã bị can thiệp. Như bạn có thể thấy, mà không cần cung cấp các hash của tất cả dữ liệu hoặc yêu cầu Verifier phải xây dựng lại toàn bộ Merkle Tree từ đầu, Prover có thể chứng minh rằng Dữ liệu #4 tồn tại trong trạng thái và không bị thay đổi trong quá trình di chuyển—chỉ sử dụng ba hash. Đây là lý do chính tại sao Merkle Proofs được coi là hiệu quả.
Mặc dù cây Merkle không thể phủ nhận hiệu quả trong việc cung cấp xác minh dữ liệu an toàn và hiệu quả trong các hệ thống blockchain lớn như Ethereum, nhưng liệu chúng có đủ hiệu quả không? Để trả lời câu hỏi này, chúng ta phải phân tích cách hiệu suất và kích thước của cây Merkle ảnh hưởng đến mối quan hệ Chứng minh- Xác minh.
Hãy sử dụng một ví dụ để hiểu rõ hơn về tác động của nó. Hệ số nhánh xác định số nhánh nảy ra từ mỗi nút trong cây.
Khi chuỗi khối Ethereum phát triển, mỗi giao dịch, hợp đồng hoặc tương tác người dùng mới đều đóng góp vào bộ dữ liệu, cây Merkle cũng phải mở rộng. Sự phát triển này không chỉ tăng kích thước của cây mà còn ảnh hưởng đến kích thước chứng minh và thời gian xác minh.
Tóm lại, mặc dù cây Merkle mang lại một mức độ hiệu quả, nhưng chúng không đáp ứng được một giải pháp tối ưu cho tập dữ liệu ngày càng tăng của Ethereum. Vì lí do này, trong giai đoạn The Verge, Ethereum nhằm thay thế cây Merkle bằng một cấu trúc hiệu quả hơn được gọi là Cây Verkle. Cây Verkle có tiềm năng cung cấp kích thước bằng chứng nhỏ hơn trong khi vẫn duy trì cùng mức độ bảo mật, làm cho quá trình xác minh trở nên bền vững và có thể mở rộng hơn cho cả Người chứng minh và Người xác minh.
Verge được phát triển như một cột mốc trong lộ trình của Ethereum nhằm cải thiện tính xác thực, tăng cường cấu trúc phi tập trung của blockchain và nâng cao bảo mật mạng. Một trong những mục tiêu chính của mạng Ethereum là cho phép bất kỳ ai dễ dàng chạy một trình xác thực để xác minh chuỗi, tạo ra một cấu trúc nơi mọi người có thể tham gia mà không cần tập trung quyền lực. Sự truy cập vào quá trình xác minh này là một trong những tính năng chính phân biệt blockchain với hệ thống tập trung. Trong khi các hệ thống tập trung không cung cấp khả năng xác minh, tính chính xác của một blockchain hoàn toàn nằm trong tay người dùng của nó. Tuy nhiên, để duy trì đảm bảo này, việc chạy một trình xác minh phải dễ dàng tiếp cận với tất cả mọi người - một thách thức mà, trong hệ thống hiện tại, bị giới hạn do yêu cầu lưu trữ và tính toán.
Kể từ khi chuyển sang mô hình đồng thuận Proof-of-Stake với The Merge, các nhà xác minh Ethereum đã có hai trách nhiệm chính:
Để hoàn thành trách nhiệm thứ hai, người xác thực phải có quyền truy cập vào trạng thái trước khi chặn. Điều này cho phép họ thực hiện các giao dịch của khối và lấy được trạng thái tiếp theo. Tuy nhiên, yêu cầu này đặt ra gánh nặng lớn cho người xác nhận, vì họ cần xử lý các yêu cầu lưu trữ quan trọng. Mặc dù Ethereum được thiết kế để khả thi và chi phí lưu trữ đã giảm trên toàn cầu, nhưng vấn đề là ít hơn về chi phí và nhiều hơn về sự phụ thuộc vào phần cứng chuyên dụng cho trình xác thực. The Verge nhằm mục đích vượt qua thách thức này bằng cách tạo ra một cơ sở hạ tầng nơi xác minh đầy đủ có thể được thực hiện ngay cả trên các thiết bị có bộ nhớ hạn chế, chẳng hạn như điện thoại di động, ví trình duyệt và thậm chí cả đồng hồ thông minh, cho phép trình xác thực chạy trên các thiết bị này.
Chuyển đổi sang Cây Verkle là một phần quan trọng của quá trình này. Ban đầu, The Verge tập trung vào việc thay thế cấu trúc Cây Merkle của Ethereum bằng Cây Verkle. Lý do chính để áp dụng Cây Verkle là vì Cây Merkle tạo ra một rào cản đáng kể đối với tính xác minh của Ethereum. Trong khi Cây Merkle và bằng chứng của chúng có thể hoạt động hiệu quả trong các tình huống bình thường, hiệu suất của chúng giảm đáng kể trong các tình huống xấu nhất.
Theo các tính toán của Vitalik, kích thước bằng chứng trung bình là khoảng 4 KB, nghe có vẻ dễ quản lý. Tuy nhiên, trong các kịch bản xấu nhất, kích thước bằng chứng có thể phình to lên đến 330 MB. Vâng, bạn đã đọc đúng đó—330 MB.
Sự vô hiệu tuyệt đối của cây Merkle của Ethereum trong các tình huống xấu nhất xuất phát từ hai nguyên nhân chính:
Kích thước bằng chứng tỷ lệ thuận với hệ số phân nhánh. Giảm hệ số phân nhánh làm giảm kích thước bằng chứng. Để giải quyết những vấn đề này và cải thiện các tình huống xấu nhất, Ethereum có thể chuyển từ Hexary Trees sang Binary Merkle Trees và bắt đầu hợp nhất các mã hợp đồng. Nếu hệ số phân nhánh trong Ethereum giảm từ 16 xuống còn 2 và mã hợp đồng cũng được hợp nhất, kích thước bằng chứng tối đa có thể giảm xuống còn 10 MB. Mặc dù đây là một cải tiến đáng kể, nhưng điều quan trọng cần lưu ý là chi phí này chỉ áp dụng cho việc xác minh một phần dữ liệu. Ngay cả một giao dịch đơn giản truy cập nhiều mẩu dữ liệu cũng sẽ yêu cầu bằng chứng lớn hơn. Với số lượng giao dịch trên mỗi khối và trạng thái phát triển liên tục của Ethereum, giải pháp này, mặc dù tốt hơn, vẫn không hoàn toàn khả thi.
Vì những lý do này, cộng đồng Ethereum đã đề xuất hai giải pháp khác nhau để giải quyết vấn đề:
Cây Verkle, như tên gọi của nó, là cấu trúc cây tương tự như Cây Merkle. Tuy nhiên, sự khác biệt quan trọng nhất nằm ở tính hiệu quả mà chúng cung cấp trong quá trình xác minh. Trong Cây Merkle, nếu một nhánh chứa 16 mảnh dữ liệu và chúng ta muốn xác minh chỉ một trong số chúng, một chuỗi băm bao phủ 15 mảnh dữ liệu còn lại cũng phải được cung cấp. Điều này tăng đáng kể gánh nặng tính toán của quá trình xác minh và dẫn đến kích thước bằng chứng lớn.
Ngược lại, Cây Verkle sử dụng một cấu trúc chuyên biệt được biết đến là “Cam kết Vector dựa trên đường cong Elliptic”, cụ thể hơn là Cam kết Vector dựa trên Biện pháp Sản phẩm Nội tại (IPA). Vector về cơ bản là một danh sách các phần tử dữ liệu được tổ chức theo một chuỗi cụ thể. Trạng thái của Ethereum có thể được coi như là một vector: một cấu trúc trong đó nhiều phần tử dữ liệu được lưu trữ theo một thứ tự cụ thể, với mỗi phần tử đều quan trọng. Trạng thái này bao gồm các thành phần dữ liệu khác nhau như địa chỉ, mã hợp đồng và thông tin lưu trữ, trong đó thứ tự của các phần tử này đóng một vai trò quan trọng trong việc truy cập và xác minh.
Vector Commitments là các phương pháp mật mã được sử dụng để chứng minh và xác minh các phần tử dữ liệu trong một tập dữ liệu. Những phương pháp này cho phép xác minh cả sự tồn tại và thứ tự của mỗi phần tử trong tập dữ liệu một cách đồng thời. Ví dụ, Merkle Proofs, được sử dụng trong Merkle Trees, cũng có thể coi là một hình thức của Vector Commitment. Trong khi Merkle Trees yêu cầu tất cả các chuỗi hash liên quan để xác minh một phần tử, cấu trúc này tự nhiên chứng minh rằng tất cả các phần tử của một vector được kết nối theo một trình tự cụ thể.
Khác với cây Merkle, cây Verkle sử dụng cam kết vector dựa trên đường cong elliptic mang lại hai lợi ích quan trọng:
Những tính năng của cam kết vector dựa trên đường cong elip giúp giảm đáng kể lượng dữ liệu cần thiết cho quá trình xác minh, cho phép cây Verkle tạo ra các bằng chứng nhỏ gọn, kích thước không đổi ngay cả trong các tình huống xấu nhất. Điều này giảm thiểu overhead dữ liệu và thời gian xác minh, cải thiện hiệu suất của các mạng quy mô lớn như Ethereum. Kết quả là, việc sử dụng cam kết vector dựa trên đường cong elip trong cây Verkle giúp việc xử lý trạng thái mở rộng của Ethereum trở nên dễ quản lý và hiệu quả hơn.
Giống như tất cả các đổi mới khác, Cây Verkle cũng có nhược điểm của chúng. Một trong những hạn chế chính của chúng là chúng phụ thuộc vào mật mã đường cong elip, mà có thể bị tấn công bởi máy tính lượng tử. Máy tính lượng tử có sức mạnh tính toán hơn rất nhiều so với các phương pháp cổ điển, tạo ra mối đe dọa đáng kể đối với các giao thức mật mã dựa trên đường cong elip. Các thuật toán lượng tử có thể phá hoặc làm suy yếu hệ thống mật mã này, gây lo ngại về an ninh dài hạn của Cây Verkle.
Vì lý do này, mặc dù Cây Verkle đề xuất một giải pháp hứa hẹn đối với việc không có trạng thái, nhưng chúng không phải là phương pháp sửa chữa cuối cùng. Tuy nhiên, những con số như Dankrad Feist đã nhấn mạnh rằng, trong khi cần phải xem xét cẩn thận khi tích hợp mật mã chống lại lượng tử vào Ethereum, đáng lưu ý rằng các cam kết KZG hiện đang được sử dụng cho các khối trong Ethereum cũng không chống lại lượng tử. Do đó, Cây Verkle có thể phục vụ như một giải pháp tạm thời, cung cấp thêm thời gian cho mạng để phát triển các phương án thay thế mạnh mẽ hơn.
Verkle Trees cung cấp kích thước bằng chứng nhỏ hơn và quy trình xác minh hiệu quả so với Merkle Trees, giúp quản lý trạng thái ngày càng phát triển của Ethereum dễ dàng hơn. Nhờ các cam kết vectơ dựa trên đường cong Elliptic, các bằng chứng quy mô lớn có thể được tạo ra với dữ liệu ít hơn đáng kể. Tuy nhiên, bất chấp những lợi thế ấn tượng của chúng, lỗ hổng của Verkle Trees đối với máy tính lượng tử khiến chúng chỉ là một giải pháp tạm thời. Trong khi cộng đồng Ethereum coi Verkle Trees là một công cụ ngắn hạn để câu giờ, trọng tâm dài hạn là chuyển sang các giải pháp kháng lượng tử. Đây là nơi STARK Proofs và Binary Merkle Trees trình bày một giải pháp thay thế mạnh mẽ để xây dựng cơ sở hạ tầng xác minh mạnh mẽ hơn cho tương lai.
Trong quá trình xác minh trạng thái của Ethereum, hệ số nhánh của Cây Merkle có thể được giảm (từ 16 xuống còn 2) bằng cách sử dụng Cây Merkle Nhị phân. Thay đổi này là một bước quan trọng để giảm kích thước chứng minh và làm cho quá trình xác minh hiệu quả hơn. Tuy nhiên, ngay cả trong trường hợp xấu nhất, kích thước chứng minh vẫn có thể đạt đến 10 MB, đó là một số lượng đáng kể. Đây là nơi mà Chứng minh STARK đóng vai trò, nén các Chứng minh Merkle Nhị phân lớn này chỉ còn 100-300 kB.
Tối ưu hóa này đặc biệt quan trọng khi xem xét các ràng buộc của việc vận hành các validator trên các thiết bị hoặc thiết bị có phần cứng giới hạn, đặc biệt nếu bạn cân nhắc rằng tốc độ tải và tải trung bình toàn cầu của di động là khoảng 7.625 MB/s và 1.5 MB/s, tương ứng. Người dùng có thể xác minh giao dịch với bằng chứng nhỏ, di động mà không cần truy cập vào trạng thái đầy đủ và các validator có thể thực hiện nhiệm vụ xác minh khối mà không cần lưu trữ toàn bộ trạng thái.
Phương pháp hai lợi ích này giảm băng thông và yêu cầu lưu trữ cho các bộ xác minh, đồng thời tăng tốc quá trình xác minh, ba cải tiến quan trọng này ủng hộ trực tiếp cho tầm nhìn về khả năng mở rộng của Ethereum.
Mặc dù chứng minh STARK vượt trội trong việc xử lý các bộ dữ liệu lớn, nhưng chúng không hiệu quả khi chứng minh số lượng dữ liệu nhỏ, điều này có thể làm trở ngại cho việc áp dụng chúng trong một số tình huống nhất định. Khi xử lý các chương trình liên quan đến các bước nhỏ hoặc bộ dữ liệu nhỏ, kích thước chứng minh tương đối lớn của STARKs có thể làm cho chúng ít thực tế hoặc hiệu quả về chi phí.
Một Merkle Proof của một khối có thể bao gồm khoảng 330.000 băm, và trong trường hợp xấu nhất, số này có thể tăng lên 660.000. Trong những trường hợp như vậy, một chứng minh STARK sẽ cần xử lý khoảng 200.000 băm mỗi giây.
Đây là nơi mà các hàm băm thân thiện với zk như Poseidon được đưa vào trò chơi, được tối ưu hóa đặc biệt cho các chứng minh STARK để giảm tải này. Poseidon được thiết kế để hoạt động một cách mượt mà hơn với ZK-proofs so với các thuật toán băm truyền thống như SHA256 và Keccak. Lý do chính cho tính tương thích này nằm ở cách các thuật toán băm truyền thống hoạt động: chúng xử lý đầu vào dưới dạng dữ liệu nhị phân (0 và 1). Trong khi đó, ZK-proofs làm việc với các trường nguyên tố, cấu trúc toán học khác biệt căn bản. Tình huống này tương tự như máy tính hoạt động theo hệ nhị phân trong khi con người sử dụng hệ thập phân trong cuộc sống hàng ngày. Chuyển đổi dữ liệu dựa trên bit thành các định dạng tương thích với ZK đòi hỏi các tài nguyên tính toán đáng kể. Poseidon giải quyết vấn đề này bằng cách hoạt động tự nhiên trong các trường nguyên tố, giúp tăng tốc đáng kể quá trình tích hợp với ZK-proofs.
Tuy nhiên, vì Poseidon là một hàm băm tương đối mới, nó đòi hỏi phân tích bảo mật sâu rộng hơn để thiết lập mức độ tin cậy tương tự như các hàm băm truyền thống như SHA256 và Keccak. Để đạt được điều này, các sáng kiến như Chương trình Phân tích Poseidon Cryptanalysis, được ra mắt bởi Ethereum Foundation, mời các chuyên gia kiểm tra và phân tích một cách nghiêm ngặt về an ninh của Poseidon, đảm bảo rằng nó có thể chịu được sự kiểm tra từ các bên đối địch và trở thành một tiêu chuẩn mạnh mẽ cho các ứng dụng mật mã. Trong khi đó, các chức năng cũ như SHA256 và Keccak đã được kiểm tra một cách rộng rãi và có một lịch sử an ninh được chứng minh nhưng không phù hợp với ZK, dẫn đến sự giảm hiệu suất khi sử dụng với chứng minh STARK.
Ví dụ, các chứng minh STARK sử dụng các hàm băm truyền thống này hiện chỉ có thể xử lý từ 10.000 đến 30.000 hàm băm. May mắn thay, các tiến bộ trong công nghệ STARK cho thấy khả năng xử lý này có thể sớm tăng lên từ 100.000 đến 200.000 hàm băm, cải thiện đáng kể hiệu suất của chúng.
Trong khi STARK proofs vượt trội về khả năng mở rộng và tính minh bạch đối với các tập dữ liệu lớn, chúng có nhược điểm khi làm việc với các phần tử dữ liệu nhỏ và rất nhiều. Trong các tình huống này, dữ liệu được chứng minh thường nhỏ, nhưng nhu cầu về nhiều chứng minh vẫn không thay đổi. Ví dụ bao gồm:
Trong các trường hợp sử dụng như vậy, chứng minh STARK không mang lại nhiều lợi ích. STARKs, nhấn mạnh tính mở rộng (như đã được nhấn mạnh bởi chữ “S” trong tên của họ), hoạt động tốt cho các tập dữ liệu lớn nhưng gặp khó khăn với các tình huống dữ liệu nhỏ. Ngược lại, SNARKs, được thiết kế để ngắn gọn (như đã được nhấn mạnh bởi chữ “S” trong tên của họ), tập trung vào việc tối thiểu hóa kích thước chứng minh, mang lại lợi thế rõ ràng trong môi trường có ràng buộc về băng thông hoặc lưu trữ.
Chứng minh STARK thường có kích thước khoảng 40-50 KB, khoảng 175 lần lớn hơn chứng minh SNARK chỉ có 288 byte. Sự khác biệt về kích thước này làm tăng thời gian xác minh và chi phí mạng. Lý do chính khiến cho chứng minh STARK lớn hơn là sự phụ thuộc vào tính minh bạch và cam kết đa thức để đảm bảo tính mở rộng, điều này mang lại chi phí hiệu suất trong các trường hợp dữ liệu nhỏ. Trong những trường hợp như vậy, các phương pháp nhanh hơn và tiết kiệm không gian như Chứng minh Merkle có thể phù hợp hơn. Chứng minh Merkle cung cấp chi phí tính toán thấp và cập nhật nhanh, thích hợp cho những tình huống như vậy.
Tuy nhiên, chứng minh STARK vẫn rất quan trọng đối với tương lai không có trạng thái của Ethereum do tính bảo mật vượt trội của chúng trước các tấn công từ các máy tính lượng tử.
Thuật toán | Kích thước chứng minh | Bảo mật Giả định | Trường hợp xấu nhất Độ trễ của bên chứng minh |
Cây Verkle | ~100 - 2,000 kB | Đường cong Elliptic (không chống lại cơ học lượng tử) | |
STARK + Hàm băm bảo thủ | ~100 - 300 kB | Hàm băm bảo thủ | > 10s |
STARK + Các hàm băm tương đối mới | ~100 - 300 kB | Hàm băm tương đối mới và ít được kiểm tra | 1-2s |
Cây Merkle dựa trên lưới | Cây Verkle > x > STARKs | Vấn đề Giải pháp Số nguyên Ngắn vòng (RSIS) | - |
Như tóm tắt trong bảng, Ethereum có bốn con đường tiềm năng để lựa chọn:
Tuy nhiên, điều quan trọng cần lưu ý là Cây Verkle, do không phụ thuộc vào việc băm, có khả năng chứng minh đáng kể hơn Cây Merkle.
Mọi thứ chúng ta đã thảo luận cho đến nay xoay quanh việc loại bỏ nhu cầu của người xác nhận để lưu trữ trạng thái trước đó, mà họ sử dụng để chuyển từ một trạng thái sang trạng thái tiếp theo. Mục tiêu là tạo ra một môi trường phân quyền hơn nơi mà người xác nhận có thể thực hiện nhiệm vụ của họ mà không cần duy trì terabytes dữ liệu trạng thái. Ngay cả với các giải pháp chúng ta đã đề cập, người xác nhận cũng không cần phải lưu trữ toàn bộ trạng thái, vì họ sẽ nhận tất cả dữ liệu cần thiết để thực thi thông qua những người chứng kiến được bao gồm trong khối. Tuy nhiên, để chuyển sang trạng thái tiếp theo—và qua đó xác minh stateRoot trên đỉnh của khối—người xác nhận vẫn phải thực hiện STF một cách tự mình. Yêu cầu này, lần lượt, đặt ra một thách thức khác đối với tính phân quyền và phân quyền của Ethereum.
Ban đầu, The Verge được tưởng tượng là một cột mốc tập trung duy nhất vào việc chuyển từ cây trạng thái của Ethereum từ Cây Merkle sang Cây Verkle để cải thiện khả năng xác minh trạng thái. Tuy nhiên, theo thời gian, nó đã phát triển thành một sáng kiến rộng lớn hơn nhằm mục tiêu cải thiện khả năng xác minh của các chuyển đổi trạng thái và sự đồng thuận. Trong một thế giới mà bộ ba Trạng thái, Thực thi và Đồng thuận hoàn toàn có thể xác minh, các nhà xác minh Ethereum có thể hoạt động trên bất kỳ thiết bị nào có kết nối internet có thể được phân loại là Máy khách Nhẹ. Điều này sẽ đưa Ethereum gần hơn đến việc đạt được tầm nhìn của nó về “sự phân quyền thực sự.”
Như chúng tôi đã đề cập trước đó, các validator thực thi một hàm được gọi là STF (State Transition Function) mỗi 12 giây. Hàm này nhận đầu vào là trạng thái trước đó và một khối và sản xuất trạng thái tiếp theo là đầu ra. Các validator phải thực thi hàm này mỗi khi một khối mới được đề xuất và xác minh rằng mã băm đại diện cho trạng thái trên đỉnh khối - thường được gọi là rễ trạng thái - là chính xác.
Yêu cầu hệ thống cao để trở thành một người xác minh chủ yếu bắt nguồn từ nhu cầu thực hiện quá trình này một cách hiệu quả.
Nếu bạn muốn biến một tủ lạnh thông minh - có, thậm chí là một cái tủ lạnh - thành một nhà xác nhận Ethereum với sự trợ giúp của một số phần mềm đã được cài đặt, bạn sẽ đối mặt với hai rào cản chính:
Để giải quyết các vấn đề gây ra bởi Light Clients không có quyền truy cập vào trạng thái trước đó hoặc toàn bộ khối cuối cùng, Verge đề xuất rằng người đề xuất nên thực hiện thực thi và sau đó đính kèm một chứng minh vào khối. Chứng minh này sẽ bao gồm sự chuyển tiếp từ gốc trạng thái trước đó đến gốc trạng thái tiếp theo cũng như băm của khối. Với điều này, Light Clients có thể xác thực sự chuyển tiếp trạng thái chỉ bằng ba băm 32 byte, mà không cần cần một chứng minh zk.
Tuy nhiên, vì bằng chứng này hoạt động thông qua các băm, nên nó sẽ không chính xác nếu nói nó chỉ xác nhận sự chuyển trạng thái. Ngược lại, bằng chứng được đính kèm vào khối phải xác nhận đồng thời nhiều thứ khác nhau:
Gốc trạng thái trong khối trước đó = S, Gốc trạng thái trong khối tiếp theo = S + 1, Hash khối = H
Trong phân ưu người chứng minh - người xác minh mà chúng tôi đã đề cập trước đó, có thể nói rằng thường có sự cân đối tính toán giữa hai diễn viên. Trong khi khả năng của các chứng minh cần thiết để làm cho STF có thể xác minh để xác nhận đồng thời nhiều điều cung cấp lợi thế đáng kể cho người xác minh, nó cũng chỉ ra rằng việc tạo ra các chứng minh như vậy để đảm bảo tính đúng đắn của việc thực hiện sẽ khá thách thức đối với người chứng minh. Với tốc độ hiện tại của Ethereum, một khối Ethereum cần được chứng minh trong vòng dưới 4 giây. Tuy nhiên, ngay cả với người chứng minh EVM nhanh nhất hiện nay, chúng ta chỉ có thể chứng minh một khối trung bình trong khoảng 15 giây.[1]
Nói vậy, có ba con đường rõ ràng mà chúng ta có thể đi để vượt qua thách thức lớn này:
Trong quá trình tạo chứng minh, mỗi phần nhỏ của quá trình thực thi (ví dụ, các bước tính toán hoặc truy cập dữ liệu) có thể được chứng minh một cách cá nhân, và những chứng minh này sau đó có thể được kết hợp thành một cấu trúc duy nhất. Với cơ chế chính xác, cách tiếp cận này cho phép chứng minh của một khối được tạo ra nhanh chóng và theo cách phi tập trung từ nhiều nguồn khác nhau (ví dụ, hàng trăm GPU). Điều này tăng cường hiệu suất đồng thời cũng đóng góp vào mục tiêu phi tập trung bằng cách thu hút một nhóm người tham gia rộng lớn hơn.
Phương pháp này có thể giảm thiểu khoảng cách giữa các kịch bản xấu nhất và trung bình, từ đó tạo ra hiệu suất nhất quán hơn. Ví dụ, các hoạt động khó chứng minh có thể có chi phí gas cao hơn, trong khi những hoạt động dễ chứng minh có thể có chi phí thấp hơn. Ngoài ra, việc thay thế các cấu trúc dữ liệu của Ethereum (như cây trạng thái hoặc danh sách giao dịch) bằng các lựa chọn thân thiện với STARK có thể giúp tăng tốc quá trình chứng minh. Những thay đổi như vậy sẽ giúp Ethereum đạt được mục tiêu về khả năng mở rộng và bảo mật, đồng thời làm cho tầm nhìn về khả năng xác minh của nó trở nên thực tế hơn.
Nỗ lực của Ethereum để cho phép chứng minh thực hiện đại diện cho một cơ hội quan trọng để đạt được mục tiêu xác minh của nó. Tuy nhiên, để đạt được mục tiêu này không chỉ đòi hỏi sự đổi mới kỹ thuật mà còn đòi hỏi sự nỗ lực kỹ thuật và quyết định quan trọng trong cộng đồng. Việc làm cho các quá trình thực hiện có thể xác minh trên Layer 1 phải đạt được sự cân bằng giữa việc tiếp cận một cơ sở người dùng rộng lớn và duy trì tính phân quyền và phù hợp với cơ sở hạ tầng hiện tại. Việc thiết lập sự cân bằng này tăng độ phức tạp của các phương pháp được sử dụng để chứng minh các hoạt động trong quá trình thực hiện, nhấn mạnh sự cần thiết của sự tiến bộ như tạo ra chứng minh song song. Ngoài ra, yêu cầu cơ sở hạ tầng của các công nghệ này (ví dụ, bảng tra cứu) phải được thực thi và hoạt động, điều đó vẫn đòi hỏi nghiên cứu và phát triển đáng kể.
Tuy nhiên, các mạch chuyên dụng (ví dụ: ASIC, FPGA, GPU) được thiết kế đặc biệt cho một số nhiệm vụ cụ thể mang lại tiềm năng đáng kể để tăng tốc quá trình tạo ra chứng minh. Những giải pháp này cung cấp hiệu suất cao hơn đáng kể so với phần cứng truyền thống và có thể tăng tốc quá trình thực thi. Tuy nhiên, mục tiêu phân tán của Ethereum ở mức Layer 1 ngăn chặn việc truy cập vào phần cứng này chỉ cho một nhóm người lựa chọn. Do đó, dự kiến rằng những giải pháp này sẽ được sử dụng rộng rãi hơn trong các hệ thống Layer 2. Tuy nhiên, cộng đồng cũng phải đạt được sự nhất trí về yêu cầu phần cứng cho việc tạo ra chứng minh. Một câu hỏi thiết kế quan trọng nảy sinh: liệu việc tạo ra chứng minh có nên hoạt động trên phần cứng cho người tiêu dùng như laptop cao cấp, hay yêu cầu cơ sở hạ tầng công nghiệp? Câu trả lời này tạo nên kiến trúc toàn bộ của Ethereum - cho phép tối ưu hóa mạnh mẽ cho các giải pháp Layer 2 trong khi đòi hỏi phương pháp cẩn thận hơn cho Layer 1.
Cuối cùng, việc thực hiện các bằng chứng thực thi được gắn trực tiếp với các mục tiêu lộ trình khác của Ethereum. Việc giới thiệu các bằng chứng hợp lệ sẽ không chỉ hỗ trợ các khái niệm như vô quốc tịch mà còn tăng cường sự phân cấp của Ethereum bằng cách làm cho các lĩnh vực như đặt cọc một mình dễ tiếp cận hơn. Mục tiêu là cho phép đặt cọc trên ngay cả những thiết bị có thông số kỹ thuật thấp nhất. Ngoài ra, việc tái cấu trúc chi phí khí đốt trên EVM dựa trên độ khó tính toán và khả năng chứng minh có thể giảm thiểu khoảng cách giữa các tình huống trung bình và trường hợp xấu nhất. Tuy nhiên, những thay đổi như vậy có thể phá vỡ khả năng tương thích ngược với hệ thống hiện tại và buộc các nhà phát triển phải viết lại mã của họ. Vì lý do này, việc thực hiện các bằng chứng thực thi không chỉ là một thách thức kỹ thuật mà còn là một hành trình phải được thiết kế để duy trì các giá trị lâu dài của Ethereum.
Cơ chế đồng thuận của Ethereum cố gắng thiết lập một cân bằng duy nhất giữa việc bảo tồn tính phi tập trung và truy cập đồng thời đạt được mục tiêu xác minh. Trong khuôn khổ này, các phương pháp đồng thuận xác suất và xác định cung cấp những lợi thế và thách thức khác nhau.
Sự đồng thuận xác suất được xây dựng trên mô hình truyền thông truyền đồn. Trong mô hình này, thay vì trực tiếp giao tiếp với tất cả các nút đại diện cho mạng, một nút chia sẻ thông tin với một tập hợp ngẫu nhiên được chọn 64 hoặc 128 nút. Lựa chọn chuỗi của một nút dựa trên thông tin hạn chế này, điều này đưa ra khả năng sai sót. Tuy nhiên, theo thời gian, khi blockchain tiến triển, những lựa chọn này dự kiến sẽ hội tụ về chuỗi chính xác với tỷ lệ lỗi 0%.
Một lợi ích của cấu trúc xác suất là mỗi nút không phát sóng quan điểm chuỗi của mình dưới dạng một tin nhắn riêng biệt, giảm thiểu overhead giao tiếp. Do đó, cấu trúc như vậy có thể hoạt động với số nút phi tập trung nhiều hơn, yêu cầu hệ thống thấp hơn. Ngược lại, sự đồng thuận xác định hoạt động thông qua mô hình giao tiếp một tới tất cả. Ở đây, một nút gửi quan điểm chuỗi của mình như là một phiếu bầu đến tất cả các nút khác. Phương pháp này tạo ra mật độ tin nhắn cao hơn, và khi số nút tăng lên, hệ thống cuối cùng có thể đạt đến giới hạn của nó. Tuy nhiên, lợi ích lớn nhất của sự đồng thuận xác định là sự sẵn có của phiếu bầu cụ thể, cho phép bạn biết chính xác nút nào bỏ phiếu cho nhánh nào. Điều này đảm bảo sự kết thúc chuỗi nhanh chóng và xác định, đảm bảo rằng các khối không thể thay đổi thứ tự của họ và làm cho chúng có thể xác minh.
Để cung cấp một cơ chế đồng thuận có thể xác minh trong khi duy trì tính phi tập trung và cấu trúc không cần phép, Ethereum đã tạo ra một sự cân bằng giữa các slot và epoch. Các slot, đại diện cho các khoảng thời gian 12 giây, là các đơn vị cơ bản mà một validator chịu trách nhiệm sản xuất một khối. Mặc dù sự đồng thuận xác suất được sử dụng ở mức slot cho phép chuỗi hoạt động linh hoạt hơn và theo cách phi tập trung, nhưng nó có nhược điểm về việc xác định thứ tự và khả năng xác minh chính xác.
Epochs, bao gồm 32 khe, giới thiệu sự đồng thuận xác định. Tại cấp độ này, người xác minh bỏ phiếu để hoàn tất thứ tự chuỗi, đảm bảo sự chắc chắn và làm cho chuỗi có thể xác minh. Tuy nhiên, trong khi cấu trúc xác định này cung cấp tính xác minh thông qua các phiếu cụ thể tại cấp độ epoch, nó không thể cung cấp tính xác minh đầy đủ trong các epoch chính do cấu trúc xác suất. Để giải quyết khoảng cách này và củng cố cấu trúc xác suất trong các epoch, Ethereum đã phát triển một giải pháp được gọi là Hội đồng Đồng bộ.
Sync Committee là một cơ chế được giới thiệu với bản nâng cấp Altair để vượt qua những hạn chế của sự đồng thuận xác suất của Ethereum và cải thiện tính xác thực của chuỗi đối với các máy khách nhẹ. Hội đồng bao gồm 512 nhà xác thực ngẫu nhiên được chọn để phục vụ trong 256 thời kỳ (~27 giờ). Những nhà xác thực này tạo ra một chữ ký đại diện cho đầu chuỗi, cho phép máy khách nhẹ xác minh tính hợp lệ của chuỗi mà không cần tải dữ liệu chuỗi lịch sử. Hoạt động của Hội đồng Sync có thể được tóm tắt như sau:
Tuy nhiên, Ủy ban Đồng bộ đã bị chỉ trích trong một số lĩnh vực. Đáng chú ý, giao thức thiếu cơ chế cắt giảm trình xác thực cho hành vi độc hại, ngay cả khi các trình xác thực được chọn hành động có chủ ý chống lại giao thức. Do đó, nhiều người coi Ủy ban Đồng bộ hóa là một rủi ro bảo mật và không phân loại đầy đủ nó là Giao thức máy khách nhẹ. Tuy nhiên, tính bảo mật của Ủy ban Đồng bộ hóa đã được chứng minh về mặt toán học và có thể tìm thấy thêm chi tiết trong bài viết này về Sync Committee Slashings.
Sự thiếu một cơ chế cắt giảm trong giao thức không phải là một lựa chọn thiết kế mà là một sự cần thiết phát sinh từ bản chất của sự đồng thuận xác suất. Sự đồng thuận xác suất không cung cấp các bảo đảm tuyệt đối về những gì một người xác nhận quan sát. Ngay cả khi hầu hết các người xác nhận báo cáo rằng một cái nạng cụ thể là nặng hơn, vẫn có thể có các người xác nhận ngoại lệ quan sát một cái nạng khác là nặng hơn. Sự không chắc chắn này làm cho việc chứng minh ý đồ độc hại trở nên khó khăn và do đó không thể trừng phạt hành vi sai trái.
Trong ngữ cảnh này, thay vì gán nhãn Ủy ban Đồng bộ là không an toàn, mô tả nó là một giải pháp không hiệu quả sẽ chính xác hơn. Vấn đề không phải bắt nguồn từ thiết kế cơ khí hoặc hoạt động của Ủy ban Đồng bộ mà là từ bản chất tiềm ẩn của sự đồng thuận xác suất. Vì sự đồng thuận xác suất không thể đảm bảo rõ ràng về những gì các nút quan sát, Ủy ban Đồng bộ là một trong những giải pháp tốt nhất có thể được thiết kế trong một mô hình như vậy. Tuy nhiên, điều này không loại bỏ nhược điểm của sự đồng thuận xác suất trong việc đảm bảo sự kết thúc của chuỗi. Vấn đề không nằm ở cơ chế mà nằm trong cấu trúc sự đồng thuận hiện tại của Ethereum.
Do các hạn chế này, có những nỗ lực liên tục trong hệ sinh thái Ethereum để thiết kế lại cơ chế đồng thuận và triển khai các giải pháp cung cấp sự xác định cuối cùng trong khoảng thời gian ngắn hơn. Các đề xuất như Orbit-SSFvà3SFnhằm tái tạo cấu trúc đồng thuận Ethereum từ đầu, tạo ra một hệ thống hiệu quả hơn để thay thế đồng thuận xác suất. Các phương pháp này không chỉ tìm cách rút ngắn thời gian hoàn chỉnh của chuỗi mà còn mang lại một cấu trúc mạng hiệu quả và có thể xác minh hơn. Cộng đồng Ethereum tiếp tục tích cực phát triển và chuẩn bị những đề xuất này cho việc triển khai trong tương lai.
The Verge nhằm mục tiêu tăng cường cơ chế đồng thuận hiện tại và tương lai của Ethereum bằng cách làm cho chúng có thể được xác minh hơn thông qua công nghệ zk-proof, thay vì thay thế chúng hoàn toàn. Tiếp cận này nhằm mục tiêu hiện đại hóa quy trình đồng thuận của Ethereum trong khi vẫn giữ nguyên các nguyên tắc cốt lõi của sự phân quyền và bảo mật. Tối ưu hóa tất cả các quy trình đồng thuận lịch sử và hiện tại của chuỗi với công nghệ zk đóng vai trò quan trọng trong việc đạt được mục tiêu về tính mở rộng và hiệu quả dài hạn của Ethereum. Các hoạt động cơ bản được sử dụng trong lớp đồng thuận của Ethereum rất quan trọng trong quá trình biến đổi công nghệ này. Hãy xem xét kỹ hơn về các hoạt động này và những thách thức mà chúng đối mặt.
Các hoạt động ECADD, Pairing và SHA256 được sử dụng trong lớp sự đồng thuận hiện tại đóng một vai trò quan trọng trong mục tiêu xác thực của Ethereum. Tuy nhiên, sự thiếu thân thiện với zk của chúng đặt ra những thách thức đáng kể trên con đường đạt được những mục tiêu này. Các hoạt động ECADD tạo ra một gánh nặng đắt đỏ do số lượng phiếu bầu của người xác minh cao, trong khi các hoạt động Pairing, mặc dù ít hơn về số lượng, lại đắt gấp hàng nghìn lần khi chứng minh với zk-proofs. Ngoài ra, sự không thân thiện với zk của các hàm băm SHA256 khiến cho việc chứng minh chuyển tiếp trạng thái của chuỗi phản chiếu vô cùng thách thức. Những vấn đề này làm nổi bật nhu cầu về một sự chuyển đổi toàn diện để điều chỉnh cơ sở hạ tầng hiện có của Ethereum với các công nghệ không bảo mật.
Vào ngày 12 tháng 11 năm 2024, trong buổi thuyết trình của mình tại Devcon, Justin Drake giới thiệu một đề xuất mang tên “Beam Chain” nhằm mục đích biến đổi và cải tổ toàn diện lớp Consensus của Ethereum. Beacon Chain đã nằm ở trung tâm của mạng Ethereum trong gần năm năm qua. Tuy nhiên, trong thời gian này, không có thay đổi cấu trúc lớn nào được thực hiện đối với Beacon Chain. Ngược lại, sự tiến bộ về công nghệ đã tiến triển nhanh chóng, vượt xa tính tĩnh của Beacon Chain.
Trong bài thuyết trình của mình, Justin Drake nhấn mạnh rằng Ethereum đã rút ra được những bài học đáng kể trong suốt năm năm qua ở những lĩnh vực quan trọng như hiểu biết về MEV, những đột phá trong công nghệ SNARK và nhận thức phản hồi về những sai lầm công nghệ. Những thiết kế dựa trên những kiến thức mới này được phân loại thành ba trụ cột chính: Sản xuất khối, Stake và Mật mã học. Hình sau tóm tắt những thiết kế này và lộ trình đề xuất:
Trong phần này, chúng tôi đã xem xét chi tiết các bước Consensus, State và Execution của The Verge, và một trong những vấn đề nổi bật nhất được đưa ra trong quá trình này là việc sử dụng hàm băm SHA256 trong Beacon Chain của Ethereum. Trong khi SHA256 đóng vai trò trung tâm trong đảm bảo an ninh của mạng và xử lý giao dịch, việc thiếu tính thân thiện với zk đặt ra một rào cản đáng kể trong việc đạt được mục tiêu xác thực của Ethereum. Chi phí tính toán cao và không tương thích với công nghệ zk khiến nó trở thành một vấn đề quan trọng phải được giải quyết trong các phát triển tương lai của Ethereum.
Lộ trình của Justin Drake, được trình bày trong buổi nói chuyện tại Devcon, dự định thay thế SHA256 trong Beacon Chain bằng các hàm băm thân thiện với zk như Poseidon. Đề xuất này nhằm mục tiêu cập nhật lớp đồng thuận của Ethereum, làm cho nó có thể xác minh, hiệu quả hơn và phù hợp hơn với các công nghệ chứng minh zk.
Trong ngữ cảnh này, chúng ta thấy rằng Ethereum không chỉ đối mặt với thách thức từ các hàm băm không thân thiện với zk mà còn cần phải đánh giá lại các chữ ký số được sử dụng trong lớp đồng thuận của mình để đảm bảo an ninh dài hạn. Với sự tiến bộ của máy tính lượng tử, các thuật toán chữ ký số như ECDSA hiện đang được sử dụng có thể đối mặt với các mối đe dọa đáng kể. Như đã ghi chú trong hướng dẫn được xuất bản bởi NIST, các biến thể của ECDSA với mức độ an ninh 112 bit sẽ bị loại bỏ vào năm 2030 và hoàn toàn bị cấm vào năm 2035. Điều này đòi hỏi một sự chuyển đổi cho Ethereum và các mạng tương tự hướng tới các phương án thay thế mạnh mẽ hơn như các chữ ký an toàn với lượng tử trong tương lai.
Tại thời điểm này, chữ ký dựa trên băm nổi lên như là các giải pháp chống lại quantum có thể đóng một vai trò quan trọng trong việc hỗ trợ cho mục tiêu bảo mật và xác thực mạng. Giải quyết nhu cầu này cũng loại bỏ rào cản thứ hai để làm cho Beacon Chain có thể được xác thực: Chữ ký BLS. Một trong những bước quan trọng nhất mà Ethereum có thể thực hiện để đảm bảo an toàn đối với quantum là áp dụng các giải pháp post-quantum như chữ ký dựa trên băm và hash-based SNARKs.
Như Justin Drake nhấn mạnh trong bài thuyết trình của ông ta tại Devcon, các hàm băm bản chất có khả năng chống lại máy tính lượng tử do sự phụ thuộc của chúng vào khả năng chống lại hình ảnh trước, làm cho chúng trở thành một trong những khối xây dựng cơ bản của mật mã hiện đại. Tính chất này đảm bảo rằng ngay cả máy tính lượng tử cũng không thể đảo ngược hiệu quả đầu vào ban đầu từ một hàm băm đã cho, bảo vệ tính bảo mật của chúng. Hệ thống chữ ký dựa trên hàm băm cho phép các nhà xác minh và chứng thực tạo ra các chữ ký hoàn toàn dựa trên các hàm băm, đảm bảo tính bảo mật sau lượng tử và đồng thời cung cấp một mức độ xác minh cao hơn trên mạng - đặc biệt nếu sử dụng một hàm băm thân thiện với SNARK. Phương pháp này không chỉ nâng cao tính bảo mật của mạng mà còn làm cho cơ sở hạ tầng bảo mật dài hạn của Ethereum mạnh mẽ hơn và chuẩn bị cho tương lai.
Hệ thống này dựa trên việc kết hợp chữ ký dựa trên hash và các chứng cứ dựa trên hash (chứng cứ STARK giống như) để tạo ra các hệ thống chữ ký có thể tổng hợp. Chữ ký có thể tổng hợp nén hàng nghìn chữ ký thành một cấu trúc duy nhất, giảm nó thành chỉ vài trăm kilobyte chứng cứ. Quá trình nén này giảm đáng kể tải dữ liệu trên mạng trong khi đồng thời tăng tốc quá trình xác minh. Ví dụ, hàng nghìn chữ ký của người xác minh được tạo ra cho một khe cắm duy nhất trên Ethereum có thể được biểu diễn bằng một chữ ký tổng hợp duy nhất, tiết kiệm cả không gian lưu trữ và sức mạnh tính toán.
Tuy nhiên, đặc điểm đáng chú ý nhất của hệ thống này là sự tổng hợp vô hạn. Nghĩa là, một nhóm chữ ký có thể được kết hợp tiếp theo dưới một nhóm khác, và quá trình này có thể tiếp tục trên chuỗi. Với cơ chế này và xem xét các tiến bộ công nghệ trong tương lai, có thể nói rằng điều này mở ra cánh cửa cho những khả năng hiện tại không thể đạt được với BLS.
Con đường dẫn đến khả năng xác minh của Ethereum đại diện cho một sự thay đổi cơ bản trong công nghệ blockchain. Sáng kiến Verge giải quyết sự thiếu hiệu quả cốt lõi thông qua Verkle Trees để xác minh trạng thái và bằng chứng STARK cho quá trình chuyển đổi có thể mở rộng.
Một trong những đề xuất tham vọng nhất là Beam Chain, một thiết kế lại toàn diện lớp đồng thuận của Ethereum. Bằng cách giải quyết những hạn chế của Beacon Chain và kết hợp các lựa chọn thay thế thân thiện với zk, cách tiếp cận này nhằm mục đích nâng cao khả năng mở rộng của Ethereum trong khi vẫn giữ nguyên các nguyên tắc cốt lõi của nó về phân cấp và khả năng tiếp cận. Tuy nhiên, quá trình chuyển đổi cũng làm nổi bật những thách thức Ethereum phải đối mặt trong việc cân bằng nhu cầu tính toán với mục tiêu duy trì một mạng lưới toàn diện, không được phép.
Với việc NIST dự định loại bỏ mật mã đường cong elip hiện tại vào năm 2035, Ethereum phải áp dụng các giải pháp chống lại lượng tử như chữ ký dựa trên băm và Poseidon. Những giải pháp này đều có nhược điểm hiệu suất riêng của chúng.
Việc sử dụng STARK trong lộ trình của Ethereum nhấn mạnh hơn nữa khả năng mở rộng và khả năng xác minh. Mặc dù họ vượt trội trong việc cung cấp các bằng chứng minh bạch và chống lượng tử, sự tích hợp của họ đưa ra những thách thức liên quan đến chi phí tính toán bên lề tục ngữ và sự thiếu hiệu quả của dữ liệu nhỏ. Những rào cản này phải được giải quyết để nhận ra đầy đủ tầm nhìn của Ethereum về tình trạng không quốc tịch và xác minh khối hiệu quả, đảm bảo mạng vẫn mạnh mẽ khi đối mặt với nhu cầu ngày càng tăng.
Mặc dù có những tiến bộ này, vẫn còn những thách thức quan trọng. Ethereum phải vượt qua các vấn đề về tính thân thiện với zk, tính mở rộng của đồng thuận và những phức tạp khi tích hợp mật mã chống lại lượng tử. Hơn nữa, tính tương thích ngược của cơ sở hạ tầng hiện có đặt ra những trở ngại thực tế đòi hỏi các giải pháp kỹ thuật cẩn thận để ngăn chặn sự gián đoạn đối với các nhà phát triển và người dùng.
Điều làm Ethereum nổi bật không chỉ là các đổi mới kỹ thuật mà còn là cách tiếp cận theo từng bước để giải quyết những vấn đề khó nhất trong blockchain. Con đường phía trước - dù thông qua các công nghệ như Beam Chain, Verkle Trees hoặc STARK proofs - phụ thuộc vào sự cộng tác của các nhà phát triển, nhà nghiên cứu và cộng đồng rộng hơn. Những tiến bộ này không phải là về việc đạt được sự hoàn thiện ngay lập tức mà là về việc tạo nên một nền tảng cho một internet minh bạch, phi tập trung và có thể xác minh được.
Sự tiến hóa của Ethereum nhấn mạnh vai trò quan trọng của nó trong việc định hình kỷ nguyên Web3. Bằng cách giải quyết các thách thức hiện tại bằng các giải pháp thực tế, Ethereum tiến gần hơn đến một tương lai khi tính xác minh, khả năng chống lại lượng tử và khả năng mở rộng trở thành tiêu chuẩn, chứ không phải là ngoại lệ.
Share
Content
Ưu điểm cốt lõi của Web3 là tính xác minh - người dùng có thể xác minh cách hệ thống hoạt động thực sự. Điều này giải thích tại sao nhiều người trong và ngoài ngành công nghiệp tiền điện tử mô tả web3 như một bước tiến về một internet minh bạch và có thể xác minh hơn.
Khác với các nền tảng Web2 như Facebook hoặc Instagram, nơi các thuật toán và quy tắc vẫn không rõ ràng ngay cả khi đã được ghi chép, các giao thức crypto được thiết kế để hoàn toàn có thể kiểm tra. Ngay cả khi chúng được chia sẻ, bạn thiếu khả năng xác minh xem nền tảng hoạt động như đã được chỉ định hay không. Điều này hoàn toàn trái ngược với crypto, nơi mỗi giao thức được thiết kế để có thể được kiểm tra càng nhiều càng tốt - hoặc ít nhất là được kỳ vọng.
Hôm nay, chúng ta sẽ khám phá một phần từ bài viết gần đây của Vitalik về “The Verge”.chương trình gồm sáu phần về tương lai của Ethereum, để phân tích các bước mà Ethereum đang thực hiện để đạt được tính xác thực, bền vững và khả năng mở rộng trong tương lai. Dưới tiêu đề ‘The Verge’, chúng tôi sẽ thảo luận về cách kiến trúc blockchain có thể trở nên xác thực hơn, các đổi mới mà những thay đổi này mang lại ở mức giao thức và cách chúng cung cấp cho người dùng một hệ sinh thái an toàn hơn. Hãy bắt đầu!
Các ứng dụng Web2 hoạt động như các “hộp đen” - người dùng chỉ có thể thấy các đầu vào của họ và các đầu ra tương ứng, mà không thể nhìn thấy cách thức hoạt động thực tế của ứng dụng. Ngược lại, các giao thức tiền điện tử thường làm cho mã nguồn của họ trở nên công khai, hoặc ít nhất có kế hoạch làm như vậy. Sự minh bạch này phục vụ hai mục đích: nó cho phép người dùng tương tác trực tiếp với mã nguồn của giao thức nếu họ muốn, và giúp họ hiểu rõ cách hệ thống hoạt động và những quy tắc quản lý nó.
“Phân tán những gì bạn có thể, xác minh phần còn lại.”
Xác thực đảm bảo hệ thống có tính chất có trách nhiệm và, trong nhiều trường hợp, đảm bảo rằng các giao thức hoạt động như dự định. Nguyên tắc này nhấn mạnh tầm quan trọng của việc giảm thiểu trung tâm hóa, vì nó thường dẫn đến các cấu trúc không minh bạch, không có trách nhiệm mà người dùng không thể xác minh hoạt động. Thay vào đó, chúng ta nên cố gắng phân tán càng nhiều càng tốt và tạo ra những yếu tố còn lại có thể xác thực và có trách nhiệm trong những trường hợp không thể phân tán.
Cộng đồng Ethereum dường như đồng ý với quan điểm này, khi lộ trìnhbao gồm một mốc (gọi là “The Verge”) nhằm mục tiêu làm cho Ethereum có thể xác minh hơn. Tuy nhiên, trước khi đi sâu vào The Verge, chúng ta cần hiểu rõ những khía cạnh của các chuỗi khối cần được xác minh và những phần quan trọng từ quan điểm của người dùng.
Blockchains về cơ bản hoạt động như các đồng hồ toàn cầu. Trong một mạng phân tán với khoảng 10.000 máy tính, một giao dịch có thể mất một thời gian đáng kể để lan truyền từ nút gốc đến tất cả các nút khác. Vì lí do này, các nút trên mạng không thể xác định chính xác thứ tự của các giao dịch - liệu một giao dịch đã đến trước hay sau một giao dịch khác - vì họ chỉ có quan điểm chủ quan của riêng mình.
Do vì thứ tự của giao dịch rất quan trọng, mạng blockchain sử dụng các phương pháp chuyên biệt được gọi là “các thuật toán đồng thuậnđể đảm bảo rằng các nút vẫn đồng bộ và xử lý chuỗi giao dịch theo cùng một thứ tự. Mặc dù các nút không thể xác định thứ tự giao dịch toàn cầu, cơ chế đồng thuận cho phép tất cả các nút đồng ý với cùng một chuỗi, cho phép mạng hoạt động như một máy tính đơn nhất.
Bên cạnh lớp đồng thuận, còn có lớp thực thi tồn tại trong mọi blockchain. Lớp thực thi được tạo ra bởi các giao dịch mà người dùng muốn thực hiện.
Sau khi giao dịch được xác nhận thành công bằng sự đồng thuận, mỗi giao dịch phải được áp dụng vào trạng thái hiện tại tại lớp thực thi. Nếu bạn đang tự hỏi, “Trạng thái là gì?”, có lẽ bạn đã thấy blockchain được so sánh với cơ sở dữ liệu—hoặc cụ thể hơn là cơ sở dữ liệu của ngân hàng vì blockchain, giống như ngân hàng, duy trì một bản ghi về số dư của mọi người.
Nếu bạn có $100 trong trạng thái chúng ta gọi là “S” và muốn gửi $10 cho người khác, số dư của bạn trong trạng thái tiếp theo, “S+1”, sẽ là $90. Quá trình áp dụng giao dịch để chuyển từ trạng thái này sang trạng thái khác chính là điều chúng ta gọi là chức năng chuyển trạng thái (STF).
Trong Bitcoin, STF chủ yếu giới hạn ở những thay đổi số dư, làm cho nó tương đối đơn giản. Tuy nhiên, khác với Bitcoin, STF của Ethereum phức tạp hơn nhiều vì Ethereum là một blockchain có thể lập trình hoàn toàn với một lớp thực thi có khả năng chạy mã.
Trong một chuỗi khối, có ba thành phần cơ bản mà bạn cần hoặc có thể xác minh:
Nếu điều này dường như rắc rối hoặc không rõ ràng, đừng lo lắng. Chúng tôi sẽ đi qua từng khía cạnh này một cách chi tiết. Hãy bắt đầu với cách xác minh trạng thái blockchain!
“Trạng thái” của Ethereum đề cập đến tập hợp dữ liệu được lưu trữ trong blockchain tại bất kỳ thời điểm nào. Điều này bao gồm số dư tài khoản (tài khoản hợp đồng và tài khoản thuộc sở hữu bên ngoài hoặc EOA), mã hợp đồng thông minh, lưu trữ hợp đồng và hơn thế nữa. Ethereum là một máy dựa trên trạng thái vì các giao dịch được xử lý trong Máy ảo Ethereum (EVM) làm thay đổi trạng thái trước đó và tạo ra một trạng thái mới.
Mỗi khối Ethereum chứa một giá trị tóm tắt trạng thái hiện tại của mạng sau khối đó: stateRoot. Giá trị này là một biểu diễn nhỏ gọn của toàn bộ trạng thái Ethereum, bao gồm một băm 64 ký tự.
Khi mỗi giao dịch mới thay đổi trạng thái, trạng thái Gốc được ghi lại trong khối tiếp theo sẽ được cập nhật tương ứng. Để tính giá trị này, các người xác minh Ethereum sử dụng sự kết hợp của hàm băm Keccak và một cấu trúc dữ liệu gọi là Cây Merkletổ chức và tóm tắt các phần khác nhau của trạng thái.
Hàm băm là các hàm một chiều biến đổi một đầu vào thành một đầu ra cố định. Trong Ethereum, các hàm băm như Keccakđược sử dụng để tạo ra các bản tóm tắt dữ liệu, phục vụ như một loại vân tay cho đầu vào. Hàm băm có bốn tính chất cơ bản:
Nhờ những tính chất này, các máy chủ xác nhận Ethereum có thể thực hiện chức năng chuyển đổi trạng thái (STF) cho mỗi khối - thực hiện tất cả giao dịch trong khối và áp dụng chúng vào trạng thái - sau đó xác minh xem trạng thái được chỉ ra trong khối có khớp với trạng thái thu được sau STF. Quá trình này đảm bảo người đề xuất khối đã hành động trung thực, làm cho đó trở thành một trong những trách nhiệm chính của các máy chủ xác nhận.
Tuy nhiên, người xác thực Ethereum không băm toàn bộ trạng thái trực tiếp để tìm tóm tắt của nó. Do tính chất một chiều của các hàm băm, việc băm trạng thái trực tiếp sẽ loại bỏ tính xác minh, vì cách duy nhất để tái tạo lại hàm băm sẽ là sở hữu toàn bộ trạng thái.
Vì trạng thái của Ethereum có kích thước hàng terabyte, nên không thực tế để lưu toàn bộ trạng thái trên các thiết bị hàng ngày như điện thoại hoặc máy tính cá nhân. Vì lý do này, Ethereum sử dụng cấu trúc cây Merkle để tính toán stateRoot, bảo tồn tính xác thực của trạng thái càng nhiều càng tốt.
Một cây Merklelà một cấu trúc dữ liệu mật mã được sử dụng để xác minh tính toàn vẹn và đúng đắn của dữ liệu một cách an toàn và hiệu quả. Cây Merkle được xây dựng dựa trên các hàm băm và tổ chức các giá trị băm của một tập dữ liệu theo cấp bậc, cho phép xác minh tính toàn vẹn và đúng đắn của dữ liệu này. Cấu trúc cây này bao gồm ba loại nút:
Nếu bạn đang tự hỏi làm thế nào để xây dựng một cây như vậy, nó chỉ liên quan đến hai bước đơn giản:
Hash cuối cùng nhận được ở đỉnh cây được gọi là Merkle root. Merkle Root đại diện cho bản tóm tắt mật mã của toàn bộ cây và cho phép xác minh an toàn tính toàn vẹn dữ liệu.
Chứng minh Merkle giúp người Xác minh xác thực một cách hiệu quả các mảnh dữ liệu cụ thể bằng cách cung cấp một loạt các giá trị băm tạo ra một đường dẫn từ dữ liệu được nhắm mục tiêu (một nút lá) đến Gốc Merkle được lưu trữ trong tiêu đề khối. Chuỗi băm trung gian này cho phép người Xác minh xác nhận tính xác thực của dữ liệu mà không cần băm toàn bộ trạng thái.
Bắt đầu từ điểm dữ liệu cụ thể, Verifier kết hợp nó với mỗi hash “sibling” được cung cấp trong Merkle Proof và băm chúng từng bước lên cây. Quá trình này tiếp tục cho đến khi chỉ còn một hash duy nhất được tạo ra. Nếu hash tính toán này khớp với Merkle Root đã lưu trữ, dữ liệu được coi là hợp lệ; nếu không, Verifier có thể xác định rằng dữ liệu không tương ứng với trạng thái được tuyên bố.
Hãy nói rằng chúng ta đã nhận được Dữ liệu #4 từ một RPC và muốn xác minh tính xác thực của nó bằng cách sử dụng một Chứng minh Merkle. Để làm điều này, RPC sẽ cung cấp một tập hợp các giá trị băm trên đường dẫn cần thiết để đạt đến Gốc Merkle. Đối với Dữ liệu 4 này, các giá trị băm anh em này sẽ bao gồm Hash #3, Hash #12 và Hash #5678.
Nếu Merkle Root tính toán khớp với root trạng thái trong khối, chúng ta xác nhận rằng Dữ liệu #4 thực sự hợp lệ trong trạng thái này. Nếu không, chúng ta biết rằng dữ liệu không thuộc về trạng thái được tuyên bố, cho thấy có khả năng là đã bị can thiệp. Như bạn có thể thấy, mà không cần cung cấp các hash của tất cả dữ liệu hoặc yêu cầu Verifier phải xây dựng lại toàn bộ Merkle Tree từ đầu, Prover có thể chứng minh rằng Dữ liệu #4 tồn tại trong trạng thái và không bị thay đổi trong quá trình di chuyển—chỉ sử dụng ba hash. Đây là lý do chính tại sao Merkle Proofs được coi là hiệu quả.
Mặc dù cây Merkle không thể phủ nhận hiệu quả trong việc cung cấp xác minh dữ liệu an toàn và hiệu quả trong các hệ thống blockchain lớn như Ethereum, nhưng liệu chúng có đủ hiệu quả không? Để trả lời câu hỏi này, chúng ta phải phân tích cách hiệu suất và kích thước của cây Merkle ảnh hưởng đến mối quan hệ Chứng minh- Xác minh.
Hãy sử dụng một ví dụ để hiểu rõ hơn về tác động của nó. Hệ số nhánh xác định số nhánh nảy ra từ mỗi nút trong cây.
Khi chuỗi khối Ethereum phát triển, mỗi giao dịch, hợp đồng hoặc tương tác người dùng mới đều đóng góp vào bộ dữ liệu, cây Merkle cũng phải mở rộng. Sự phát triển này không chỉ tăng kích thước của cây mà còn ảnh hưởng đến kích thước chứng minh và thời gian xác minh.
Tóm lại, mặc dù cây Merkle mang lại một mức độ hiệu quả, nhưng chúng không đáp ứng được một giải pháp tối ưu cho tập dữ liệu ngày càng tăng của Ethereum. Vì lí do này, trong giai đoạn The Verge, Ethereum nhằm thay thế cây Merkle bằng một cấu trúc hiệu quả hơn được gọi là Cây Verkle. Cây Verkle có tiềm năng cung cấp kích thước bằng chứng nhỏ hơn trong khi vẫn duy trì cùng mức độ bảo mật, làm cho quá trình xác minh trở nên bền vững và có thể mở rộng hơn cho cả Người chứng minh và Người xác minh.
Verge được phát triển như một cột mốc trong lộ trình của Ethereum nhằm cải thiện tính xác thực, tăng cường cấu trúc phi tập trung của blockchain và nâng cao bảo mật mạng. Một trong những mục tiêu chính của mạng Ethereum là cho phép bất kỳ ai dễ dàng chạy một trình xác thực để xác minh chuỗi, tạo ra một cấu trúc nơi mọi người có thể tham gia mà không cần tập trung quyền lực. Sự truy cập vào quá trình xác minh này là một trong những tính năng chính phân biệt blockchain với hệ thống tập trung. Trong khi các hệ thống tập trung không cung cấp khả năng xác minh, tính chính xác của một blockchain hoàn toàn nằm trong tay người dùng của nó. Tuy nhiên, để duy trì đảm bảo này, việc chạy một trình xác minh phải dễ dàng tiếp cận với tất cả mọi người - một thách thức mà, trong hệ thống hiện tại, bị giới hạn do yêu cầu lưu trữ và tính toán.
Kể từ khi chuyển sang mô hình đồng thuận Proof-of-Stake với The Merge, các nhà xác minh Ethereum đã có hai trách nhiệm chính:
Để hoàn thành trách nhiệm thứ hai, người xác thực phải có quyền truy cập vào trạng thái trước khi chặn. Điều này cho phép họ thực hiện các giao dịch của khối và lấy được trạng thái tiếp theo. Tuy nhiên, yêu cầu này đặt ra gánh nặng lớn cho người xác nhận, vì họ cần xử lý các yêu cầu lưu trữ quan trọng. Mặc dù Ethereum được thiết kế để khả thi và chi phí lưu trữ đã giảm trên toàn cầu, nhưng vấn đề là ít hơn về chi phí và nhiều hơn về sự phụ thuộc vào phần cứng chuyên dụng cho trình xác thực. The Verge nhằm mục đích vượt qua thách thức này bằng cách tạo ra một cơ sở hạ tầng nơi xác minh đầy đủ có thể được thực hiện ngay cả trên các thiết bị có bộ nhớ hạn chế, chẳng hạn như điện thoại di động, ví trình duyệt và thậm chí cả đồng hồ thông minh, cho phép trình xác thực chạy trên các thiết bị này.
Chuyển đổi sang Cây Verkle là một phần quan trọng của quá trình này. Ban đầu, The Verge tập trung vào việc thay thế cấu trúc Cây Merkle của Ethereum bằng Cây Verkle. Lý do chính để áp dụng Cây Verkle là vì Cây Merkle tạo ra một rào cản đáng kể đối với tính xác minh của Ethereum. Trong khi Cây Merkle và bằng chứng của chúng có thể hoạt động hiệu quả trong các tình huống bình thường, hiệu suất của chúng giảm đáng kể trong các tình huống xấu nhất.
Theo các tính toán của Vitalik, kích thước bằng chứng trung bình là khoảng 4 KB, nghe có vẻ dễ quản lý. Tuy nhiên, trong các kịch bản xấu nhất, kích thước bằng chứng có thể phình to lên đến 330 MB. Vâng, bạn đã đọc đúng đó—330 MB.
Sự vô hiệu tuyệt đối của cây Merkle của Ethereum trong các tình huống xấu nhất xuất phát từ hai nguyên nhân chính:
Kích thước bằng chứng tỷ lệ thuận với hệ số phân nhánh. Giảm hệ số phân nhánh làm giảm kích thước bằng chứng. Để giải quyết những vấn đề này và cải thiện các tình huống xấu nhất, Ethereum có thể chuyển từ Hexary Trees sang Binary Merkle Trees và bắt đầu hợp nhất các mã hợp đồng. Nếu hệ số phân nhánh trong Ethereum giảm từ 16 xuống còn 2 và mã hợp đồng cũng được hợp nhất, kích thước bằng chứng tối đa có thể giảm xuống còn 10 MB. Mặc dù đây là một cải tiến đáng kể, nhưng điều quan trọng cần lưu ý là chi phí này chỉ áp dụng cho việc xác minh một phần dữ liệu. Ngay cả một giao dịch đơn giản truy cập nhiều mẩu dữ liệu cũng sẽ yêu cầu bằng chứng lớn hơn. Với số lượng giao dịch trên mỗi khối và trạng thái phát triển liên tục của Ethereum, giải pháp này, mặc dù tốt hơn, vẫn không hoàn toàn khả thi.
Vì những lý do này, cộng đồng Ethereum đã đề xuất hai giải pháp khác nhau để giải quyết vấn đề:
Cây Verkle, như tên gọi của nó, là cấu trúc cây tương tự như Cây Merkle. Tuy nhiên, sự khác biệt quan trọng nhất nằm ở tính hiệu quả mà chúng cung cấp trong quá trình xác minh. Trong Cây Merkle, nếu một nhánh chứa 16 mảnh dữ liệu và chúng ta muốn xác minh chỉ một trong số chúng, một chuỗi băm bao phủ 15 mảnh dữ liệu còn lại cũng phải được cung cấp. Điều này tăng đáng kể gánh nặng tính toán của quá trình xác minh và dẫn đến kích thước bằng chứng lớn.
Ngược lại, Cây Verkle sử dụng một cấu trúc chuyên biệt được biết đến là “Cam kết Vector dựa trên đường cong Elliptic”, cụ thể hơn là Cam kết Vector dựa trên Biện pháp Sản phẩm Nội tại (IPA). Vector về cơ bản là một danh sách các phần tử dữ liệu được tổ chức theo một chuỗi cụ thể. Trạng thái của Ethereum có thể được coi như là một vector: một cấu trúc trong đó nhiều phần tử dữ liệu được lưu trữ theo một thứ tự cụ thể, với mỗi phần tử đều quan trọng. Trạng thái này bao gồm các thành phần dữ liệu khác nhau như địa chỉ, mã hợp đồng và thông tin lưu trữ, trong đó thứ tự của các phần tử này đóng một vai trò quan trọng trong việc truy cập và xác minh.
Vector Commitments là các phương pháp mật mã được sử dụng để chứng minh và xác minh các phần tử dữ liệu trong một tập dữ liệu. Những phương pháp này cho phép xác minh cả sự tồn tại và thứ tự của mỗi phần tử trong tập dữ liệu một cách đồng thời. Ví dụ, Merkle Proofs, được sử dụng trong Merkle Trees, cũng có thể coi là một hình thức của Vector Commitment. Trong khi Merkle Trees yêu cầu tất cả các chuỗi hash liên quan để xác minh một phần tử, cấu trúc này tự nhiên chứng minh rằng tất cả các phần tử của một vector được kết nối theo một trình tự cụ thể.
Khác với cây Merkle, cây Verkle sử dụng cam kết vector dựa trên đường cong elliptic mang lại hai lợi ích quan trọng:
Những tính năng của cam kết vector dựa trên đường cong elip giúp giảm đáng kể lượng dữ liệu cần thiết cho quá trình xác minh, cho phép cây Verkle tạo ra các bằng chứng nhỏ gọn, kích thước không đổi ngay cả trong các tình huống xấu nhất. Điều này giảm thiểu overhead dữ liệu và thời gian xác minh, cải thiện hiệu suất của các mạng quy mô lớn như Ethereum. Kết quả là, việc sử dụng cam kết vector dựa trên đường cong elip trong cây Verkle giúp việc xử lý trạng thái mở rộng của Ethereum trở nên dễ quản lý và hiệu quả hơn.
Giống như tất cả các đổi mới khác, Cây Verkle cũng có nhược điểm của chúng. Một trong những hạn chế chính của chúng là chúng phụ thuộc vào mật mã đường cong elip, mà có thể bị tấn công bởi máy tính lượng tử. Máy tính lượng tử có sức mạnh tính toán hơn rất nhiều so với các phương pháp cổ điển, tạo ra mối đe dọa đáng kể đối với các giao thức mật mã dựa trên đường cong elip. Các thuật toán lượng tử có thể phá hoặc làm suy yếu hệ thống mật mã này, gây lo ngại về an ninh dài hạn của Cây Verkle.
Vì lý do này, mặc dù Cây Verkle đề xuất một giải pháp hứa hẹn đối với việc không có trạng thái, nhưng chúng không phải là phương pháp sửa chữa cuối cùng. Tuy nhiên, những con số như Dankrad Feist đã nhấn mạnh rằng, trong khi cần phải xem xét cẩn thận khi tích hợp mật mã chống lại lượng tử vào Ethereum, đáng lưu ý rằng các cam kết KZG hiện đang được sử dụng cho các khối trong Ethereum cũng không chống lại lượng tử. Do đó, Cây Verkle có thể phục vụ như một giải pháp tạm thời, cung cấp thêm thời gian cho mạng để phát triển các phương án thay thế mạnh mẽ hơn.
Verkle Trees cung cấp kích thước bằng chứng nhỏ hơn và quy trình xác minh hiệu quả so với Merkle Trees, giúp quản lý trạng thái ngày càng phát triển của Ethereum dễ dàng hơn. Nhờ các cam kết vectơ dựa trên đường cong Elliptic, các bằng chứng quy mô lớn có thể được tạo ra với dữ liệu ít hơn đáng kể. Tuy nhiên, bất chấp những lợi thế ấn tượng của chúng, lỗ hổng của Verkle Trees đối với máy tính lượng tử khiến chúng chỉ là một giải pháp tạm thời. Trong khi cộng đồng Ethereum coi Verkle Trees là một công cụ ngắn hạn để câu giờ, trọng tâm dài hạn là chuyển sang các giải pháp kháng lượng tử. Đây là nơi STARK Proofs và Binary Merkle Trees trình bày một giải pháp thay thế mạnh mẽ để xây dựng cơ sở hạ tầng xác minh mạnh mẽ hơn cho tương lai.
Trong quá trình xác minh trạng thái của Ethereum, hệ số nhánh của Cây Merkle có thể được giảm (từ 16 xuống còn 2) bằng cách sử dụng Cây Merkle Nhị phân. Thay đổi này là một bước quan trọng để giảm kích thước chứng minh và làm cho quá trình xác minh hiệu quả hơn. Tuy nhiên, ngay cả trong trường hợp xấu nhất, kích thước chứng minh vẫn có thể đạt đến 10 MB, đó là một số lượng đáng kể. Đây là nơi mà Chứng minh STARK đóng vai trò, nén các Chứng minh Merkle Nhị phân lớn này chỉ còn 100-300 kB.
Tối ưu hóa này đặc biệt quan trọng khi xem xét các ràng buộc của việc vận hành các validator trên các thiết bị hoặc thiết bị có phần cứng giới hạn, đặc biệt nếu bạn cân nhắc rằng tốc độ tải và tải trung bình toàn cầu của di động là khoảng 7.625 MB/s và 1.5 MB/s, tương ứng. Người dùng có thể xác minh giao dịch với bằng chứng nhỏ, di động mà không cần truy cập vào trạng thái đầy đủ và các validator có thể thực hiện nhiệm vụ xác minh khối mà không cần lưu trữ toàn bộ trạng thái.
Phương pháp hai lợi ích này giảm băng thông và yêu cầu lưu trữ cho các bộ xác minh, đồng thời tăng tốc quá trình xác minh, ba cải tiến quan trọng này ủng hộ trực tiếp cho tầm nhìn về khả năng mở rộng của Ethereum.
Mặc dù chứng minh STARK vượt trội trong việc xử lý các bộ dữ liệu lớn, nhưng chúng không hiệu quả khi chứng minh số lượng dữ liệu nhỏ, điều này có thể làm trở ngại cho việc áp dụng chúng trong một số tình huống nhất định. Khi xử lý các chương trình liên quan đến các bước nhỏ hoặc bộ dữ liệu nhỏ, kích thước chứng minh tương đối lớn của STARKs có thể làm cho chúng ít thực tế hoặc hiệu quả về chi phí.
Một Merkle Proof của một khối có thể bao gồm khoảng 330.000 băm, và trong trường hợp xấu nhất, số này có thể tăng lên 660.000. Trong những trường hợp như vậy, một chứng minh STARK sẽ cần xử lý khoảng 200.000 băm mỗi giây.
Đây là nơi mà các hàm băm thân thiện với zk như Poseidon được đưa vào trò chơi, được tối ưu hóa đặc biệt cho các chứng minh STARK để giảm tải này. Poseidon được thiết kế để hoạt động một cách mượt mà hơn với ZK-proofs so với các thuật toán băm truyền thống như SHA256 và Keccak. Lý do chính cho tính tương thích này nằm ở cách các thuật toán băm truyền thống hoạt động: chúng xử lý đầu vào dưới dạng dữ liệu nhị phân (0 và 1). Trong khi đó, ZK-proofs làm việc với các trường nguyên tố, cấu trúc toán học khác biệt căn bản. Tình huống này tương tự như máy tính hoạt động theo hệ nhị phân trong khi con người sử dụng hệ thập phân trong cuộc sống hàng ngày. Chuyển đổi dữ liệu dựa trên bit thành các định dạng tương thích với ZK đòi hỏi các tài nguyên tính toán đáng kể. Poseidon giải quyết vấn đề này bằng cách hoạt động tự nhiên trong các trường nguyên tố, giúp tăng tốc đáng kể quá trình tích hợp với ZK-proofs.
Tuy nhiên, vì Poseidon là một hàm băm tương đối mới, nó đòi hỏi phân tích bảo mật sâu rộng hơn để thiết lập mức độ tin cậy tương tự như các hàm băm truyền thống như SHA256 và Keccak. Để đạt được điều này, các sáng kiến như Chương trình Phân tích Poseidon Cryptanalysis, được ra mắt bởi Ethereum Foundation, mời các chuyên gia kiểm tra và phân tích một cách nghiêm ngặt về an ninh của Poseidon, đảm bảo rằng nó có thể chịu được sự kiểm tra từ các bên đối địch và trở thành một tiêu chuẩn mạnh mẽ cho các ứng dụng mật mã. Trong khi đó, các chức năng cũ như SHA256 và Keccak đã được kiểm tra một cách rộng rãi và có một lịch sử an ninh được chứng minh nhưng không phù hợp với ZK, dẫn đến sự giảm hiệu suất khi sử dụng với chứng minh STARK.
Ví dụ, các chứng minh STARK sử dụng các hàm băm truyền thống này hiện chỉ có thể xử lý từ 10.000 đến 30.000 hàm băm. May mắn thay, các tiến bộ trong công nghệ STARK cho thấy khả năng xử lý này có thể sớm tăng lên từ 100.000 đến 200.000 hàm băm, cải thiện đáng kể hiệu suất của chúng.
Trong khi STARK proofs vượt trội về khả năng mở rộng và tính minh bạch đối với các tập dữ liệu lớn, chúng có nhược điểm khi làm việc với các phần tử dữ liệu nhỏ và rất nhiều. Trong các tình huống này, dữ liệu được chứng minh thường nhỏ, nhưng nhu cầu về nhiều chứng minh vẫn không thay đổi. Ví dụ bao gồm:
Trong các trường hợp sử dụng như vậy, chứng minh STARK không mang lại nhiều lợi ích. STARKs, nhấn mạnh tính mở rộng (như đã được nhấn mạnh bởi chữ “S” trong tên của họ), hoạt động tốt cho các tập dữ liệu lớn nhưng gặp khó khăn với các tình huống dữ liệu nhỏ. Ngược lại, SNARKs, được thiết kế để ngắn gọn (như đã được nhấn mạnh bởi chữ “S” trong tên của họ), tập trung vào việc tối thiểu hóa kích thước chứng minh, mang lại lợi thế rõ ràng trong môi trường có ràng buộc về băng thông hoặc lưu trữ.
Chứng minh STARK thường có kích thước khoảng 40-50 KB, khoảng 175 lần lớn hơn chứng minh SNARK chỉ có 288 byte. Sự khác biệt về kích thước này làm tăng thời gian xác minh và chi phí mạng. Lý do chính khiến cho chứng minh STARK lớn hơn là sự phụ thuộc vào tính minh bạch và cam kết đa thức để đảm bảo tính mở rộng, điều này mang lại chi phí hiệu suất trong các trường hợp dữ liệu nhỏ. Trong những trường hợp như vậy, các phương pháp nhanh hơn và tiết kiệm không gian như Chứng minh Merkle có thể phù hợp hơn. Chứng minh Merkle cung cấp chi phí tính toán thấp và cập nhật nhanh, thích hợp cho những tình huống như vậy.
Tuy nhiên, chứng minh STARK vẫn rất quan trọng đối với tương lai không có trạng thái của Ethereum do tính bảo mật vượt trội của chúng trước các tấn công từ các máy tính lượng tử.
Thuật toán | Kích thước chứng minh | Bảo mật Giả định | Trường hợp xấu nhất Độ trễ của bên chứng minh |
Cây Verkle | ~100 - 2,000 kB | Đường cong Elliptic (không chống lại cơ học lượng tử) | |
STARK + Hàm băm bảo thủ | ~100 - 300 kB | Hàm băm bảo thủ | > 10s |
STARK + Các hàm băm tương đối mới | ~100 - 300 kB | Hàm băm tương đối mới và ít được kiểm tra | 1-2s |
Cây Merkle dựa trên lưới | Cây Verkle > x > STARKs | Vấn đề Giải pháp Số nguyên Ngắn vòng (RSIS) | - |
Như tóm tắt trong bảng, Ethereum có bốn con đường tiềm năng để lựa chọn:
Tuy nhiên, điều quan trọng cần lưu ý là Cây Verkle, do không phụ thuộc vào việc băm, có khả năng chứng minh đáng kể hơn Cây Merkle.
Mọi thứ chúng ta đã thảo luận cho đến nay xoay quanh việc loại bỏ nhu cầu của người xác nhận để lưu trữ trạng thái trước đó, mà họ sử dụng để chuyển từ một trạng thái sang trạng thái tiếp theo. Mục tiêu là tạo ra một môi trường phân quyền hơn nơi mà người xác nhận có thể thực hiện nhiệm vụ của họ mà không cần duy trì terabytes dữ liệu trạng thái. Ngay cả với các giải pháp chúng ta đã đề cập, người xác nhận cũng không cần phải lưu trữ toàn bộ trạng thái, vì họ sẽ nhận tất cả dữ liệu cần thiết để thực thi thông qua những người chứng kiến được bao gồm trong khối. Tuy nhiên, để chuyển sang trạng thái tiếp theo—và qua đó xác minh stateRoot trên đỉnh của khối—người xác nhận vẫn phải thực hiện STF một cách tự mình. Yêu cầu này, lần lượt, đặt ra một thách thức khác đối với tính phân quyền và phân quyền của Ethereum.
Ban đầu, The Verge được tưởng tượng là một cột mốc tập trung duy nhất vào việc chuyển từ cây trạng thái của Ethereum từ Cây Merkle sang Cây Verkle để cải thiện khả năng xác minh trạng thái. Tuy nhiên, theo thời gian, nó đã phát triển thành một sáng kiến rộng lớn hơn nhằm mục tiêu cải thiện khả năng xác minh của các chuyển đổi trạng thái và sự đồng thuận. Trong một thế giới mà bộ ba Trạng thái, Thực thi và Đồng thuận hoàn toàn có thể xác minh, các nhà xác minh Ethereum có thể hoạt động trên bất kỳ thiết bị nào có kết nối internet có thể được phân loại là Máy khách Nhẹ. Điều này sẽ đưa Ethereum gần hơn đến việc đạt được tầm nhìn của nó về “sự phân quyền thực sự.”
Như chúng tôi đã đề cập trước đó, các validator thực thi một hàm được gọi là STF (State Transition Function) mỗi 12 giây. Hàm này nhận đầu vào là trạng thái trước đó và một khối và sản xuất trạng thái tiếp theo là đầu ra. Các validator phải thực thi hàm này mỗi khi một khối mới được đề xuất và xác minh rằng mã băm đại diện cho trạng thái trên đỉnh khối - thường được gọi là rễ trạng thái - là chính xác.
Yêu cầu hệ thống cao để trở thành một người xác minh chủ yếu bắt nguồn từ nhu cầu thực hiện quá trình này một cách hiệu quả.
Nếu bạn muốn biến một tủ lạnh thông minh - có, thậm chí là một cái tủ lạnh - thành một nhà xác nhận Ethereum với sự trợ giúp của một số phần mềm đã được cài đặt, bạn sẽ đối mặt với hai rào cản chính:
Để giải quyết các vấn đề gây ra bởi Light Clients không có quyền truy cập vào trạng thái trước đó hoặc toàn bộ khối cuối cùng, Verge đề xuất rằng người đề xuất nên thực hiện thực thi và sau đó đính kèm một chứng minh vào khối. Chứng minh này sẽ bao gồm sự chuyển tiếp từ gốc trạng thái trước đó đến gốc trạng thái tiếp theo cũng như băm của khối. Với điều này, Light Clients có thể xác thực sự chuyển tiếp trạng thái chỉ bằng ba băm 32 byte, mà không cần cần một chứng minh zk.
Tuy nhiên, vì bằng chứng này hoạt động thông qua các băm, nên nó sẽ không chính xác nếu nói nó chỉ xác nhận sự chuyển trạng thái. Ngược lại, bằng chứng được đính kèm vào khối phải xác nhận đồng thời nhiều thứ khác nhau:
Gốc trạng thái trong khối trước đó = S, Gốc trạng thái trong khối tiếp theo = S + 1, Hash khối = H
Trong phân ưu người chứng minh - người xác minh mà chúng tôi đã đề cập trước đó, có thể nói rằng thường có sự cân đối tính toán giữa hai diễn viên. Trong khi khả năng của các chứng minh cần thiết để làm cho STF có thể xác minh để xác nhận đồng thời nhiều điều cung cấp lợi thế đáng kể cho người xác minh, nó cũng chỉ ra rằng việc tạo ra các chứng minh như vậy để đảm bảo tính đúng đắn của việc thực hiện sẽ khá thách thức đối với người chứng minh. Với tốc độ hiện tại của Ethereum, một khối Ethereum cần được chứng minh trong vòng dưới 4 giây. Tuy nhiên, ngay cả với người chứng minh EVM nhanh nhất hiện nay, chúng ta chỉ có thể chứng minh một khối trung bình trong khoảng 15 giây.[1]
Nói vậy, có ba con đường rõ ràng mà chúng ta có thể đi để vượt qua thách thức lớn này:
Trong quá trình tạo chứng minh, mỗi phần nhỏ của quá trình thực thi (ví dụ, các bước tính toán hoặc truy cập dữ liệu) có thể được chứng minh một cách cá nhân, và những chứng minh này sau đó có thể được kết hợp thành một cấu trúc duy nhất. Với cơ chế chính xác, cách tiếp cận này cho phép chứng minh của một khối được tạo ra nhanh chóng và theo cách phi tập trung từ nhiều nguồn khác nhau (ví dụ, hàng trăm GPU). Điều này tăng cường hiệu suất đồng thời cũng đóng góp vào mục tiêu phi tập trung bằng cách thu hút một nhóm người tham gia rộng lớn hơn.
Phương pháp này có thể giảm thiểu khoảng cách giữa các kịch bản xấu nhất và trung bình, từ đó tạo ra hiệu suất nhất quán hơn. Ví dụ, các hoạt động khó chứng minh có thể có chi phí gas cao hơn, trong khi những hoạt động dễ chứng minh có thể có chi phí thấp hơn. Ngoài ra, việc thay thế các cấu trúc dữ liệu của Ethereum (như cây trạng thái hoặc danh sách giao dịch) bằng các lựa chọn thân thiện với STARK có thể giúp tăng tốc quá trình chứng minh. Những thay đổi như vậy sẽ giúp Ethereum đạt được mục tiêu về khả năng mở rộng và bảo mật, đồng thời làm cho tầm nhìn về khả năng xác minh của nó trở nên thực tế hơn.
Nỗ lực của Ethereum để cho phép chứng minh thực hiện đại diện cho một cơ hội quan trọng để đạt được mục tiêu xác minh của nó. Tuy nhiên, để đạt được mục tiêu này không chỉ đòi hỏi sự đổi mới kỹ thuật mà còn đòi hỏi sự nỗ lực kỹ thuật và quyết định quan trọng trong cộng đồng. Việc làm cho các quá trình thực hiện có thể xác minh trên Layer 1 phải đạt được sự cân bằng giữa việc tiếp cận một cơ sở người dùng rộng lớn và duy trì tính phân quyền và phù hợp với cơ sở hạ tầng hiện tại. Việc thiết lập sự cân bằng này tăng độ phức tạp của các phương pháp được sử dụng để chứng minh các hoạt động trong quá trình thực hiện, nhấn mạnh sự cần thiết của sự tiến bộ như tạo ra chứng minh song song. Ngoài ra, yêu cầu cơ sở hạ tầng của các công nghệ này (ví dụ, bảng tra cứu) phải được thực thi và hoạt động, điều đó vẫn đòi hỏi nghiên cứu và phát triển đáng kể.
Tuy nhiên, các mạch chuyên dụng (ví dụ: ASIC, FPGA, GPU) được thiết kế đặc biệt cho một số nhiệm vụ cụ thể mang lại tiềm năng đáng kể để tăng tốc quá trình tạo ra chứng minh. Những giải pháp này cung cấp hiệu suất cao hơn đáng kể so với phần cứng truyền thống và có thể tăng tốc quá trình thực thi. Tuy nhiên, mục tiêu phân tán của Ethereum ở mức Layer 1 ngăn chặn việc truy cập vào phần cứng này chỉ cho một nhóm người lựa chọn. Do đó, dự kiến rằng những giải pháp này sẽ được sử dụng rộng rãi hơn trong các hệ thống Layer 2. Tuy nhiên, cộng đồng cũng phải đạt được sự nhất trí về yêu cầu phần cứng cho việc tạo ra chứng minh. Một câu hỏi thiết kế quan trọng nảy sinh: liệu việc tạo ra chứng minh có nên hoạt động trên phần cứng cho người tiêu dùng như laptop cao cấp, hay yêu cầu cơ sở hạ tầng công nghiệp? Câu trả lời này tạo nên kiến trúc toàn bộ của Ethereum - cho phép tối ưu hóa mạnh mẽ cho các giải pháp Layer 2 trong khi đòi hỏi phương pháp cẩn thận hơn cho Layer 1.
Cuối cùng, việc thực hiện các bằng chứng thực thi được gắn trực tiếp với các mục tiêu lộ trình khác của Ethereum. Việc giới thiệu các bằng chứng hợp lệ sẽ không chỉ hỗ trợ các khái niệm như vô quốc tịch mà còn tăng cường sự phân cấp của Ethereum bằng cách làm cho các lĩnh vực như đặt cọc một mình dễ tiếp cận hơn. Mục tiêu là cho phép đặt cọc trên ngay cả những thiết bị có thông số kỹ thuật thấp nhất. Ngoài ra, việc tái cấu trúc chi phí khí đốt trên EVM dựa trên độ khó tính toán và khả năng chứng minh có thể giảm thiểu khoảng cách giữa các tình huống trung bình và trường hợp xấu nhất. Tuy nhiên, những thay đổi như vậy có thể phá vỡ khả năng tương thích ngược với hệ thống hiện tại và buộc các nhà phát triển phải viết lại mã của họ. Vì lý do này, việc thực hiện các bằng chứng thực thi không chỉ là một thách thức kỹ thuật mà còn là một hành trình phải được thiết kế để duy trì các giá trị lâu dài của Ethereum.
Cơ chế đồng thuận của Ethereum cố gắng thiết lập một cân bằng duy nhất giữa việc bảo tồn tính phi tập trung và truy cập đồng thời đạt được mục tiêu xác minh. Trong khuôn khổ này, các phương pháp đồng thuận xác suất và xác định cung cấp những lợi thế và thách thức khác nhau.
Sự đồng thuận xác suất được xây dựng trên mô hình truyền thông truyền đồn. Trong mô hình này, thay vì trực tiếp giao tiếp với tất cả các nút đại diện cho mạng, một nút chia sẻ thông tin với một tập hợp ngẫu nhiên được chọn 64 hoặc 128 nút. Lựa chọn chuỗi của một nút dựa trên thông tin hạn chế này, điều này đưa ra khả năng sai sót. Tuy nhiên, theo thời gian, khi blockchain tiến triển, những lựa chọn này dự kiến sẽ hội tụ về chuỗi chính xác với tỷ lệ lỗi 0%.
Một lợi ích của cấu trúc xác suất là mỗi nút không phát sóng quan điểm chuỗi của mình dưới dạng một tin nhắn riêng biệt, giảm thiểu overhead giao tiếp. Do đó, cấu trúc như vậy có thể hoạt động với số nút phi tập trung nhiều hơn, yêu cầu hệ thống thấp hơn. Ngược lại, sự đồng thuận xác định hoạt động thông qua mô hình giao tiếp một tới tất cả. Ở đây, một nút gửi quan điểm chuỗi của mình như là một phiếu bầu đến tất cả các nút khác. Phương pháp này tạo ra mật độ tin nhắn cao hơn, và khi số nút tăng lên, hệ thống cuối cùng có thể đạt đến giới hạn của nó. Tuy nhiên, lợi ích lớn nhất của sự đồng thuận xác định là sự sẵn có của phiếu bầu cụ thể, cho phép bạn biết chính xác nút nào bỏ phiếu cho nhánh nào. Điều này đảm bảo sự kết thúc chuỗi nhanh chóng và xác định, đảm bảo rằng các khối không thể thay đổi thứ tự của họ và làm cho chúng có thể xác minh.
Để cung cấp một cơ chế đồng thuận có thể xác minh trong khi duy trì tính phi tập trung và cấu trúc không cần phép, Ethereum đã tạo ra một sự cân bằng giữa các slot và epoch. Các slot, đại diện cho các khoảng thời gian 12 giây, là các đơn vị cơ bản mà một validator chịu trách nhiệm sản xuất một khối. Mặc dù sự đồng thuận xác suất được sử dụng ở mức slot cho phép chuỗi hoạt động linh hoạt hơn và theo cách phi tập trung, nhưng nó có nhược điểm về việc xác định thứ tự và khả năng xác minh chính xác.
Epochs, bao gồm 32 khe, giới thiệu sự đồng thuận xác định. Tại cấp độ này, người xác minh bỏ phiếu để hoàn tất thứ tự chuỗi, đảm bảo sự chắc chắn và làm cho chuỗi có thể xác minh. Tuy nhiên, trong khi cấu trúc xác định này cung cấp tính xác minh thông qua các phiếu cụ thể tại cấp độ epoch, nó không thể cung cấp tính xác minh đầy đủ trong các epoch chính do cấu trúc xác suất. Để giải quyết khoảng cách này và củng cố cấu trúc xác suất trong các epoch, Ethereum đã phát triển một giải pháp được gọi là Hội đồng Đồng bộ.
Sync Committee là một cơ chế được giới thiệu với bản nâng cấp Altair để vượt qua những hạn chế của sự đồng thuận xác suất của Ethereum và cải thiện tính xác thực của chuỗi đối với các máy khách nhẹ. Hội đồng bao gồm 512 nhà xác thực ngẫu nhiên được chọn để phục vụ trong 256 thời kỳ (~27 giờ). Những nhà xác thực này tạo ra một chữ ký đại diện cho đầu chuỗi, cho phép máy khách nhẹ xác minh tính hợp lệ của chuỗi mà không cần tải dữ liệu chuỗi lịch sử. Hoạt động của Hội đồng Sync có thể được tóm tắt như sau:
Tuy nhiên, Ủy ban Đồng bộ đã bị chỉ trích trong một số lĩnh vực. Đáng chú ý, giao thức thiếu cơ chế cắt giảm trình xác thực cho hành vi độc hại, ngay cả khi các trình xác thực được chọn hành động có chủ ý chống lại giao thức. Do đó, nhiều người coi Ủy ban Đồng bộ hóa là một rủi ro bảo mật và không phân loại đầy đủ nó là Giao thức máy khách nhẹ. Tuy nhiên, tính bảo mật của Ủy ban Đồng bộ hóa đã được chứng minh về mặt toán học và có thể tìm thấy thêm chi tiết trong bài viết này về Sync Committee Slashings.
Sự thiếu một cơ chế cắt giảm trong giao thức không phải là một lựa chọn thiết kế mà là một sự cần thiết phát sinh từ bản chất của sự đồng thuận xác suất. Sự đồng thuận xác suất không cung cấp các bảo đảm tuyệt đối về những gì một người xác nhận quan sát. Ngay cả khi hầu hết các người xác nhận báo cáo rằng một cái nạng cụ thể là nặng hơn, vẫn có thể có các người xác nhận ngoại lệ quan sát một cái nạng khác là nặng hơn. Sự không chắc chắn này làm cho việc chứng minh ý đồ độc hại trở nên khó khăn và do đó không thể trừng phạt hành vi sai trái.
Trong ngữ cảnh này, thay vì gán nhãn Ủy ban Đồng bộ là không an toàn, mô tả nó là một giải pháp không hiệu quả sẽ chính xác hơn. Vấn đề không phải bắt nguồn từ thiết kế cơ khí hoặc hoạt động của Ủy ban Đồng bộ mà là từ bản chất tiềm ẩn của sự đồng thuận xác suất. Vì sự đồng thuận xác suất không thể đảm bảo rõ ràng về những gì các nút quan sát, Ủy ban Đồng bộ là một trong những giải pháp tốt nhất có thể được thiết kế trong một mô hình như vậy. Tuy nhiên, điều này không loại bỏ nhược điểm của sự đồng thuận xác suất trong việc đảm bảo sự kết thúc của chuỗi. Vấn đề không nằm ở cơ chế mà nằm trong cấu trúc sự đồng thuận hiện tại của Ethereum.
Do các hạn chế này, có những nỗ lực liên tục trong hệ sinh thái Ethereum để thiết kế lại cơ chế đồng thuận và triển khai các giải pháp cung cấp sự xác định cuối cùng trong khoảng thời gian ngắn hơn. Các đề xuất như Orbit-SSFvà3SFnhằm tái tạo cấu trúc đồng thuận Ethereum từ đầu, tạo ra một hệ thống hiệu quả hơn để thay thế đồng thuận xác suất. Các phương pháp này không chỉ tìm cách rút ngắn thời gian hoàn chỉnh của chuỗi mà còn mang lại một cấu trúc mạng hiệu quả và có thể xác minh hơn. Cộng đồng Ethereum tiếp tục tích cực phát triển và chuẩn bị những đề xuất này cho việc triển khai trong tương lai.
The Verge nhằm mục tiêu tăng cường cơ chế đồng thuận hiện tại và tương lai của Ethereum bằng cách làm cho chúng có thể được xác minh hơn thông qua công nghệ zk-proof, thay vì thay thế chúng hoàn toàn. Tiếp cận này nhằm mục tiêu hiện đại hóa quy trình đồng thuận của Ethereum trong khi vẫn giữ nguyên các nguyên tắc cốt lõi của sự phân quyền và bảo mật. Tối ưu hóa tất cả các quy trình đồng thuận lịch sử và hiện tại của chuỗi với công nghệ zk đóng vai trò quan trọng trong việc đạt được mục tiêu về tính mở rộng và hiệu quả dài hạn của Ethereum. Các hoạt động cơ bản được sử dụng trong lớp đồng thuận của Ethereum rất quan trọng trong quá trình biến đổi công nghệ này. Hãy xem xét kỹ hơn về các hoạt động này và những thách thức mà chúng đối mặt.
Các hoạt động ECADD, Pairing và SHA256 được sử dụng trong lớp sự đồng thuận hiện tại đóng một vai trò quan trọng trong mục tiêu xác thực của Ethereum. Tuy nhiên, sự thiếu thân thiện với zk của chúng đặt ra những thách thức đáng kể trên con đường đạt được những mục tiêu này. Các hoạt động ECADD tạo ra một gánh nặng đắt đỏ do số lượng phiếu bầu của người xác minh cao, trong khi các hoạt động Pairing, mặc dù ít hơn về số lượng, lại đắt gấp hàng nghìn lần khi chứng minh với zk-proofs. Ngoài ra, sự không thân thiện với zk của các hàm băm SHA256 khiến cho việc chứng minh chuyển tiếp trạng thái của chuỗi phản chiếu vô cùng thách thức. Những vấn đề này làm nổi bật nhu cầu về một sự chuyển đổi toàn diện để điều chỉnh cơ sở hạ tầng hiện có của Ethereum với các công nghệ không bảo mật.
Vào ngày 12 tháng 11 năm 2024, trong buổi thuyết trình của mình tại Devcon, Justin Drake giới thiệu một đề xuất mang tên “Beam Chain” nhằm mục đích biến đổi và cải tổ toàn diện lớp Consensus của Ethereum. Beacon Chain đã nằm ở trung tâm của mạng Ethereum trong gần năm năm qua. Tuy nhiên, trong thời gian này, không có thay đổi cấu trúc lớn nào được thực hiện đối với Beacon Chain. Ngược lại, sự tiến bộ về công nghệ đã tiến triển nhanh chóng, vượt xa tính tĩnh của Beacon Chain.
Trong bài thuyết trình của mình, Justin Drake nhấn mạnh rằng Ethereum đã rút ra được những bài học đáng kể trong suốt năm năm qua ở những lĩnh vực quan trọng như hiểu biết về MEV, những đột phá trong công nghệ SNARK và nhận thức phản hồi về những sai lầm công nghệ. Những thiết kế dựa trên những kiến thức mới này được phân loại thành ba trụ cột chính: Sản xuất khối, Stake và Mật mã học. Hình sau tóm tắt những thiết kế này và lộ trình đề xuất:
Trong phần này, chúng tôi đã xem xét chi tiết các bước Consensus, State và Execution của The Verge, và một trong những vấn đề nổi bật nhất được đưa ra trong quá trình này là việc sử dụng hàm băm SHA256 trong Beacon Chain của Ethereum. Trong khi SHA256 đóng vai trò trung tâm trong đảm bảo an ninh của mạng và xử lý giao dịch, việc thiếu tính thân thiện với zk đặt ra một rào cản đáng kể trong việc đạt được mục tiêu xác thực của Ethereum. Chi phí tính toán cao và không tương thích với công nghệ zk khiến nó trở thành một vấn đề quan trọng phải được giải quyết trong các phát triển tương lai của Ethereum.
Lộ trình của Justin Drake, được trình bày trong buổi nói chuyện tại Devcon, dự định thay thế SHA256 trong Beacon Chain bằng các hàm băm thân thiện với zk như Poseidon. Đề xuất này nhằm mục tiêu cập nhật lớp đồng thuận của Ethereum, làm cho nó có thể xác minh, hiệu quả hơn và phù hợp hơn với các công nghệ chứng minh zk.
Trong ngữ cảnh này, chúng ta thấy rằng Ethereum không chỉ đối mặt với thách thức từ các hàm băm không thân thiện với zk mà còn cần phải đánh giá lại các chữ ký số được sử dụng trong lớp đồng thuận của mình để đảm bảo an ninh dài hạn. Với sự tiến bộ của máy tính lượng tử, các thuật toán chữ ký số như ECDSA hiện đang được sử dụng có thể đối mặt với các mối đe dọa đáng kể. Như đã ghi chú trong hướng dẫn được xuất bản bởi NIST, các biến thể của ECDSA với mức độ an ninh 112 bit sẽ bị loại bỏ vào năm 2030 và hoàn toàn bị cấm vào năm 2035. Điều này đòi hỏi một sự chuyển đổi cho Ethereum và các mạng tương tự hướng tới các phương án thay thế mạnh mẽ hơn như các chữ ký an toàn với lượng tử trong tương lai.
Tại thời điểm này, chữ ký dựa trên băm nổi lên như là các giải pháp chống lại quantum có thể đóng một vai trò quan trọng trong việc hỗ trợ cho mục tiêu bảo mật và xác thực mạng. Giải quyết nhu cầu này cũng loại bỏ rào cản thứ hai để làm cho Beacon Chain có thể được xác thực: Chữ ký BLS. Một trong những bước quan trọng nhất mà Ethereum có thể thực hiện để đảm bảo an toàn đối với quantum là áp dụng các giải pháp post-quantum như chữ ký dựa trên băm và hash-based SNARKs.
Như Justin Drake nhấn mạnh trong bài thuyết trình của ông ta tại Devcon, các hàm băm bản chất có khả năng chống lại máy tính lượng tử do sự phụ thuộc của chúng vào khả năng chống lại hình ảnh trước, làm cho chúng trở thành một trong những khối xây dựng cơ bản của mật mã hiện đại. Tính chất này đảm bảo rằng ngay cả máy tính lượng tử cũng không thể đảo ngược hiệu quả đầu vào ban đầu từ một hàm băm đã cho, bảo vệ tính bảo mật của chúng. Hệ thống chữ ký dựa trên hàm băm cho phép các nhà xác minh và chứng thực tạo ra các chữ ký hoàn toàn dựa trên các hàm băm, đảm bảo tính bảo mật sau lượng tử và đồng thời cung cấp một mức độ xác minh cao hơn trên mạng - đặc biệt nếu sử dụng một hàm băm thân thiện với SNARK. Phương pháp này không chỉ nâng cao tính bảo mật của mạng mà còn làm cho cơ sở hạ tầng bảo mật dài hạn của Ethereum mạnh mẽ hơn và chuẩn bị cho tương lai.
Hệ thống này dựa trên việc kết hợp chữ ký dựa trên hash và các chứng cứ dựa trên hash (chứng cứ STARK giống như) để tạo ra các hệ thống chữ ký có thể tổng hợp. Chữ ký có thể tổng hợp nén hàng nghìn chữ ký thành một cấu trúc duy nhất, giảm nó thành chỉ vài trăm kilobyte chứng cứ. Quá trình nén này giảm đáng kể tải dữ liệu trên mạng trong khi đồng thời tăng tốc quá trình xác minh. Ví dụ, hàng nghìn chữ ký của người xác minh được tạo ra cho một khe cắm duy nhất trên Ethereum có thể được biểu diễn bằng một chữ ký tổng hợp duy nhất, tiết kiệm cả không gian lưu trữ và sức mạnh tính toán.
Tuy nhiên, đặc điểm đáng chú ý nhất của hệ thống này là sự tổng hợp vô hạn. Nghĩa là, một nhóm chữ ký có thể được kết hợp tiếp theo dưới một nhóm khác, và quá trình này có thể tiếp tục trên chuỗi. Với cơ chế này và xem xét các tiến bộ công nghệ trong tương lai, có thể nói rằng điều này mở ra cánh cửa cho những khả năng hiện tại không thể đạt được với BLS.
Con đường dẫn đến khả năng xác minh của Ethereum đại diện cho một sự thay đổi cơ bản trong công nghệ blockchain. Sáng kiến Verge giải quyết sự thiếu hiệu quả cốt lõi thông qua Verkle Trees để xác minh trạng thái và bằng chứng STARK cho quá trình chuyển đổi có thể mở rộng.
Một trong những đề xuất tham vọng nhất là Beam Chain, một thiết kế lại toàn diện lớp đồng thuận của Ethereum. Bằng cách giải quyết những hạn chế của Beacon Chain và kết hợp các lựa chọn thay thế thân thiện với zk, cách tiếp cận này nhằm mục đích nâng cao khả năng mở rộng của Ethereum trong khi vẫn giữ nguyên các nguyên tắc cốt lõi của nó về phân cấp và khả năng tiếp cận. Tuy nhiên, quá trình chuyển đổi cũng làm nổi bật những thách thức Ethereum phải đối mặt trong việc cân bằng nhu cầu tính toán với mục tiêu duy trì một mạng lưới toàn diện, không được phép.
Với việc NIST dự định loại bỏ mật mã đường cong elip hiện tại vào năm 2035, Ethereum phải áp dụng các giải pháp chống lại lượng tử như chữ ký dựa trên băm và Poseidon. Những giải pháp này đều có nhược điểm hiệu suất riêng của chúng.
Việc sử dụng STARK trong lộ trình của Ethereum nhấn mạnh hơn nữa khả năng mở rộng và khả năng xác minh. Mặc dù họ vượt trội trong việc cung cấp các bằng chứng minh bạch và chống lượng tử, sự tích hợp của họ đưa ra những thách thức liên quan đến chi phí tính toán bên lề tục ngữ và sự thiếu hiệu quả của dữ liệu nhỏ. Những rào cản này phải được giải quyết để nhận ra đầy đủ tầm nhìn của Ethereum về tình trạng không quốc tịch và xác minh khối hiệu quả, đảm bảo mạng vẫn mạnh mẽ khi đối mặt với nhu cầu ngày càng tăng.
Mặc dù có những tiến bộ này, vẫn còn những thách thức quan trọng. Ethereum phải vượt qua các vấn đề về tính thân thiện với zk, tính mở rộng của đồng thuận và những phức tạp khi tích hợp mật mã chống lại lượng tử. Hơn nữa, tính tương thích ngược của cơ sở hạ tầng hiện có đặt ra những trở ngại thực tế đòi hỏi các giải pháp kỹ thuật cẩn thận để ngăn chặn sự gián đoạn đối với các nhà phát triển và người dùng.
Điều làm Ethereum nổi bật không chỉ là các đổi mới kỹ thuật mà còn là cách tiếp cận theo từng bước để giải quyết những vấn đề khó nhất trong blockchain. Con đường phía trước - dù thông qua các công nghệ như Beam Chain, Verkle Trees hoặc STARK proofs - phụ thuộc vào sự cộng tác của các nhà phát triển, nhà nghiên cứu và cộng đồng rộng hơn. Những tiến bộ này không phải là về việc đạt được sự hoàn thiện ngay lập tức mà là về việc tạo nên một nền tảng cho một internet minh bạch, phi tập trung và có thể xác minh được.
Sự tiến hóa của Ethereum nhấn mạnh vai trò quan trọng của nó trong việc định hình kỷ nguyên Web3. Bằng cách giải quyết các thách thức hiện tại bằng các giải pháp thực tế, Ethereum tiến gần hơn đến một tương lai khi tính xác minh, khả năng chống lại lượng tử và khả năng mở rộng trở thành tiêu chuẩn, chứ không phải là ngoại lệ.