BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Ethereum đang trỗi dậy: EIP-3074 sau EIP-1559

ChinaDeFi
特邀专栏作者
Bài viết này có khoảng 3568 từ, đọc toàn bộ bài viết mất khoảng 6 phút
Ropsten có chiều cao 10499401 và được hạ thủy vào ngày 24 tháng 6. Mặt khác, Goerli sẽ diễn ra vào ngày 30 tháng 6 và Rinkeby sẽ diễn ra vào ngày 7 tháng 7.
Tóm tắt AI
Ropsten có chiều cao 10499401 và được hạ thủy vào ngày 24 tháng 6. Mặt khác, Goerli sẽ diễn ra vào ngày 30 tháng 6 và Rinkeby sẽ diễn ra vào ngày 7 tháng 7.
  • Mạng thử nghiệm Ropsten đã được ra mắt vào ngày 24 tháng 6 với chiều cao khối là 10.499.401.

  • Khoảng 88.500 ethernet thử nghiệm trị giá 177,6 triệu đô la đã bị đốt cháy kể từ khi triển khai.

  • Trong khoảng thời gian Eth2 ra mắt, 100.000 ETH trị giá 200 triệu đô la đã được gửi vào hợp đồng đặt cược của Eth2.

  • Đề xuất cải tiến Ethereum rất được mong đợi EIP-1559 cuối cùng đã được triển khai trên mạng thử nghiệm Ropsten cho bản nâng cấp sắp tới của Ethereum ở London. Vài ngày trước, ba ngày ra mắt mạng thử nghiệm Ethereum cho hard fork ở London đã được công bố. Nhà phát triển lõi Ethereum Tim Beiko đã thông báo rằng chiều cao khối của các mạng thử nghiệm Ropsten, Goerli và Rinkeby đã được xác định. Ropsten có chiều cao 10499401 và được hạ thủy vào ngày 24 tháng 6. Mặt khác, Goerli sẽ diễn ra vào ngày 30 tháng 6 và Rinkeby sẽ diễn ra vào ngày 7 tháng 7.

    Cơ chế đốt của EIP-1559 có thể có lợi cho giá của mã thông báo

    Trong khi hard fork ở London có 5 đề xuất cải tiến Ethereum, EIP-1559 đã thu hút mọi sự chú ý. Bản nâng cấp mới dự kiến ​​sẽ tiêu tốn phí giao dịch trên mạng. Theo trang theo dõi EIP-1559 Watch the Burn, kể từ khi mạng thử nghiệm Ropsten được nâng cấp ở London, khoảng 88.500 ethernet thử nghiệm đã bị đốt cháy, trị giá 177,6 triệu USD. Tuy nhiên, một lượng lớn Ethereum bị đốt cháy bởi EIP-1559 đã khơi lại cuộc thảo luận về giảm phát đại tu Eth2. Ether đốt cháy nhanh hơn nguồn cung cấp lưu thông do cơ chế đốt cháy. Điều này có thể rất có lợi cho giá của ETH.

    Sau EIP-1559, cộng đồng tập trung vào EIP-3074, nhằm giải quyết các vấn đề bảo mật

    Tuy nhiên, EIP-1559 không phải là EIP duy nhất mà cộng đồng Ethereum đang chú ý. EIP-3074 là một đề xuất cải tiến khác được cộng đồng rất mong đợi trong bản nâng cấp. Theo David Mihal và các tweet của anh ấy, một vấn đề bảo mật lớn mà Ethereum đã bỏ qua là sự chấp thuận của ERC20. Anh ấy nói thêm rằng anh ấy đã thúc đẩy ERC777 và cơ hội duy nhất của họ để khắc phục điều này là EIP-3074. Đề xuất cải tiến ethereum sẽ cho phép người dùng phê duyệt chuyển khoản, thực hiện hành động và thu hồi phê duyệt trong một giao dịch.

    Trước đây, các nhà phát triển ethereum đã lưu ý rằng EIP-1559 không được thiết kế để giảm chi phí gas: nhưng nhiều người vẫn tin rằng đề xuất này chắc chắn sẽ giảm đáng kể chi phí gas. Điều này thậm chí có thể làm giảm 50% thu nhập của thợ mỏ, dẫn đến "cuộc nổi dậy của thợ mỏ", cuối cùng thất bại. Tuy nhiên, việc nâng cấp ở London dự kiến ​​sẽ thúc đẩy xu hướng tăng giá của Ethereum. Nhà phân tích mã hóa nổi tiếng CryptoQuant đã chỉ ra rằng vào khoảng thời gian Eth2 được tung ra, 100.000 Ethereum trị giá 200 triệu USD đã được gửi vào hợp đồng cam kết của Eth2. Hiện tại, hơn 5% nguồn cung ETH đã bị khóa, trị giá khoảng 11,75 tỷ USD.

    EIP-3074 là gì?

    Khi chúng tôi muốn gửi mã thông báo đến một hợp đồng thông minh, chúng tôi thường phải thực hiện hai giao dịch: giao dịch đầu tiên được phê duyệt là hợp đồng chi tiêu mã thông báo của chúng tôi và giao dịch thứ hai là chuyểnTừ đó gửi mã thông báo đến hợp đồng.

    EIP-3074 giải quyết vấn đề bằng cách giới thiệu một cách để hợp đồng thông minh gửi giao dịch trong tài khoản thuộc sở hữu bên ngoài (EOA hoặc đơn giản là địa chỉ Ethereum thông thường).

    EIP này giới thiệu hai hướng dẫn EVM AUTH và AUTHCALL. Đầu tiên đặt biến bối cảnh *được ủy quyền* cho chữ ký dựa trên ECDSA. Người thứ hai gửi cuộc gọi dưới dạng *được ủy quyền*. Điều này về cơ bản ủy quyền kiểm soát EOA cho [a] hợp đồng thông minh.

    Các hướng dẫn AUTH và AUTHCALL EVM (còn được gọi là opcodes) cho phép hợp đồng thông minh ủy quyền EOA dựa trên thông báo đã ký và gửi giao dịch (“gọi”) từ EOA đó. Điều này mở ra nhiều khả năng, chẳng hạn như:

  • Giao dịch được tài trợ (còn được gọi là giao dịch meta): Trả tiền gas cho một giao dịch từ tài khoản khác. Điều này cũng sẽ cho phép chúng tôi gửi mã thông báo từ một địa chỉ không có bất kỳ ether nào.

  • Giao dịch hàng loạt: gửi nhiều giao dịch trong một cuộc gọi. Điều này đảm bảo rằng hai hoặc nhiều giao dịch được thực hiện trong cùng một khối và cũng giảm phí giao dịch.

  • Trải nghiệm người dùng được cải thiện (UX): Ví dụ: chúng tôi có thể gọi phê duyệt và chuyểnTừ trong một giao dịch.

  • tiêu đề phụ

    Mã opcode AUTH và AUTHCALL

    EIP-3074 định nghĩa hai opcode mới có thể được gọi từ hợp đồng thông minh:

  • AUTH (0xf6) - Cấp quyền cho các tài khoản thuộc sở hữu bên ngoài dựa trên chữ ký và cam kết. Nó chấp nhận bốn tham số đầu vào: cam kết và chữ ký yParity, r và s.

  • AUTHCALL (0xf7) - Gửi cuộc gọi (giao dịch) trong bối cảnh EOA được ủy quyền. Nó chấp nhận 8 tham số đầu vào: gas, addr, value, valueExt, argsOffset, argsLength, retOffset, retLength. Điều này tương tự như opcode GỌI hiện có.

  • Để cho phép một EOA, chúng tôi cần một thông báo đã ký từ EOA đó. Hợp đồng thông minh gọi AUTH có thể khôi phục người ký từ chữ ký thông báo và sau đó đặt chữ ký thông báo thành biến ngữ cảnh EVM được ủy quyền. Bây giờ, bất cứ khi nào hợp đồng thông minh gọi AUTHCALL, người gọi được đặt thành địa chỉ được ủy quyền. Khi hợp đồng thông minh được gọi gọi CALLER (ví dụ: thông qua msg.sender của Solidity), đây hiện là địa chỉ cho phép EOA, không phải địa chỉ của người gọi hợp đồng thông minh đã thực hiện cuộc gọi.

    Luồng cơ bản để gửi một hoặc nhiều giao dịch như sau:

    Luồng EIP-3074 cơ bản trong đó hợp đồng người gọi gửi nhiều giao dịch.

  • thông tin ủy quyền ký kết EOA;

  • EOA hoặc những người trả tiền gas khác gửi dữ liệu giao dịch và thông tin ủy quyền cho hợp đồng người gọi;

  • Hợp đồng người gọi thực hiện ủy quyền bằng AUTH và gửi giao dịch bằng AUTHCALL.

  • tiêu đề phụ

    Thông báo ủy quyền và cam kết

    Mô tả hình ảnh

    (Lưu ý: || được sử dụng làm toán tử nối byte)

    Mô tả hình ảnh

    Định dạng thông báo ủy quyền, bao gồm các ví dụ có sẵn để gửi

    Một cam kết mô tả đối tượng mà EOA cam kết và có thể được tính toán dựa trên các thuộc tính nhất định (ví dụ: địa chỉ, giá trị) của lệnh gọi. Hợp đồng người gọi có thể tính toán lại nội dung gửi dựa trên các thuộc tính được cung cấp và nếu các trường đó chính xác thì việc ủy ​​quyền sẽ được thực hiện.

    Ví dụ: giả sử chúng tôi muốn gửi giao dịch sau (được biểu thị dưới dạng JSON):

    Chúng tôi có thể băm các trường này (ví dụ: nối chúng lại với nhau theo cách xác định hoặc sử dụng thứ gì đó như EIP-712) và sử dụng trường đó làm cam kết.

    Chúng tôi có thể cung cấp chữ ký của giao dịch và thông báo ủy quyền được gửi trong hợp đồng thông minh, như được hiển thị trong dữ liệu JSON này. Một chức năng hợp đồng có thể trông như thế này:

    Hợp đồng thông minh tính toán lại giao dịch cam kết và cung cấp cam kết này (cùng với chữ ký) cho lệnh gọi AUTH. Điều này sẽ cố gắng khôi phục địa chỉ của người ký và nếu cam kết không hợp lệ, địa chỉ sai sẽ được khôi phục từ chữ ký, nghĩa là giao dịch sẽ thất bại.

    chữ

    Hạn chế và vấn đề bảo mật

    EIP-3074 có thể thay đổi NGƯỜI GỌI dựa trên chữ ký, điều này thay đổi đáng kể cách thức hoạt động của EVM. Điều này có thể giới thiệu các lỗ hổng tiềm ẩn trong các hợp đồng mới và hiện có. Do đó, EIP-3074 được kiểm tra.

    chữ

    Tấn công cam kết và phát lại yếu

    Như đã đề cập ở trên, EIP-3074 không xác định định dạng tiêu chuẩn hóa cho nội dung gửi. Người gọi được tự do thực hiện điều này theo bất kỳ cách nào họ muốn. Điều này có nghĩa là người gọi hoàn toàn chịu trách nhiệm cung cấp sự bảo vệ đầy đủ chống lại (ví dụ) các cuộc tấn công phát lại.

    Nếu cam kết không chứa một số loại nonce, bạn chỉ cần lấy tin nhắn đã ký và gửi lại cho người gọi. Người gọi ác ý có thể giành quyền kiểm soát EOA bằng cách hoàn toàn không xác thực cam kết. Chúng ta phải luôn cẩn thận khi ký tên vào các thông điệp.

    Bằng cách bao gồm địa chỉ của người gọi trong thông báo ủy quyền, EIP-3074 có khả năng bảo vệ cơ bản chống lại các cuộc tấn công lặp lại. Điều này khiến không thể phát lại tin nhắn ủy quyền của một người gọi trên một người gọi khác.

    người gọi có thể nâng cấp

    EIP-3074 tuyên bố rõ ràng rằng người gọi phải không thể nâng cấp. Nếu người gọi có thể nâng cấp được, ai đó có thể triển khai một phiên bản khác của người gọi không xác thực các cam kết, trao cho hợp đồng toàn quyền kiểm soát EOA.

    cuộc tấn công reentrancy

    Hiện tại, hợp đồng thông minh có thể sử dụng yêu cầu (tx.origin == msg.sender), kiểm tra xem giao dịch có được gửi từ EOA (chứ không phải hợp đồng khác) hay không. Điều này cho phép ngăn chặn việc vào lại dễ dàng vì nó ngăn các hợp đồng gọi các chức năng.

    Tóm lại là

    Tóm lại là

    EIP-3074 mang đến nhiều khả năng mới thú vị cho Ethereum. AUTH và AUTHCALL cho phép EOA ủy quyền kiểm soát tài khoản cho người gọi hợp đồng thông minh, giúp gửi các giao dịch hàng loạt, giao dịch tài trợ, v.v. Tuy nhiên, nó mang lại một số thay đổi đáng kể đối với cách thức hoạt động của các giao dịch trên Ethereum, vì vậy cần phải suy nghĩ nhiều hơn về bảo mật trước khi EIP-3074 được kích hoạt trên mạng chính.


ETH
nhà phát triển
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký:
https://t.me/Odaily_News
Nhóm trò chuyện:
https://t.me/Odaily_GoldenApe
Tài khoản chính thức:
https://twitter.com/OdailyChina