EIP là những đề xuất chính thức để cải thiện chuỗi khối Ethereum. EIP tương tự như Bitcoin Improvement Proposals (BIPs) và là cách để cộng đồng Ethereum đề xuất, thảo luận và thực hiện các thay đổi đối với mạng Ethereum. Vậy EIP là gì? Tại sao EIP lại quan trọng đối với sự phát triển của Ethereum? Quy trình xử lý và xem xét một đề xuất cải tiến mới của Ethereum diễn ra như thế nào?
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 thay đổi hoặc cải tiến được đề xuất đối với mạng Ethereum. Chúng được viết ở định dạng chính thức và được thiết kế toàn diện, rõ ràng và ngắn gọn. EIP bao gồm nhiều chủ đề, bao gồm thông số kỹ thuật, tính năng mới, tiêu chuẩn và sửa đổi các chức năng hiện có trong mạng.
- EIP đóng vai trò là cách để các thành viên của cộng đồng Ethereum đề xuất các thay đổi đối với mạng và bắt đầu thảo luận xung quanh những đề xuất đó.
- Chúng được gửi bởi bất kỳ ai muốn đóng góp cho sự phát triển của Ethereum, bao gồm các nhà phát triển, nhà nghiên cứu và thành viên cộng đồng.
- EIP trải qua quá trình xem xét và thảo luận của cộng đồng, bao gồm đánh giá ngang hàng và phản hồi, trước khi chúng được chấp nhận và triển khai.
- Sau khi EIP được chấp nhận, nó sẽ trở thành một phần của hệ thống Đề xuất cải tiến Ethereum và được triển khai trong bản cập nhật giao thức tiếp theo của mạng.
- Cập nhật giao thức, còn được gọi là hard fork, là một quá trình thực hiện các thay đổi đối với cơ sở mã Ethereum và mã cập nhật được phát hành lên mạng. Hard fork rất quan trọng vì chúng đảm bảo rằng mọi người trên mạng đều sử dụng cùng các quy tắc và giao thức.
Việc triển khai EIP rất quan trọng vì nó cho phép mạng Ethereum phát triển và thích ứng với nhu cầu thay đổi và nhu cầu của người dùng. EIP cho phép thêm các tính năng và chức năng mới vào mạng, từ đó có thể dẫn đến sự phát triển của các ứng dụng phi tập trung (dApps) mang tính đổi mới. EIP cũng có thể cải thiện tính bảo mật, khả năng mở rộng và hiệu quả của mạng Ethereum.
Tại Sao EIP Lại Quan Trọng?
EIP quan trọng vì chúng cho phép mạng Ethereum phát triển và thích ứng với nhu cầu thay đổi của người dùng và nhà phát triển. Mạng Ethereum được sử dụng bởi nhiều cá nhân và tổ chức khác nhau, mỗi cá nhân và tổ chức đều có những yêu cầu và trường hợp sử dụng riêng.
- Cho phép thêm các tính năng mới vào mạng: EIP cho phép thêm các tính năng và chức năng mới vào mạng, điều này có thể cho phép tạo ra các ứng dụng phi tập trung đổi mới phục vụ tốt hơn nhu cầu của những người dùng này.
- Thúc đẩy tính minh bạch: EIP rất quan trọng vì chúng thúc đẩy tính minh bạch và tính toàn diện trong cộng đồng Ethereum. Bất kỳ ai cũng có thể gửi EIP, bất kể nền tảng hoặc chuyên môn của họ. Điều này có nghĩa là nhiều quan điểm và ý tưởng khác nhau sẽ được xem xét khi đề xuất thay đổi mạng. Quá trình xem xét và thảo luận dựa vào cộng đồng đảm bảo rằng những thay đổi đề xuất được đánh giá, kiểm tra và tinh chỉnh kỹ lưỡng trước khi chúng được triển khai.
- Giúp duy trì bảo mật: EIP cũng đóng một vai trò quan trọng trong việc duy trì tính bảo mật và ổn định của mạng Ethereum. Bằng cách yêu cầu các thay đổi được đề xuất phải trải qua quy trình xem xét nghiêm ngặt, EIP giúp giảm thiểu rủi ro về lỗi, lỗ hổng và các vấn đề khác có thể làm tổn hại đến mạng. Điều này có thể giúp xây dựng niềm tin giữa người dùng và nhà phát triển, điều này rất quan trọng cho sự thành công lâu dài của mạng.
Lịch Sử Của EIP
Lịch sử của EIP bắt đầu từ năm 2015 khi Ethereum lần đầu tiên được tạo ra. Ethereum Improvement Proposal được lấy cảm hứng từ hệ thống Bitcoin Improvement Proposal đã được thiết lập.
- EIP đầu tiên là EIP-1, trong đó nêu ra các quy tắc và hướng dẫn để tạo EIP. Kể từ đó, hệ thống EIP đã được sử dụng để đề xuất và thực hiện hàng trăm thay đổi đối với mạng Ethereum.
- Một trong những EIP quan trọng nhất trong lịch sử của Ethereum là EIP-1559, được đề xuất vào năm 2018 và được triển khai vào tháng 8 năm 2021 như một phần của đợt hard fork London. EIP-1559 đã giới thiệu cấu trúc phí mới cho các giao dịch Ethereum nhằm giảm phí giao dịch và tăng hiệu quả của mạng. Việc triển khai EIP-1559 là một cột mốc quan trọng đối với Ethereum, thể hiện khả năng thích ứng và phát triển của mạng để đáp ứng nhu cầu thay đổi của người dùng.
- Hệ thống EIP cũng đã được sử dụng để giới thiệu các tính năng mới cho mạng, chẳng hạn như EIP-721, giới thiệu tiêu chuẩn ERC-721 cho mã thông báo không thể thay thế (NFT). NFT đã trở thành một trường hợp sử dụng quan trọng đối với Ethereum, với NFT trị giá hàng tỷ đô la hiện được giao dịch trên mạng.
- Một khía cạnh quan trọng khác của hệ thống EIP là quy trình do cộng đồng định hướng để đề xuất và xem xét các thay đổi. Quá trình này đã giúp đảm bảo rằng các thay đổi được đề xuất được đánh giá và kiểm tra kỹ lưỡng, giảm nguy cơ xảy ra lỗi và lỗ hổng có thể ảnh hưởng đến bảo mật của mạng.
Các Loại EIP
EIP được phân thành ba loại. Mỗi EIP có một số, tiêu đề và (các) tác giả duy nhất. EIP được thảo luận và tranh luận trên Github và sau khi được chấp nhận, chúng sẽ được gán trạng thái “Accepted”. Nếu EIP được triển khai trong máy khách, nó sẽ được gán trạng thái “Final”.
Standard Track EIPs
Đây là những EIP đề xuất những thay đổi đối với chính giao thức Ethereum. Chúng được chia thành bốn loại dựa trên mức độ tác động mà chúng sẽ có trên mạng:
- Core EIPs: EIP này đề xuất các thay đổi đối với giao thức Ethereum rất quan trọng đối với hoạt động của mạng. Họ yêu cầu một hard fork để thực hiện.
- Networking EIPs: EIP này đề xuất những thay đổi về cách các nút giao tiếp với nhau. Họ yêu cầu một soft fork để thực hiện.
- Interface EIPs: EIP này đề xuất các thay đổi đối với API Ethereum hoặc giao diện người dùng. Họ không yêu cầu một cái nĩa để thực hiện.
- ERC (Ethereum Request for Comment): EIP này đề xuất các tiêu chuẩn cho mã thông báo hoặc Hợp Đồng Thông Minh dựa trên Ethereum. Họ không yêu cầu một cái nĩa để thực hiện.
Meta EIPs
Đề 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 EIPs
Đây là các EIP cung cấp thông tin hoặc hướng dẫn về một chủ đề cụ thể liên quan đến Ethereum. Tuy nhiên, đề xuất như vậy không giới thiệu các tính năng mới.
Điều Khoản Trạng Thái EIP
EIP trải qua một số giai đoạn trạng thái trong vòng đời của chúng, điều này cho biết trạng thái phát triển và triển khai hiện tại của chúng. Các điều khoản trạng thái là:
- Ý Tưởng: đây là bản nháp trước và không được theo dõi trong kho EIP.
- Dự thảo: đây là trạng thái ban đầu của EIP khi nó được đề xuất lần đầu tiên. EIP đang ở giai đoạn đầu và sẵn sàng để thảo luận và phản hồi từ cộng đồng. Ở giai đoạn này, EIP vẫn có thể trải qua những thay đổi đáng kể dựa trên phản hồi của cộng đồng.
- Xem xét: Ở trạng thái này, tác giả đánh dấu EIP là sẵn sàng và yêu cầu Peer Review.
- Last Call: Trạng thái này cho biết EIP đã trải qua nhiều vòng xem xét và sửa đổi và hiện đã sẵn sàng nhận nhận xét và phản hồi cuối cùng từ cộng đồng. Ở giai đoạn này, EIP được coi là gần hoàn thiện và mọi phản hồi còn lại đều nhằm mục đích phát hiện mọi vấn đề vào phút cuối.
- Final: Trạng thái này cho biết EIP đã được triển khai trong mạng Ethereum. Khi EIP ở trạng thái cuối cùng, những thay đổi do EIP đề xuất sẽ có sẵn trên mạng và có sẵn để sử dụng.
- Trì trệ: Bất kỳ EIP nào ở trạng thái Dự thảo hoặc Đánh giá trong khoảng thời gian từ 6 tháng trở lên sẽ được chuyển sang trạng thái Trì trệ. Tác giả hoặc người chỉnh sửa EIP có thể phục hồi từ trạng thái này và chuyển nó trở lại Bản nháp.
- Withdrawn: Trạng thái này cho biết (các) tác giả EIP đã rút EIP được đề xuất. EIP hiện chưa được xem xét để thực hiện nhưng có thể được xem xét lại trong tương lai. Có thể có nhiều lý do để trì hoãn EIP, chẳng hạn như vấn đề kỹ thuật hoặc thiếu sự quan tâm của cộng đồng. Các EIP bị trì hoãn có thể được xem xét lại trong tương lai nếu hoàn cảnh thay đổi.
- Living: Đây là trạng thái đặc biệt dành cho EIP được thiết kế để cập nhật liên tục và không đạt đến trạng thái cuối cùng.
EIP Được Xử Lý Như Thế Nào?
EIP được xử lý thông qua quy trình tiêu chuẩn hóa bao gồm một số bước:
Soạn Thảo
Trong giai đoạn soạn thảo, (các) tác giả tạo một tài liệu đề xuất chính thức nêu rõ những thay đổi hoặc cải tiến được đề xuất đối với mạng Ethereum. Tài liệu phải tuân theo một định dạng cụ thể và bao gồm các chi tiết có liên quan như thay đổi được đề xuất, lý do đằng sau nó, những lợi ích và hạn chế tiềm ẩn cũng như bất kỳ thông số kỹ thuật nào. Bản dự thảo EIP được gửi tới cộng đồng Ethereum để xem xét.
Xem Xét
Giai đoạn xem xét là cơ hội để cộng đồng đưa ra phản hồi về EIP được đề xuất. Phản hồi có thể có nhiều dạng khác nhau như nhận xét, đề xuất cải tiến hoặc đánh giá kỹ thuật. Phản hồi được thu thập và phân tích bởi (các) tác giả, những người có thể sửa đổi EIP dựa trên phản hồi của cộng đồng. Giai đoạn này rất quan trọng trong việc đảm bảo rằng những thay đổi được đề xuất được cộng đồng xem xét kỹ lưỡng trước khi được chấp nhận.
Last Call
Khi EIP đã được sửa đổi dựa trên phản hồi của cộng đồng, nó được coi là đã sẵn sàng cho những nhận xét cuối cùng trước khi được chấp nhận. Đây được gọi là giai đoạn “Last Call”. Trong giai đoạn này, cộng đồng được mời xem xét bản dự thảo cuối cùng của EIP và cung cấp bất kỳ phản hồi bổ sung nào. Nếu không có vấn đề lớn hoặc phản đối nào được nêu ra trong giai đoạn này, EIP có thể chuyển sang giai đoạn chấp nhận.
Chấp Nhận
Giai đoạn cuối cùng của quy trình EIP là sự chấp nhận. Nếu EIP đã nhận được đủ hỗ trợ và không có vấn đề lớn hoặc phản đối nào được nêu ra trong giai đoạn xem xét và gọi điện cuối cùng thì nó được coi là được cộng đồng chấp nhận. EIP sau đó được đưa vào bản cập nhật giao thức tiếp theo và trở thành một phần của hệ thống Đề xuất cải tiến Ethereum.
Thực Hiện
Sau khi EIP được chấp nhận, nó phải được các nhà phát triển triển khai trong phần mềm máy khách Ethereum. Quá trình thực hiện có thể khác nhau về mức độ phức tạp tùy thuộc vào tính chất của những thay đổi được đề xuất. Các nhà phát triển phải đảm bảo rằng việc triển khai tuân thủ các thông số kỹ thuật được nêu trong EIP và nó tương thích với mạng Ethereum hiện có.
Kiểm Tra
Sau khi triển khai, EIP được kiểm tra để đảm bảo nó hoạt động như dự định và không gây ra bất kỳ lỗi hoặc lỗ hổng mới nào cho mạng. Các nhà phát triển thực hiện thử nghiệm rộng rãi để đảm bảo EIP ổn định và không gây ra bất kỳ hậu quả ngoài ý muốn nào.
Kích Hoạt
Khi EIP đã được triển khai và thử nghiệm, nó sẽ được kích hoạt trên mạng Ethereum trong lần cập nhật giao thức tiếp theo. Điều này thường được thực hiện thông qua một hard fork, yêu cầu tất cả các nút cập nhật phần mềm của họ lên phiên bản mới.
Giám Sát
EIP được giám sát sau khi kích hoạt để đảm bảo nó hoạt động bình thường và không có vấn đề hoặc lỗ hổng không lường trước được. Nếu có bất kỳ vấn đề nào phát sinh, cộng đồng có thể đề xuất EIP mới để giải quyết chúng. Quá trình giám sát đang diễn ra để đảm bảo tính ổn định và bảo mật của mạng Ethereum.
Ai Quyết Định Về EIP?
Quyết định chấp nhận hay từ chối EIP được cộng đồng Ethereum đưa ra thông qua cơ chế đồng thuận. Cộng đồng bao gồm các nhà phát triển, miner, nhà điều hành nút và các bên liên quan khác có mối quan tâm đặc biệt đến sự thành công của mạng Ethereum. Khi EIP đã được chấp nhận, nó sẽ trở thành một phần của hệ thống Đề xuất cải tiến Ethereum và được triển khai trong bản cập nhật giao thức tiếp theo của mạng.
- Nhà phát triển cốt lõi Ethereum: Một trong những nhóm chủ chốt tham gia vào quy trình EIP là Nhà phát triển cốt lõi Ethereum. Nhóm này chịu trách nhiệm duy trì và cải tiến phần mềm máy khách Ethereum và đóng vai trò quan trọng trong việc xem xét và thử nghiệm các thay đổi được đề xuất đối với mạng. Nhà phát triển cốt lõi bao gồm các nhà phát triển và chuyên gia kỹ thuật giàu kinh nghiệm, có hiểu biết sâu sắc về giao thức và hệ sinh thái Ethereum.
- Ethereum Cat Herders: Một nhóm quan trọng khác tham gia vào quá trình EIP là Ethereum Cat Herders. Nhóm này đóng vai trò là người liên lạc giữa cộng đồng Ethereum và Nhà phát triển cốt lõi, giúp điều phối và tạo điều kiện thuận lợi cho các cuộc thảo luận xung quanh những thay đổi được đề xuất. Cat Herders cũng đóng một vai trò quan trọng trong việc thúc đẩy tính minh bạch và toàn diện trong cộng đồng Ethereum bằng cách đảm bảo rằng tất cả các bên liên quan đều có tiếng nói trong quá trình ra quyết định.
- Ethereum Magicians: Các nhóm khác tham gia vào quy trình EIP bao gồm Ethereum Magicians, những người chịu trách nhiệm phát triển các phương pháp và tiêu chuẩn tốt nhất để phát triển Ethereum, và Ethereum Foundation, nơi cung cấp kinh phí và hỗ trợ cho sự phát triển của hệ sinh thái Ethereum.
Định Dạng Của EIP
Định dạng của EIP tuân theo một mẫu chuẩn bao gồm một số phần:
- Lời mở đầu: Phần này bao gồm số EIP, tiêu đề, tác giả và trạng thái.
- Tóm tắt: Phần này cung cấp một bản tóm tắt ngắn gọn về sự thay đổi hoặc cải tiến được đề xuất.
- Động lực: Phần này giải thích lý do tại sao đề xuất thay đổi hoặc cải tiến là cần thiết.
- Đặc tả: Phần này cung cấp mô tả chi tiết về thay đổi hoặc cải tiến được đề xuất.
- Cơ sở lý luận: Phần này giải thích tại sao thay đổi hoặc cải tiến được đề xuất lại được thiết kế như cũ.
- Khả năng tương thích ngược: Phần này giải thích sự thay đổi hoặc cải tiến được đề xuất sẽ ảnh hưởng như thế nào đến các ứng dụng hoặc hợp đồng hiện có.
- Các trường hợp thử nghiệm: Phần này bao gồm các ví dụ về cách thử nghiệm thay đổi hoặc cải tiến được đề xuất.
- Thực hiện: Phần này cung cấp thông tin về cách thực hiện thay đổi hoặc cải tiến được đề xuất.
- Cân nhắc về bảo mật: Phần này thảo luận về mọi rủi ro bảo mật tiềm ẩn liên quan đến thay đổi hoặc cải tiến được đề xuất.
- Tài liệu tham khảo: Phần này bao gồm mọi tài liệu tham khảo hoặc tài nguyên được sử dụng để tạo EIP.
Một Số EIP Phổ Biến
Hiện có hơn 300 EIP đã được đề xuất và chấp nhận. Một số EIP đáng chú ý nhất bao gồm:
- EIP-20: Tiêu chuẩn mã thông báo ERC-20, EIP này xác định giao diện tiêu chuẩn cho mã thông báo dựa trên Ethereum, giúp các nhà phát triển tạo và triển khai mã thông báo mới trên chuỗi khối Ethereum dễ dàng hơn.
- EIP-721: Tiêu chuẩn mã thông báo không thể thay thế, EIP này xác định giao diện tiêu chuẩn để tạo và quản lý mã thông báo không thể thay thế (NFT) trên chuỗi khối Ethereum. NFT ngày càng trở nên phổ biến trong những năm gần đây, đặc biệt là trong ngành nghệ thuật và trò chơi.
- EIP-1559: Thay đổi thị trường phí cho chuỗi ETH 1.0, EIP này đề xuất thay đổi thị trường phí của Ethereum để làm cho phí giao dịch dễ dự đoán và ổn định hơn, điều này sẽ mang lại lợi ích cho người dùng và nhà phát triển dApp.
- EIP-1962: Thêm phần biên dịch trước để xác minh chữ ký EdDSA, EIP này đề xuất bổ sung hợp đồng được biên dịch trước để xác minh chữ ký hiệu quả bằng thuật toán EdDSA.
- EIP-155: Bảo vệ tấn công lặp lại đơn giản, EIP này đã được đề xuất trong đợt hard fork Ethereum và Ethereum Classic năm 2016 để ngăn chặn các cuộc tấn công lặp lại. Nó đã thêm một trường vào dữ liệu giao dịch để đảm bảo các giao dịch dành cho một chuỗi không thể được thực hiện lại trên chuỗi kia.
- EIP-712: Tiêu chuẩn ký – EIP này đề xuất một tiêu chuẩn để xây dựng các thông điệp dữ liệu đã nhập có thể được ký và xác minh bởi các tài khoản Ethereum. Tiêu chuẩn này đặc biệt hữu ích để xây dựng các ứng dụng phi tập trung yêu cầu dữ liệu ngoài chuỗi phải được ký và xác minh trên chuỗi.
- EIP-1011: Hybrid Casper FFG, EIP này đề xuất một cơ chế đồng thuận kết hợp cho mạng Ethereum, kết hợp bằng chứng công việc với bằng chứng cổ phần. Mục tiêu của EIP là cải thiện khả năng mở rộng và bảo mật của mạng Ethereum.
- EIP-2025: Độ trễ bom độ khó, EIP này đề xuất trì hoãn tác động của “quả bom độ khó” được tích hợp trong giao thức Ethereum, khiến việc khai thác ngày càng khó khăn hơn theo thời gian. Mục tiêu của EIP là câu giờ để mạng Ethereum chuyển sang cơ chế đồng thuận bằng chứng cổ phần.
Ưu Điểm Và Hạn Chế Của EIP
Ưu Điểm Của EIP
- Đổi mới và linh hoạt: EIP cho phép quá trình đổi mới và cải tiến liên tục trong mạng Ethereum. Khi những ý tưởng và công nghệ mới xuất hiện, EIP có thể được đề xuất để kết hợp những thay đổi này vào mạng.
- Hướng đến cộng đồng: EIP thường được đề xuất và phát triển bởi các thành viên của cộng đồng Ethereum, bao gồm các nhà phát triển, thợ mỏ và các bên liên quan khác. Điều này đảm bảo rằng các đề xuất đều có cơ sở dựa trên nhu cầu và mối quan tâm của cộng đồng.
- Tính minh bạch và cởi mở: EIP mở cửa cho thảo luận và phản hồi công khai, điều này khuyến khích sự minh bạch và cởi mở trong quá trình ra quyết định. Điều này giúp xây dựng niềm tin và sự đồng thuận trong cộng đồng.
- Tiêu chuẩn hóa: EIP có thể giúp tiêu chuẩn hóa mạng Ethereum, giúp các nhà phát triển xây dựng các ứng dụng và công cụ hoạt động liền mạch với mạng dễ dàng hơn.
Hạn Chế Của EIP
- Những thách thức về độ phức tạp và triển khai: Một số EIP có thể rất phức tạp và khó triển khai hoặc tích hợp vào mạng hiện có. Điều này có thể dẫn đến sự chậm trễ hoặc thậm chí thất bại trong việc thực hiện.
- Hậu quả không lường trước được: EIP có thể có những hậu quả không lường trước được mà không rõ ràng ngay lập tức. Điều này có thể đặc biệt khó khăn đối với những thay đổi quy mô lớn có thể ảnh hưởng đến nhiều phần khác nhau của mạng.
- Tập trung hóa: Mặc dù EIP hướng tới cộng đồng nhưng quá trình triển khai chúng có thể được tập trung vào một số cá nhân hoặc tổ chức nhất định. Điều này có thể gây lo ngại về tính phân cấp và bảo mật của mạng.
- Chống lại sự thay đổi: Một số thành viên của cộng đồng Ethereum có thể chống lại những thay đổi được đề xuất, đặc biệt nếu họ cảm thấy rằng những thay đổi đó có thể tác động tiêu cực đến lợi ích của họ. Điều này có thể gây khó khăn cho việc đạt được sự đồng thuận và thực hiện các thay đổi.