Đầu tháng này, Péter Szilágyi, trưởng nhóm Ethereum Foundation, đã xác nhận ngày nâng cấp sắp tới của mạng là Istanbul. Nhìn chung, đợt hard fork thứ tám của Ethereum và lần thứ hai trong năm nay sẽ diễn ra vào ngày 4 tháng 12. Tuy nhiên, vào ngày 20 tháng 11, theo quan chức sự thông báo, ước tính ngày đã được chuyển sang khoảng ngày 7 tháng 12.
Istanbul sẽ giới thiệu một số cải tiến như khả năng tương tác với Zcash, giải pháp mở rộng lớp hai không có kiến thức rẻ hơn và giá gas được điều chỉnh cho một số hoạt động nhất định, đánh dấu một cột mốc quan trọng khác trên con đường đến với Ethereum 2.0, một phiên bản “cuối cùng” rất được mong đợi . Istanbul chính xác như thế nào để phù hợp với kế hoạch vĩ đại của mọi thứ?
Forks, phát hành và giai đoạn
Không có hệ thống nguồn mở phức tạp nào ở trạng thái cuối cùng – phần mềm luôn vận động, liên tục được cải tiến và cập nhật. Điều này đặc biệt đúng đối với Ethereum, với con đường trở thành một “máy tính thế giới” phân tán và nền tảng cho các ứng dụng phi tập trung đã được vạch ra khi mới thành lập như một chuỗi các cột mốc liên tiếp.
Mục tiêu hiện tại mà cộng đồng nhà phát triển Ethereum đang theo đuổi là một phiên bản nâng cao của mạng được gọi là Ethereum 2.0, Eth2 hoặc Serenity. Việc nâng cấp dự kiến sẽ chứng kiến một số phát triển mạnh mẽ, chẳng hạn như chuyển đổi từ bằng chứng công việc sang hiệu quả năng lượng hơn bằng chứng cổ phần thuật toán đồng thuận, thực hiện mô hình khả năng mở rộng mới được gọi là Sharding, và sự ra đời của một Máy ảo Ethereum có khả năng thực hiện các hợp đồng thông minh hiệu suất cao. Nhà nghiên cứu Danny Ryan đã công thức năm mục tiêu thiết kế bao quát cho Ethereum 2.0: phân quyền, khả năng phục hồi, bảo mật, đơn giản và tuổi thọ.
Sự khác biệt trong ngôn ngữ được sử dụng để mô tả các giai đoạn cập nhật mạng có thể gây nhầm lẫn: Có những hard fork được đặt tên theo các thành phố vĩ đại của thế giới, các giai đoạn được đánh số, các bản phát hành được biểu thị bằng mã phiên bản và các nhãn thơ mộng như “thanh bình”. Tuy nhiên, cuối cùng nó đi đến một cấu trúc khá đơn giản.
Phần tăng lớn nhất của quá trình phát triển được gọi là bản phát hành. Một bản phát hành duy nhất có thể được thực hiện bằng một hoặc một số hard fork – sự thay đổi của giao thức blockchain đánh dấu sự thay đổi hoàn toàn so với phiên bản cũ của nó.
Đến nay, đã có ba phát hành – cái hiện tại được gọi là Metropolis – đã được triển khai theo hai bước: Byzantium và Constantinople hard fork, với Istanbul vẫn đang tiếp tục. Các nhánh cứng tiếp theo, Berlin (dự kiến được lên lịch vào tháng 6 năm 2020) và London, sẽ đánh dấu sự ra đời của bản phát hành thứ tư, Ethereum 2.0, hoặc Serenity.
Hard fork thực hiện các thay đổi đối với mạng chính Ethereum hiện đang hoạt động. Các lộ trình Tuy nhiên, đối với Ethereum 2.0, quy định việc tạo ra các chuỗi mới riêng biệt – chẳng hạn như sự tồn tại cuối cùng của hai chuỗi Ethereum đang hoạt động với các cơ chế đồng thuận khác nhau. Việc triển khai chuỗi Ethereum 2.0 sẽ diễn ra theo một chuỗi các giai đoạn được chỉ định trong lộ trình.
Istanbul: những cải tiến được chấp nhận
Phương tiện quản trị chính mà cộng đồng Ethereum dựa vào để chuyển mạng về phía trước là Đề xuất cải tiến Ethereum. Chúng chỉ định các đề xuất liên quan đến các thay đổi trong giao thức cốt lõi, các API ứng dụng (Giao diện lập trình ứng dụng) và các tiêu chuẩn hợp đồng thông minh.
Các tác giả thường tìm cách đề xuất thời gian cho lịch trình rèn và nhắm mục tiêu các nhánh cứng cụ thể đã được thông báo trước. Hiện đang có một sự thúc đẩy trong cộng đồng để chuyển sang “EIP làm trung tâm” tiếp cận trong việc nâng cấp hệ thống, nơi các nhánh nhỏ hơn và thường xuyên hơn có thể cho phép các đề xuất phát triển theo tốc độ của riêng chúng. Berlin, ngã ba dự kiến tiếp nối Istanbul, là hy vọng trở thành người đầu tiên trong mô hình này.
Istanbul vẫn còn theo sau phương pháp tiếp cận “tập trung vào ngã ba”, trong đó nhiều đề xuất trong các giai đoạn khác nhau của vòng đời của chúng đã được trình bày và xem xét trong các cuộc gọi Tất cả các Devs cốt lõi. Các nhà phát triển đã phân loại các EIP là mong muốn và sẵn sàng đi vào fork (được chấp nhận), mong muốn nhưng chưa sẵn sàng (được chấp nhận tạm thời, giả sử sẽ hoạt động với hard fork tiếp theo) hoặc không mong muốn (bị từ chối vĩnh viễn). Trong số 38 EIP được trình bày, chỉ có sáu EIP được chấp nhận để đưa vào, với tám EIP khác được chấp thuận cho ngã ba Berlin. Dưới đây là phác thảo các đề xuất được chấp nhận:
EIP-152 mang lại khả năng xác minh thuật toán bằng chứng công việc Equihash trong hợp đồng Ethereum, cho phép khả năng tương tác giữa các blockchains Zcash và Ethereum.
EIP-1108 giảm chi phí khí trước khi biên dịch, làm cho một thế hệ bằng chứng không tương tác, hoặc zk-SNARK, rẻ hơn. Đây là một tin tốt vì hai lý do. Một là sự thay đổi sẽ tăng cường phát triển các ứng dụng tập trung vào quyền riêng tư sử dụng loại mật mã này.
Do đó, sử dụng zk-SNARKs là một giải pháp lớp thứ hai có thể nhạc cụ trong việc giảm bớt một số vấn đề về khả năng mở rộng của Ethereum bằng cách di chuyển một lượng đáng kể công việc tính toán ra khỏi chuỗi.
EIP-1344 thêm mã opcode trả về giá trị nhận dạng duy nhất của chuỗi hiện tại, giới thiệu một cách để các hợp đồng theo dõi chuỗi Ethereum mà họ đang sử dụng. Điều này sẽ cải thiện khả năng phục hồi của hệ thống đối với phát lại các cuộc tấn công về các giao dịch đã ký kết.
EIP-1884 có lẽ là đề xuất được tranh luận nhiều nhất trong số các đề xuất được chấp nhận, gây ra tranh cãi kể từ ít nhất là tháng 8 năm nay. Được giới thiệu bởi Martin Holst Swende, một trưởng nhóm bảo mật tại Ethereum Foundation, đề xuất này nhằm mục đích định giá lại một số mã quang học nhất định (hướng dẫn được cung cấp cho Máy ảo Ethereum thực hiện các hợp đồng thông minh) để “có được sự cân bằng tốt giữa chi tiêu khí đốt và tiêu thụ tài nguyên”.
Vấn đề mà EIP-1884 được cho là phải giải quyết bắt nguồn từ việc một số hoạt động trở nên tiêu tốn nhiều tài nguyên hơn với sự mở rộng của chuỗi khối Ethereum. Hiện tại, các khối có mức tiêu thụ khí tương tự mất rất nhiều thời gian để hoàn thành, điều này không chỉ là một vấn đề riêng mà còn có thể là một vectơ của một cuộc tấn công từ chối dịch vụ.
Ma sát xuất hiện trong 69 Cuộc gọi Core Dev vào ngày 23 tháng 8, nơi Wei Tang của Parity Technologies đã bày tỏ mối quan tâm về khả năng việc thay đổi chi phí opcode sẽ phá vỡ một số hợp đồng đã được triển khai. Ông cho rằng nên duy trì khả năng tương thích ngược, cho phép các hợp đồng cũ hoạt động theo giá ban đầu.
Hudson Jameson, liên lạc viên cộng đồng của Ethereum Foundation, đã trả lời rằng có một “tiền lệ đặt ra rằng giá OPCODE có thể và sẽ thay đổi, vì vậy hợp đồng của bạn không nên dựa trên giả định rằng chúng sẽ không thay đổi”, nói thêm rằng việc chuyển đổi sẽ giúp mọi người chuẩn bị tốt hơn cho những thay đổi mạnh mẽ hơn sắp xảy ra.
EIP-1884 sẽ ảnh hưởng đến một số hợp đồng hạn chế trên nhiều dự án. Hubert Ritzdorf từ công ty bảo mật chuỗi khối ChainSecurity đã tổng hợp lại có lẽ nhiều nhất danh sách toàn diện hợp đồng như vậy có thể bị ảnh hưởng.
EIP-2028 giảm chi phí gọi dữ liệu trong các giao dịch, có khả năng dẫn đến các khối lớn hơn và do đó cải thiện khả năng mở rộng của mạng. Điều này cũng sẽ làm cho các giải pháp khả năng mở rộng lớp hai (chẳng hạn như zk-SNARK) dễ tiếp cận hơn.
EIP-2200 thực hiện đo khí ròng, thay đổi cách tính chi phí lưu trữ trong EVM. Điều này sẽ kích hoạt các chức năng mới của lưu trữ hợp đồng và giảm một số chi phí quá mức.
Vẫn đang hoạt động
Một đề xuất nổi tiếng khác mà cộng đồng Ethereum đã xem xét trong quá trình xây dựng hard fork Istanbul là EIP-1057, tìm cách thay thế thuật toán khai thác Ethash hiện tại bằng một chức năng bằng chứng công việc mới được gọi là ProgPoW, viết tắt của Programmatic Proof-of-Work. Các nhà phát triển cốt lõi đã dự kiến Đã được chấp nhận sáng kiến, đang chờ xử lý kiểm toán kết quả, để đưa vào hard fork Berlin.
Ý tưởng đằng sau bản cập nhật thuật toán này là điều chỉnh nó cho phần cứng hàng hóa sử dụng bộ xử lý đồ họa, khiến việc khai thác khó khăn hơn đối với các thiết lập được trang bị chip Mạch tích hợp dành riêng cho ứng dụng.
Biện pháp này được thiết kế để khôi phục một số mức độ phân cấp đối với việc phân phối năng lượng khai thác trong khi san bằng lĩnh vực bằng cách làm cho việc khai thác Ethereum trở nên hấp dẫn hơn đối với người dùng cá nhân và các doanh nghiệp nhỏ không đầu tư vào phần cứng chuyên dụng. ASIC là động lực chính thúc đẩy quá trình công nghiệp hóa khai thác trong vài năm qua, dẫn đến các cụm khai thác lớn, tập trung.
Đầu năm nay, Martin Holst Swende, trưởng nhóm bảo mật của Ethereum Foundation, nói rằng việc giới thiệu ProgPoW sẽ giảm thiểu mức độ thống trị của ASIC và các trình tăng tốc phần cứng khác trên mạng. Ông nói thêm rằng một lý do khác cho sự thay đổi là các lỗi bảo mật vốn có đối với Ethash.
Mặc dù dường như có sự đồng ý giữa các nhà phát triển cốt lõi về khả năng mong muốn của ProgPoW, nhưng không phải tất cả mọi người trong cộng đồng đều hài lòng về viễn cảnh thuật toán khai thác thay đổi trước khi chuyển sang bằng chứng cổ phần trong Ethereum 2.0.
Người phản đối gay gắt nhất cho đến nay là Aragon, một dự án quản lý các tổ chức tự trị phi tập trung, cộng đồng đã bỏ phiếu vào ngày 2 tháng 11 để phản đối bất kỳ thay đổi nào đối với Ethash trước khi chuyển đổi sang Ethereum 2.0.
Mặc dù có một số căng thẳng, không có dấu hiệu nào cho thấy một lượng lớn người dùng Ethereum phản đối gay gắt với thay đổi được đề xuất, khiến cho việc phát triển không có khả năng dẫn đến rạn nứt nghiêm trọng..
Nếu cuộc kiểm toán độc lập chứng thực tính mạnh mẽ của thuật toán mới, nó có thể sẽ được thực thi với hard fork Berlin, hiện được lên lịch dự kiến vào tháng 6 năm 2020, khi Ethereum tiếp tục tiến tới phiên bản 2.0 đáng thèm muốn của mạng..
Bài viết đã được cập nhật để phản ánh thời hạn mới cho đợt hard fork ở Istanbul.