EIP-2537: ETH 1.0 hỗ trợ cho ETH 2.0
Lưu ý của biên tập viên: Bài viết này đến từNhững người đam mê Ethereum (ID: ethfans)Những người đam mê Ethereum (ID: ethfans)
, Tác giả: Alex Stokes, Người dịch & Người soát lỗi: Min Min & A Jian, được Odaily sao chép với sự cho phép.
tiêu đề cấp đầu tiên
lãnh thổ mới
Mạng chính của ETH 2.0 Giai đoạn 0, còn được gọi là "beacon chain", dự kiến sẽ ra mắt vào cuối năm nay. Ngay bây giờ, chúng ta nên suy nghĩ về câu hỏi này: mạng hiện tại có thể làm gì để thúc đẩy việc khởi chạy hệ thống mới một cách suôn sẻ? Chúng ta có thể tưởng tượng một số trường hợp sử dụng thú vị khi khả năng tương tác giữa hai mạng có thể được khai thác (trước khi ETH 1.0 được hợp nhất thành ETH 2.0), nhưng hóa ra nếu EVM (Máy ảo Ethereum) không thể được sửa đổi để phù hợp với các ứng dụng này thì sẽ bị cản trở bởi các yếu tố mật mã mới được sử dụng trong hệ thống ETH 2.0. Ở đây, tôi hy vọng cung cấp một cái nhìn tổng quan về các phần tử mã hóa mới này và giải thích lý do tại sao việc tích hợp chúng vào EVM sẽ giúp chúng tôi tận dụng các khả năng của hệ thống mới ngay cả trước khi Eth1 di chuyển.
-https://en.wikipedia.org/Điều gì còn thiếu trong ETH 1.0?
Tất cả dữ liệu trên chuỗi khối Ethereum đều được công khai, vì vậy chúng tôi phải sử dụng chữ ký mật mã để đảm bảo rằng một giao dịch cụ thể phản ánh ý định của các bên liên quan. Sơ đồ chữ ký được Ethereum sử dụng dựa trên các đường cong elip, sử dụng một đường cong có tên là secp256k1. Các điểm trên đường cong này được sử dụng trong sơ đồ chữ ký có tên là ECDSA để cung cấp cho chữ ký mật mã của chúng tôi các thuộc tính mà chúng tôi mong muốn.
Mô tả hình ảnh
, thuộc tính của đường cong elip này cải thiện tính bảo mật của lược đồ chữ ký ECDSA −
Mặc dù sơ đồ chữ ký ECDSA dựa trên secp256k1 đã được thử nghiệm sử dụng trong nhiều năm, nhưng các tiêu chuẩn xác định của cả hai chỉ tương ứng khoảng 20 và 10 năm tuổi. ETH 2.0 sử dụng cấu trúc tương đối mới, tận dụng những tiến bộ mới trong mật mã học. Trình xác thực trong hệ thống ETH 2.0 (tương tự như công cụ khai thác ETH 1.0) sử dụng sơ đồ chữ ký BLS, dựa trên một đường cong elip khác có tên là BLS12-381. (Lưu ý rằng "BLS" là từ viết tắt và ba chữ cái xuất phát từ tên của ba người đề xuất!) ETH 2.0 áp dụng công nghệ mới này chủ yếu vì nó có thể tổng hợp hiệu quả nhiều chữ ký thành một chữ ký duy nhất, để trực tiếp thúc đẩy tính khả thi khi tham gia của Bảo mật ETH 2.0. Để biết thêm thông tin, hãy xem bài viết của Carl Beekhuizen về tầm quan trọng của việc tổng hợp chữ ký trong ETH 2.0 (ghi chú của biên tập viên: xem "Hướng dẫn Staking Eth2 #2" được siêu liên kết ở cuối bài viết).
Mặc dù chữ ký BLS có nhiều lợi ích cho Eth2, nhưng vấn đề chúng tôi gặp phải là bản thân ETH 1.0 không hỗ trợ yếu tố mã hóa mới này và logic toán học cơ bản của nó yêu cầu tính toán cao, điều này ngăn chúng tôi triển khai BLS trong ký hiệu EVM. May mắn thay, chúng ta có thể thêm logic tính toán dưới dạng một phần "được biên dịch sẵn" để tránh các hạn chế về hiệu suất của EVM - thông qua các thuật toán được mã hóa cứng, việc triển khai gốc có thể được gọi bằng các hợp đồng thông minh bên ngoài trình thông dịch EVM.
Làm thế nào để thực hiện tiền biên dịch?
Phần biên dịch trước của giao thức Ethereum là một nguồn tài nguyên khan hiếm, vì vậy chỉ còn lại logic tính toán mà cộng đồng coi là quan trọng. Hơn nữa, các bản tiền biên dịch cần được triển khai thông qua các nhánh cứng (vì chúng thay đổi ngữ nghĩa của EVM), vì vậy chi phí phối hợp cao. May mắn thay, trong bản nháp hiện tại của EIP-2537, chúng ta có thể thấy rằng công việc biên dịch trước BLS này đang được tiến hành. EIP-2537 bao gồm tiền biên dịch hoạt động đường cong BLS12-381 và một hoạt động đắt tiền khác được gọi là "ánh xạ tới đường cong" được sử dụng trong sơ đồ thuật toán BLS. Nếu bạn tìm hiểu sâu về toán học của sơ đồ thuật toán BLS, bạn sẽ thấy rằng bạn cần một số cơ chế để chuyển đổi một thông báo (mà bạn muốn ký) thành một điểm trên đường cong elip thông qua thao tác "ánh xạ tới đường cong".
Tiền biên dịch mang lại cho chúng ta những lợi ích gì?
Biên dịch trước EIP-2537 sẽ giúp ETH 2.0 hoạt động bằng cách cải thiện trải nghiệm người dùng hợp đồng ký quỹ và đặt nền tảng cho việc xây dựng ứng dụng khách nhẹ ETH 2.0 trong ETH 1.0. Bản thân đường cong BLS12-381 có thể được sử dụng để xây dựng zk-SNARK, cùng với BLS được sử dụng trong các chuỗi khối khác mở đường cho khả năng tương tác giữa các mạng này.
Trải nghiệm người dùng cho hợp đồng ký quỹ
Phương pháp ban đầu để trở thành người xác thực trên Chuỗi Beacon ETH 2.0 là gửi ETH vào một hợp đồng thông minh trên ETH 1.0 (“Hợp đồng ký quỹ”). Để tiết kiệm phí Gas và giảm thiểu sự phức tạp, chức năng chính của hợp đồng ký quỹ là cung cấp một cam kết bằng mật mã (trên cây Merkle) cho một khoản tiền gửi nhất định và sau đó một cam kết như vậy có thể được sử dụng làm bằng chứng trên beacon chain . Điều quan trọng là chữ ký BLS cần thiết để xác nhận trái phiếu không được xác minh trên chuỗi ETH 1.0. Một loạt lỗi tính toán chữ ký BLS đã xảy ra trong mạng thử nghiệm do sơ hở và một phần ETH của mạng thử nghiệm đã bị mất. Để xác minh chữ ký BLS trên chuỗi ETH 1.0 (có thể đạt được thông qua EIP-2537), chúng ta có thể viết hợp đồng thông minh "chuyển tiếp" để lấy dữ liệu trái phiếu, xác minh chữ ký và sau đó chỉ gửi dữ liệu trái phiếu đến hợp đồng trái phiếu. Mặc dù tính năng này không phải là điều kiện tiên quyết để đảm bảo tính bảo mật của hợp đồng ký quỹ, nhưng nó mang lại tâm lý thoải mái cho các nhà phát triển tương tác với hợp đồng ký quỹ.
zk-SNARKs
Chúng tôi tin rằng trước khi xây dựng ứng dụng khách nhẹ ETH 2.0 trên chuỗi ETH 1.0, cần phải để ETH 1.0 "hiểu" công nghệ mã hóa được sử dụng bởi ETH 2.0. Bằng cách này, có thể triển khai ứng dụng khách nhẹ tương tự như BTCRelay trong hợp đồng thông minh. Một khi loại light client này được hiện thực hóa, nó sẽ trở thành trụ cột của "cầu nối" giữa mạng ETH 1.0 và ETH 2.0. Thông qua cầu nối hai chiều này, ETH có thể được chuyển giữa các mạng ETH 1.0 và ETH 2.0 và phân mảnh ETH 2.0 cũng có thể được sử dụng làm lớp dữ liệu có khả năng mở rộng cao để hỗ trợ kiến trúc hai tầng trên ETH 1.0 (ví dụ: các bản tổng hợp lạc quan, zk-rollups, v.v.).
các mạng khác
Sự phấn khích là tất cả sự phấn khích, nhưng lưu ý rằng việc xây dựng ứng dụng khách nhẹ bên trong EVM dưới dạng hợp đồng thông minh (thay vì triển khai ứng dụng khách nhẹ ở cấp độ ứng dụng khách ETH 1.0) có thể không phải là cách tốt nhất để khiến ETH 1.0 hiểu ETH 2.0. Hơn nữa, nghiên cứu gần đây về "cầu nối hai chiều" cho thấy phương pháp này không khả thi do các tham số bảo mật khác của mạng ETH 1.0 và ETH 2.0 (cũng có thể phân tách trạng thái ETH 1.0 và đặt nó trên phân đoạn ETH 2.0). Phải nói rằng, không có hại gì khi đặt nền móng ngay bây giờ và khi quá trình nghiên cứu tiếp theo tiến triển, chiến lược hợp nhất của ETH 1.0 và ETH 2.0 có thể thay đổi.
Mục đích của việc tạo đường cong BLS12-381 là cho phép ZCash sử dụng zk-SNARK hiệu quả hơn (nếu bạn muốn biết thêm về đường cong BLS12-381, bạn có thể kiểm tra liên kết ở trên). Hơn nữa, việc thêm đường cong này vào EVM cho phép Ethereum xác minh các SNARK như vậy, cho phép các ứng dụng về quyền riêng tư và khả năng mở rộng thông qua các giao thức bằng chứng không có kiến thức.
các mạng khác
Một số chuỗi khối "thế hệ tiếp theo" (Filecoin, Chia, Cosmos, v.v.) cũng đang có kế hoạch sử dụng sơ đồ chữ ký BLS; cung cấp cho EVM khả năng xác minh các chữ ký này một cách tự nhiên có thể mở khóa nhiều trường hợp sử dụng khả năng tương tác hơn, giống như ETH 1.0 và ETH 2.0 như vậy.


