EIP là gì? Tầm quan trọng của Đề xuất cải tiến Ethereum
EIP là gì?
EIP (viết tắt của Ethereum Improvement Proposal, tức Đề xuất cải tiến Ethereum) là tài liệu mô tả các tiêu chuẩn được đề xuất để thay đổi hoặc cải tiến nền tảng Ethereum, bao gồm các thông số kỹ thuật cốt lõi của giao thức, phần mềm máy khách API (node), tiêu chuẩn hợp đồng thông minh…
Bất kỳ ai trong cộng đồng Ethereum cũng có thể tạo ra một EIP. Tuy nhiên, một EIP thường đòi hỏi cao về mặt kỹ thuật và kiến thức liên quan đến công nghệ, vì vậy phần lớn những người tạo ra EIP đều là các nhà phát triển (developer) ứng dụng và giao thức.
Tầm quan trọng của EIP
EIP đóng vai trò quan trọng trong việc quyết định cách Ethereum sẽ thay đổi hay thêm các tính năng mới nào để blockchain ngày càng phát triển, phục vụ cho nhu cầu của người dùng và dApp. Từ đó mang lại khả năng thích ứng và linh hoạt cho mạng lưới Ethereum.
EIP cũng là phương thức để thúc đẩy tính minh bạch trên mạng lưới Ethereum, bởi bất kỳ ai trong cộng đồng cũng có thể tham gia đề xuất, đóng góp ý kiến, tranh luận và bỏ phiếu cho EIP. Việc có quy trình xử lý nghiêm ngặt và được xem xét cẩn thận trước khi triển khai cũng giúp đảm bảo tính chính xác và toàn diện cho mỗi EIP.
Bên cạnh đó, tuỳ vào động lực và mục đích của từng EIP mà chúng sẽ có tác động khác nhau như giúp giảm phí, tăng bảo mật, khả năng mở rộng, hiệu suất của mạng lưới…
Trong mỗi đợt nâng cấp mạng, Ethereum sẽ yêu cầu các máy khách (node) triển khai một bộ EIP đính kèm. Điều này đồng nghĩa với việc để duy trì sự đồng thuận trên mạng mainnet của Ethereum, những người vận hành node trong mạng lưới đều phải triển khai tất cả các EIP cần thiết.
Phân loại EIP
Ethereum chia các EIP thành 3 loại chính:
- Standards Track EIP: Đề xuất tác động đến việc vận hành và triển khai mạng Ethereum, bao gồm hard fork, thay đổi giao thức mạng, quy tắc xác thực khối (block) hoặc giao dịch, giới thiệu chuẩn token mới (ERC), hoặc bất kỳ thay đổi nào ảnh hưởng đến khả năng tương tác của ứng dụng trên Ethereum. Ví dụ: EIP-1559, EIP-20, EIP-721, EIP-4337…
- Meta EIP (hay Process EIP): Đề xuất liên quan đến việc tạo ra quy trình mới hoặc thay đổi một quy trình đã có trước đó mà không làm thay đổi giao thức Ethereum. Bao gồm những thủ tục, hướng dẫn, thay đổi trong quy trình ra quyết định; thay đổi công cụ sử dụng trong quá trình phát triển của Ethereum.
- Informational EIP: Đề xuất liên quan đến việc cung cấp hướng dẫn, thông tin chung cho cộng đồng Ethereum, nhưng không đề xuất tính năng mới và không yêu cầu (hay bắt buộc) phải triển khai. Các nhà phát triển và người dùng trong cộng đồng thường sẽ bỏ qua các loại EIP này.
Quy trình xử lý EIP của Ethereum
Ai tham gia vào quy trình xem xét EIP mới?
Có 4 thực thể chính tham gia vào quy trình xem xét và xử lý một đề xuất cải tiến mới của Ethereum:
- Tác giả (Author): Người đưa ra ý tưởng chính về thay đổi, cải tiến của mạng và soạn thảo đề xuất.
- Nhóm biên tập (Editor): Những người làm việc trực tiếp với tác giả để xem xét và đánh giá về tính chính xác trong kỹ thuật, chính tả và ngữ pháp của EIP. Có thể bao gồm nhà phát triển ban đầu của Ethereum (developer), nhà nghiên cứu (researcher) hoặc kỹ sư phần mềm của các nền tảng khác… như Vitalik Buterin, Gavin Wood, Martin Becze…
- Nhóm nhà phát triển cốt lõi (core dev) của Ethereum: Những nhà phát triển, nhà nghiên cứu nổi bật, hoạt động tích cực trên node phần mềm của mạng lưới và có tiếng nói quan trọng trong các cuộc thảo luận về mặt kỹ thuật xung quanh các đề xuất mới.
- Cộng đồng: Người dùng cuối của blockchain Ethereum.
EIP mới được xử lý như thế nào?
Quy trình xử lý và phê duyệt EIP sẽ bao gồm nhiều giai đoạn thảo luận, sửa đổi và xem xét nghiêm ngặt, kỹ lưỡng như hình dưới đây.
Có 8 trạng thái, giai đoạn chính trong quy trình xử lý một EIP mới:
- Idea: Tác giả ra ý tưởng, soạn thảo bản đề xuất (EIP) và gửi cho nhóm biên tập.
- Draft: Nhóm biên tập kiểm tra lỗi và định dạng của EIP để đảm bảo tính thống nhất, rõ ràng về mặt nội dung và ý nghĩa về mặt kỹ thuật. Sau đó đăng lên kho lưu trữ EIP của GitHub.
- Review: Tác giả đánh dấu EIP là đã sẵn sàng và yêu cầu Đánh giá Ngang hàng (Peer Review).
- Last Call: Cộng đồng xem xét, thảo luận và đóng góp ý kiến đối với EIP mà tác giả đã đăng trên GitHub. Giai đoạn này thường kéo dài ít nhất 14 ngày hoặc thời gian lâu hơn tuỳ tác giả đặt. Đề xuất có thể được quay lại giai đoạn Review để tác giả xem xét nếu cần thiết.
- Final: EIP đã hoàn thiện, đạt tiêu chuẩn và có thể được triển khai trên các node.
- Stagnant: Bất kỳ EIP nào tồn tại ở trạng thái Draft, Review, hoặc Last Call nhưng không hoạt động trong thời gian 6 tháng trở lên sẽ bị chuyển sang trạng thái Stagnant (trì trệ). Tác giả hoặc Nhóm biên tập có thể phục hồi EIP từ Stagnant trở về trạng thái trước đó của nó. Nếu không, nó có thể ở trạng thái này mãi mãi.
- Withdrawn: Tác giả đã rút lại EIP mà họ đề xuất và không thể phục hồi. Nếu có ai đó tiếp tục theo đuổi ý tưởng trong đề xuất này, nó sẽ được coi là một EIP mới và được xử lý lại từ đầu.
- Living: Giai đoạn đặc biệt dành cho những bản EIP được thiết kế để cập nhật liên tục và không đạt được trạng thái Final.
Trang web tổng hợp mọi thông tin về EIP: https://eips.ethereum.org
Một số EIP phổ biến
Trong suốt quá trình hình thành và phát triển, mạng lưới của Ethereum đã có rất nhiều EIP được xem xét và triển khai. Tuy nhiên, có thể kể đến một số EIP nổi bật đã mang lại những đổi mới đột phá cho Ethereum như:
- EIP-721: Đề xuất giới thiệu chuẩn token ERC-721 dành cho NFT trên Ethereum.
- EIP-1559: Đề xuất thay đổi cấu trúc phí dựa trên base fee để xử lý và ưu tiên các giao dịch trên Ethereum, với mục đích giúp giảm phí cho người dùng trên mạng lưới.
- EIP-3675: Đề xuất quan trọng về sự kiện The Merge, yêu cầu chuyển đổi thuật toán đồng thuận của Ethereum từ PoW sang PoS, với mục đích mang lại khả năng mở rộng và hiệu quả cao hơn cho hệ sinh thái Ethereum.
- EIP-4844: Đề xuất giới thiệu định dạng giao dịch mới gọi là “blob”, giúp giảm chi phí đăng gói giao dịch (transaction batch) lên Ethereum cho các Rollup, đồng thời giảm phí giao dịch trên Layer 2 cho người dùng.
Đọc thêm Blob là gì? Ảnh hưởng của Blob lên mạng lưới Ethereum.