

Tôn Tiểu Quân
Mô tả hình ảnh
Kỹ sư R&D hệ thống của Meitu Cloud Division, chủ yếu làm việc trên chuỗi khối Meitu và phát sóng trực tiếp trên đám mây.
Lưu ý của biên tập viên: Bài viết này đến từ Liên minh cộng đồng công nghệ BFTF, tác giả: Liên minh cộng đồng công nghệ BFTF, được xuất bản với sự cho phép.
Bài phát biểu này chủ yếu được chia thành bốn phần. Phần đầu tiên giới thiệu ngắn gọn về cơ sở hạ tầng của Ethereum. Phần đầu tiên tóm tắt một số thuật toán đồng thuận hiện tại. Phần thứ ba là thực hành DPoS trong Meitu Ethereum và cuối cùng là so sánh DPoS trong EOS.
Cấu trúc cơ bản của Ethereum được thể hiện trong hình, bao gồm giao diện HTTP bên ngoài, mô-đun thuật toán đồng thuận, EVM, mô-đun lưu trữ, v.v.
Trong số đó, mô-đun xử lý giao dịch, sau khi nút nhận được giao dịch, sẽ lưu nó vào nhóm giao dịch và thu được giao dịch đáp ứng các điều kiện từ nhóm giao dịch trong quá trình đóng gói. Khi các hoạt động như khôi phục khối xảy ra, các giao dịch được đóng gói sẽ được đưa trở lại nhóm giao dịch.
Dữ liệu số dư tài khoản của Ethereum được lưu trữ trên cây (MPT) bao gồm Patricia Trie và Merkle Trie, chủ yếu sử dụng các đặc điểm của Patricia Trie để thực hiện tìm kiếm nhanh số dư tài khoản và Merkle Trie để chứng minh liệu giao dịch có bị giả mạo hay không .
PoW đạt được sự đồng thuận bằng cách đáp ứng một bằng chứng khối lượng công việc nhất định, đây là thuật toán đồng thuận đã được Bitcoin và Ethereum thử nghiệm từ lâu, nhưng nó cần tiêu tốn nhiều tài nguyên máy tính và QPS của các giao dịch thấp. PoS hoàn thành việc tìm kiếm các số ngẫu nhiên bằng cách giới thiệu các quyền và lợi ích của chủ sở hữu. Người dùng sở hữu càng nhiều tài sản thì xác suất tìm thấy số ngẫu nhiên chính xác càng cao. PoS có các nhánh sổ cái, tấn công đường dài, tấn công thời đại tiền tệ và các vấn đề khác. DPoS được coi là phiên bản cải tiến của PoS. DPoS thỉnh thoảng tiến hành bầu cử, sau đó các nút được bầu chọn này chịu trách nhiệm tạo khối cũng như giám sát và xác minh lẫn nhau, điều này có thể giảm đáng kể thời gian tạo khối và xác nhận khối.
Việc triển khai thuật toán chủ yếu bao gồm hai phần cốt lõi: bầu chọn trình xác thực khối và lập lịch trình trình xác thực khối.
Để thêm thuật toán đồng thuận vào Ethereum, cần triển khai giao diện được xác định bởi công cụ đồng thuận.
Quy trình đóng gói: Người khai thác sẽ thường xuyên kiểm tra xem trình xác thực hiện tại có phải là nút hiện tại thông qua CheckValidator hay không và nếu có, hãy tạo một tác vụ khối mới thông qua CreateNewWork.
Nếu một nút muốn trở thành người xác thực, trước tiên nút đó phải trở thành một ứng cử viên, sau đó những người khác có thể bỏ phiếu cho ứng cử viên này. Cho dù đó là bỏ phiếu hay trở thành ứng cử viên, nó thực sự là một giao dịch cho các nút, các giao dịch trước đây chủ yếu là chuyển khoản hoặc gọi hợp đồng, vì vậy bây giờ một số loại giao dịch khác đã được thêm vào.
Ngoài ra, để tránh phát lại dữ liệu lịch sử từ khối gốc cho mỗi cuộc bầu cử, DPoS thêm một số cây trạng thái toàn cầu để ghi lại trạng thái bầu cử và bỏ phiếu, đồng thời lưu trữ gốc tương ứng với cây trong tiêu đề khối.
Bầu cử: Xét theo chu kỳ của khối; căn cứ tình hình của khối ở chu kỳ trước, loại một số thí sinh được chọn nhưng số khối không đạt yêu cầu; đến khối cuối cùng chọn N thí sinh đứng đầu với số phiếu bầu cao nhất Với tư cách là người xác nhận; xáo trộn thứ tự của người xác nhận.
Khi nhận được một khối mới, thông tin của khối không thể đảo ngược cuối cùng cần được cập nhật, khối không thể đảo ngược cuối cùng là khối được xác nhận bởi 2/3 số nút.
Ở chế độ đồng bộ hóa nhanh, các khối được phát sẽ bị loại bỏ trực tiếp và sẽ chỉ được nhận sau khi đồng bộ hóa hoàn toàn. Nếu chúng ta bắt đầu nhiều nút bằng phương thức đồng bộ hóa mặc định (đồng bộ hóa nhanh) cùng một lúc, thì tất cả các nút không thể vào chế độ đồng bộ đầy đủ do tần suất tạo khối giữa các nút giống nhau và các khối được đồng bộ hóa giữa các nút sẽ bị loại bỏ. Giải pháp là bắt đầu nút sáng lập ở chế độ đồng bộ hóa đầy đủ. Vì thông tin của người xác minh được lưu trữ trong phần thân khối nên không thể xác minh khối chỉ thông qua tiêu đề khối.
Có 21 nút xác minh trong DPoS trong EOS, khoảng thời gian cho các khối xây dựng là 500 mili giây và mỗi nút tạo 12 khối liên tiếp, điều này cải thiện tốc độ của các khối xây dựng, đồng thời đảm bảo rằng mỗi nút có thể có các khối lan truyền đến 20 nút khác. Sách trắng mới nhất của EOS đề cập đến một loại BFT-DPoS. Sau khi một nút in một khối, nó có thể được xác minh cho các nút khác thông qua thuật toán BFT, thuật toán này có thể tăng tốc độ xác nhận khối không thể đảo ngược cuối cùng, cải thiện tốc độ xác nhận của giao dịch và giảm khả năng phân nhánh của chuỗi.
https://v.qq.com/x/page/o0736irezov.html
