Nhìn vào sự phát triển sinh thái của Ethereum và blockchain từ hội nghị Devcon5
Lưu ý của biên tập viên: Bài viết này đến từ Wanxiang Blockchain (ID: gh_1b8639a25429), tác giả: Nhóm nghiên cứu chuỗi khối Wanxiang và được xuất bản với sự cho phép.
Bài viết này là một số diễn giải về nội dung của hội nghị sau khi nhóm nghiên cứu của Phòng R&D Blockchain Wanxiang tham gia Devcon5. Nhóm nghiên cứu của Phòng R&D Chuỗi khối Wanxiang là một nhóm trong Wanxiang tập trung vào nghiên cứu và triển khai công nghệ chuỗi khối cơ bản.
chữ
chữ
tiêu đề phụ
Ethereum1.X
Tại Devcon4 năm ngoái, một nhóm các nhà phát triển cốt lõi Ethereum và những người đam mê đã thảo luận về những thách thức hiện tại của Ethereum. Họ đều có chung quan điểm: do tắc nghẽn hiệu suất ngày càng nghiêm trọng và dung lượng lưu trữ bị chiếm dụng tăng liên tục, nếu mạng chính Ethereum không tìm cách thay đổi , khả năng sử dụng của Ethereum sẽ trở nên rất kém. Sự suy giảm hiệu suất chủ yếu là do dữ liệu trạng thái lớn (và ngày càng tăng). Tăng yêu cầu lưu trữ, chủ yếu là do nhu cầu duy trì các khối, nhật ký sự kiện (biên lai) và lịch sử trạng thái (hiện có thể xóa ở hầu hết các máy khách).
Cuối cùng, họ đã đi đến thống nhất: Cải thiện, mạng chính Ethereum phải được cải thiện!
Họ cũng đặt tên mã cho kế hoạch cải tiến là "Ethereum1.x". Bao gồm nhiều nâng cấp và cập nhật lớn mà mạng chính Ethereum dự định áp dụng trong tương lai gần.
Sáng kiến có tên mã là "Ethereum1.x" bao gồm:
1. Cải thiện khả năng mở rộng của mạng chính bằng cách tăng thông lượng tps (thông qua tối ưu hóa máy khách, điều này sẽ làm tăng đáng kể giới hạn gas của khối);
2. Thông qua "thuê lưu trữ" để giảm và hạn chế nhu cầu về dung lượng đĩa, nhằm đảm bảo hoạt động bền vững của toàn bộ nút. Cách tiếp cận cụ thể là thiết kế một mô hình thuê yêu cầu các nhà phát triển hợp đồng và người dùng trả tiền cho việc lưu trữ EVM2 theo thời gian, thay vì lưu trữ mã và dữ liệu vô thời hạn.
3. Cải thiện trải nghiệm của nhà phát triển thông qua nâng cấp VM (bao gồm cả eWASM).
Để đạt được các mục tiêu và kế hoạch này, nhóm phát triển cốt lõi của Ethereum đã thành lập một số nhóm làm việc:
1. Tiền thuê nhà nước: thiết kế mô hình chi phí chiếm dụng kho để hạn chế tỷ lệ chiếm dụng kho trên chuỗi;
2. eWASM: Máy ảo Ethereum Wasm;
3. Cắt tỉa bộ nhớ: tối ưu hóa không gian lưu trữ mà máy khách chiếm dụng;
4. Mô phỏng/mô phỏng.
Tại Devcon5 năm nay, Ethereum Foundation đã giới thiệu một số nhóm làm việc được thành lập trong năm qua:
1. Sự phát triển của EVM: tối ưu hóa hiệu suất, bảo mật và khả năng tương tác;
2. EIP 1559: Tối ưu hóa mô hình chi phí để làm cho chi phí giao dịch ổn định hơn và dễ dự đoán hơn;
3. Kiểm thử/Cơ sở hạ tầng: Sử dụng các công cụ mới để giúp các khách hàng kiểm thử tương thích với nhau hơn;
4. Các thành phần cuối cùng: sử dụng chuỗi báo hiệu Ethereum2.0 để hoàn thiện các khối do Ethereum1.0 tạo ra.
Này, sao lại có Ethereum 1.0 và 2.0? Chúng liên quan như thế nào đến Ethereum 1.x?
Nói một cách đơn giản, mạng chính hiện tại của Ethereum là Ethereum1.0, Ethereum1.x là một kế hoạch cải tiến cho mạng chính hiện tại và Ethereum2.0 là một chuỗi được phát triển độc lập với Ethereum1.0. Ethereum1.0 sẽ chuyển sang 2.0.
tiêu đề phụ
Ethereum2.0
Ethereum 2.0 là phiên bản Serenity của Ethereum, như tôi vừa nói, nó là một chuỗi được phát triển độc lập với Ethereum 1.0. Và tại hội nghị Devcon4 năm ngoái, rõ ràng rằng Ethereum 2.0 sẽ không thay thế chức năng của Ethereum 1.0 trong vòng 3-5 năm.
Ethereum 2.0 sẽ bao gồm một loạt nâng cấp như Sharding (phân đoạn), đồng thuận Proof of Stake, và một máy ảo mới (tức là eWASM).
Nó có năm mục tiêu chính:
☆ Phân cấp: Cho phép máy tính xách tay cấp độ người tiêu dùng thông thường sử dụng tài nguyên O(C) để xử lý và xác minh các đoạn O(1) (bao gồm xác minh cấp hệ thống như chuỗi đèn hiệu, v.v.).
☆ Khả năng phục hồi: Hệ thống vẫn khả dụng khi mạng chính được phân vùng hoặc một số lượng lớn các nút ngoại tuyến.
☆ Bảo mật (Security): Sử dụng kỹ thuật mã hóa và thiết kế để đảm bảo rằng một số lượng lớn các nút xác minh có thể tham gia vào hệ thống (trong ngắn hạn và dài hạn).
☆ Tính đơn giản (Simplicity): Giảm thiểu độ phức tạp, ngay cả khi có một số tổn thất về hiệu suất.
☆ Tuổi thọ: Chọn các thành phần an toàn lượng tử hoặc dễ dàng thay thế chúng bằng các thành phần an toàn lượng tử tương ứng khi có sẵn.
Đây là một dự án lớn nên sẽ không hoàn thành ngay một lúc mà sẽ được phát triển theo từng giai đoạn. Dưới đây là một mô tả ngắn gọn về từng giai đoạn và những gì nó dự định hoàn thành.
Chuỗi báo hiệu Phase0
Phase0 là điểm bắt đầu của chuỗi đèn hiệu. Beacon chain là nền tảng của toàn bộ hệ thống và được sử dụng để quản lý chính nó và giao thức Casper Proof of Stake của mỗi shardchain:
1. Quản lý các nút xác minh và cổ phần của chúng;
2. Chỉ định một nhà sản xuất khối cho mỗi phân đoạn ở mỗi bước;
3. Tổ chức các nút xác minh thành một ủy ban xác minh (ủy ban), được sử dụng để bỏ phiếu cho khối được đề xuất;
4. Chạy giao thức đồng thuận;
5. Các nút xác minh khen thưởng và trừng phạt;
6. Là một điểm neo, mỗi phân đoạn đăng ký trạng thái của nó với nó, do đó tạo điều kiện thuận lợi cho việc thực hiện các giao dịch giữa các phân đoạn.
Tải dữ liệu chính trên chuỗi đèn hiệu là chứng thực, bao gồm phiếu bầu khả dụng cho khối phân đoạn và phiếu bầu PoS cho khối đèn hiệu.
Phase0 sẽ sử dụng Casper the Friendly Finality Gadget (FFG) để đạt được mục tiêu cuối cùng.
Trong Giai đoạn 0, tất cả các giao dịch của người dùng và tính toán hợp đồng thông minh được thực hiện trên Ethereum1.0. Sau khi Giai đoạn 0 hoàn thành, sẽ có hai chuỗi cùng lúc: chuỗi Ethereum1.0 và chuỗi Ethereum2.0.
Chuỗi phân đoạn giai đoạn 1 (Chuỗi phân đoạn)
Chuỗi khối phân mảnh là chìa khóa cho khả năng mở rộng trong tương lai vì chúng cho phép các giao dịch được thực hiện song song. Giai đoạn 1 chủ yếu tập trung vào việc xây dựng, tính hợp lệ và tính nhất quán của dữ liệu trong chuỗi khối phân đoạn, nhưng không triển khai thực thi trạng thái và số dư tài khoản. Giai đoạn 1 giống như chạy thử cấu trúc sharding hơn là nỗ lực mở rộng quy mô bằng cách sử dụng sharding. Đối với beacon chain, nó coi các khối phân đoạn là tập hợp các bit thay vì dữ liệu có cấu trúc hoặc có ý nghĩa.
Liên kết chéo được sử dụng trong khối chuỗi đèn hiệu để biểu thị trạng thái hiện tại của phân đoạn (nghĩa là gốc dữ liệu kết hợp) trong một khoảng thời gian.
Liên kết chéo là tập hợp các chữ ký hiệu quả của khối trên ủy ban nút xác minh trên chuỗi phân đoạn, đại diện cho trạng thái mới nhất của chuỗi khối phân đoạn và cũng là cơ sở để giao tiếp không đồng bộ giữa các phân đoạn.
Thực thi trạng thái Phase2 (Thực thi trạng thái)
Trong Giai đoạn 2, tất cả các chức năng liên quan sẽ được tổng hợp. Dữ liệu của chuỗi khối bị phân mảnh sẽ không còn là nơi chứa dữ liệu đơn giản nữa mà là dữ liệu chuỗi có cấu trúc và hợp đồng thông minh được giới thiệu lại. Mỗi phân đoạn quản lý máy ảo dựa trên eWASM, hỗ trợ tài khoản, hợp đồng, dữ liệu trạng thái, v.v.
Rất có khả năng State Rent sẽ được giới thiệu trong Giai đoạn 2 và các nhà phát triển cũng như người dùng theo hợp đồng sẽ trả tiền cho bộ nhớ eWASM.
Giai đoạn 3 và các giai đoạn tiếp theo liên tục được cập nhật
Các quy hoạch liên quan liên tục được cập nhật, chi tiết vui lòng tham khảo:
tiêu đề phụ
Tính ngẫu nhiên trong Ethereum 2.0
Trong cuộc họp Devcon5 này, có một số chủ đề thảo luận về tính ngẫu nhiên trong Ethereum 2.0.
Trong hệ thống blockchain ngày nay, vấn đề về tính ngẫu nhiên của hệ thống ngày càng được chú ý nhiều hơn.
Ethereum 2.0 áp dụng giao thức đồng thuận kết hợp PoS (Proof of Stake) và cơ chế bảo vệ, và việc lựa chọn ủy ban đồng thuận phụ thuộc vào giá trị ngẫu nhiên do hệ thống tạo ra. Do đó, tính bảo mật của sơ đồ có liên quan nhiều đến tính ngẫu nhiên của các giá trị ngẫu nhiên do hệ thống tạo ra. Khi những kẻ tấn công nguy hiểm có thể thao túng hoặc tác động đến việc tạo ra các giá trị ngẫu nhiên, chúng có thể tận dụng lợi thế này để tăng cơ hội được chọn vào ủy ban trong quá trình đồng thuận, giảm chi phí tấn công hệ thống và đe dọa tính bảo mật của giao thức .
Chuỗi khối là nền tảng cơ bản để mang các ứng dụng phân tán và các số ngẫu nhiên an toàn được cung cấp trên chuỗi cũng là một đảm bảo quan trọng cho tính bảo mật của nhiều ứng dụng.
Các số ngẫu nhiên chủ yếu được sử dụng trong ba liên kết sau trong Ethereum2.0:
Lựa chọn những người đề xuất khối
Lựa chọn Ủy ban Đồng thuận
ứng dụng dây chuyền
Một thuật toán ngẫu nhiên an toàn cần đảm bảo:
1. Tính công bằng (không thiên vị): Bất kỳ người tham gia nào cũng không được làm ảnh hưởng đến kết quả tạo số ngẫu nhiên.
2. Không thể đoán trước: Trước khi số ngẫu nhiên được tạo, không người tham gia nào có thể dự đoán trước kết quả xuất ra.
Ngoài ra, để đáp ứng khả năng chịu lỗi của hệ thống phân tán, thuật toán ngẫu nhiên đáng tin cậy cũng cần đảm bảo thuật toán tiếp tục chạy ngay cả khi một số nút trong hệ thống ngừng hoạt động.
Do đó, một thuật toán ngẫu nhiên an toàn sao cho:
1. Đảm bảo tính công bằng của việc lựa chọn người đề xuất khối và ngăn chặn những kẻ tấn công dự đoán trước danh tính của người đề xuất và khởi chạy các cuộc tấn công DOS;
2. Trong giai đoạn lựa chọn ủy ban, giảm khả năng kẻ tấn công kiểm soát một ủy ban nhất định;
tiêu đề phụ
Thuật toán ngẫu nhiên phân tán RANDAO
RANDAO là một thuật toán ngẫu nhiên phân tán đơn giản cho phép nhiều nút đàm phán tương tác để tạo ra các số ngẫu nhiên an toàn nhất quán.
Thuật toán bao gồm hai giai đoạn:
Giai đoạn cam kết (commit)
Tiết lộ giai đoạn (tiết lộ)
Trong giai đoạn cam kết, tất cả các nút trong hệ thống chọn một số ngoại tuyến ngẫu nhiên nhất định, sau đó gửi cam kết về số ngẫu nhiên đó cho RANDAO.
Trong giai đoạn tiết lộ, mỗi người tham gia mở một cam kết công bố giá trị ngẫu nhiên của mình và kết quả của hoạt động XOR của tất cả các số ngẫu nhiên công khai là số ngẫu nhiên được tạo bởi vòng thỏa thuận này.
Nhưng RANDAO cũng có thiếu sót:
1. Các số ngẫu nhiên được tạo bởi giao thức RANDAO là không thể đoán trước và có khả năng chịu lỗi giống như giao thức đồng thuận cơ bản, nhưng vẫn có sai sót về tính công bằng.
2. Trong giao thức, trong giai đoạn tiết lộ, nút cuối cùng thông báo giá trị ngẫu nhiên của nó có thể ảnh hưởng đến giá trị ngẫu nhiên được tạo cuối cùng.
3. Cụ thể, sau khi kẻ tấn công ác ý thấy rằng tất cả các nút khác trong mạng xuất bản các số ngẫu nhiên đã chọn của chúng, chúng có thể thực hiện các thao tác XOR dựa trên các số ngẫu nhiên của chính chúng và quyết định có xuất bản các số ngẫu nhiên của chúng hay không theo ưu và nhược điểm của các kết quả cho mình.số.
4. Điều này cho phép một kẻ tấn công duy nhất có tác động nhất định đến đầu ra, đồng thời khi số lượng người tham gia bị kẻ tấn công kiểm soát tăng lên, mức độ tàn phá của kiểu tấn công này cũng tăng lên.
5. Đối với hệ thống blockchain, nếu kẻ tấn công tận dụng lợi thế có được trong quá trình tạo số ngẫu nhiên, nó sẽ giảm chi phí cần thiết để tấn công hệ thống. Cụ thể, nếu một hệ thống chuỗi khối áp dụng RANDAO và nguyên tắc chuỗi dài nhất làm giao thức đồng thuận, kẻ tấn công chỉ cần sở hữu 36% số tiền cam kết (cổ phần) để kiểm soát toàn bộ hệ thống. (Lưu ý: Bài phân tích này đến từ ông lớn Vitalik).
tiêu đề phụ
Chức năng VDF
VDF là một loại hàm toán học (Verifable Delay Function), có đặc điểm:
1. Tính toán yêu cầu ít nhất một khoảng thời gian đã biết.
2. Thông qua chứng minh, tính đúng đắn của kết quả đầu ra của hàm có thể được xác minh nhanh chóng.
Bằng cách sử dụng độ trễ tính toán của chức năng VDF, nút cuối cùng thông báo giá trị ngẫu nhiên của nó trong giao thức RANDAO có thể mất ảnh hưởng đối với kết quả cuối cùng.
Cụ thể, trong giai đoạn tiết lộ của giao thức RANDAO, giá trị ngẫu nhiên được công bố bởi tất cả những người tham gia không còn là phép toán XOR đơn giản nữa mà giá trị ngẫu nhiên cuối cùng thu được thông qua hàm VDF Mong đợi. Sau đó, kẻ tấn công không thể tính trước giá trị ngẫu nhiên cuối cùng và không thể xác định lợi ích cho bản thân khi xuất bản giá trị ngẫu nhiên của chính mình, do đó đảm bảo tính công bằng của thuật toán ngẫu nhiên.
tiêu đề phụ
Chuyển từ Ethereum 1.0 sang 2.0
Việc di chuyển từ chuỗi Ethereum1.0 sang chuỗi Ethereum2.0 cần xem xét hai yếu tố quan trọng. Đầu tiên, ether hiện tại cần được di chuyển và thứ hai, trạng thái cần được di chuyển.
Giai đoạn 0 Di chuyển Ethereum (Beacon Chain)
Trong Giai đoạn 0, người dùng trên chuỗi Ethereum 1.0 sẽ có thể khóa Ether của họ trong một hợp đồng và nhận được một lượng Ether tương đương trên Chuỗi Beacon trong Ethereum 2.0. Sau đó, họ có thể đặt cược ETH (32 ETH) để trở thành người xác thực và bắt đầu nhận phần thưởng xác thực trên chuỗi Ethereum2.0.
Chuyển đổi trạng thái giai đoạn 1 (sharding)
Trong Giai đoạn 1, trạng thái của chuỗi Ethereum1.0 hiện tại được chuyển sang một phân đoạn trên chuỗi Ethereum2.0. Đảm bảo rằng tất cả thông tin từ chuỗi Ethereum1.0 sẽ có sẵn trên chuỗi Ethereum2.0. Giai đoạn 1 và hơn thế nữa hiện không được phát triển tích cực.
Hợp đồng thông minh giai đoạn 2
Giai đoạn này có kế hoạch giới thiệu lại các hợp đồng thông minh và thay thế EVM hiện tại bằng eWASM. Ngoài ra, khái niệm tiền thuê nhà nước, đã được đề cập trong Ethereum1.x, có thể được triển khai ở giai đoạn này.
Lưu trữ trạng thái ngoài chuỗi Phase3
Giai đoạn 3 sẽ cố gắng chuyển trạng thái trên chuỗi sang ngoài chuỗi nhiều nhất có thể, do đó giảm thiểu trạng thái trên chuỗi. Việc duy trì và truy xuất trạng thái ngoài chuỗi trong Giai đoạn 3 sẽ là một ràng buộc thiết kế quan trọng đối với dApps.
Hợp đồng phân mảnh giai đoạn 4
Nhận ra sự tương tác giữa các hợp đồng trên các phân đoạn khác nhau. Trong số các đề xuất khác nhau hiện tại về khả năng tương tác của các hợp đồng sharding, có vẻ như không có đề xuất nào có thể giải quyết các vấn đề mâu thuẫn về đồng bộ hóa và mở rộng, đây cũng là một trong những giai đoạn khó khăn nhất.


