Tác giả gốc: Glaze, Fundamental Labs
Biên soạn gốc: Aididiao
Việc sáp nhập Ethereum đang được tiến hành, nhưng việc ra mắt cơ chế bằng chứng cổ phần (PoS) đã bị trì hoãn hết lần này đến lần khác.
Việc sáp nhập Ethereum đề cập đến việc chuyển đổi cơ chế đồng thuận bằng chứng công việc (PoW) hiện có thành cơ chế đồng thuận bằng chứng cổ phần (PoS). tài sản, chứ không phải là điện và tài nguyên.Quyết định năng lực tính toán chuyên sâu. Để đảm bảo quá trình sáp nhập Ethereum diễn ra suôn sẻ, các công ty khai thác đã chuyển sang bằng chứng về vốn chủ sở hữu và Ethereum đã quyết định tăng cơ chế độ khó bom để đảm bảo quá trình sáp nhập Ethereum diễn ra suôn sẻ hơn.
Sau khi cơ chế bom độ khó được thiết lập, độ khó khai thác của mạng PoW sẽ tăng theo cấp số nhân theo thời gian, do đó làm giảm phần thưởng ETH của người khai thác.Cuối cùng, mạng PoW ngừng tạo khối và tất cả những người khai thác chỉ có thể chuyển sang mạng PoS.
nguồn:
nguồn:Etherscan
Trong một thời gian dài, phí Gas cao và tốc độ giao dịch mạng chậm của Ethereum đã bị người dùng chỉ trích và cơ chế đồng thuận PoW có thể giúp Ethereum giải quyết những vấn đề này.
Bài viết này sẽ giải thích lịch sử của cơ chế đồng thuận PoS và những khó khăn gặp phải trong quá trình sáp nhập Ethereum.
Nhanh chóng hiểu cơ chế đồng thuận mới
Có nhiều nút trên mỗi mạng chuỗi khối và cơ chế đồng thuận điều phối các nút này để các nút khác nhau có thể đạt được sự đồng thuận về các khối mới được tạo. Cơ chế đồng thuận là chìa khóa cho sự vận hành trơn tru và tự vận hành của mạng phân tán.
Các cơ chế đồng thuận thường phức tạp và để nhanh chóng hiểu được một cơ chế đồng thuận mới, bạn chỉ cần trả lời:
Ai đề xuất khối mới?
Nếu có một nhánh trong chuỗi khối, các yếu tố xác định ai là chuỗi chính là gì?
Tổng quan về cơ chế đồng thuận PoW
Trong cơ chế đồng thuận PoW, những người khai thác liên tục cố gắng giải một bài toán dựa trên thuật toán băm. Người khai thác nào giải quyết được nó trước sẽ có quyền ghi sổ kế toán và đề xuất một khối mới. Nếu blockchain phân nhánh, chuỗi phân tách dài nhất sẽ trở thành chuỗi chính. Nếu ai đó muốn thao túng blockchain, kẻ tấn công cần đạt ít nhất 51% sức mạnh tính toán. Khai thác mạng PoW yêu cầu tài nguyên năng lượng, đồng thời có yêu cầu cao đối với phần cứng và có một ngưỡng chi phí nhất định. Phần thưởng thu được khi khai thác tỷ lệ thuận với sức mạnh tính toán của chúng.
So với PoS, PoW tương đối đơn giản. Bởi vì PoW không cần liên quan đến các vấn đề như số ngẫu nhiên và PoS cần sử dụng số ngẫu nhiên để chọn ngẫu nhiên những người đề xuất khối.
Giải thích chi tiết về cơ chế đồng thuận PoS
Trong quá trình hợp nhất Ethereum, nhiều nút được khuyến khích tham gia mạng theo cách phi tập trung, do đó cần có các giao thức phức tạp hơn để hỗ trợ giao tiếp ngang hàng của hàng nghìn nút và đảm bảo hoạt động bình thường của mạng.
Cơ chế đồng thuận PoS là cơ chế bằng chứng cổ phần và các nút cần cam kết mã thông báo gốc trên mạng. Càng nhiều mã thông báo được đặt cược, nút càng có nhiều khả năng tạo ra một khối. Cơ chế đồng thuận PoS không yêu cầu cao về phần cứng, nhưng yêu cầu tiền để hoàn thành cam kết. Nếu một nút gian lận, mạng sẽ ngay lập tức cắt các mã thông báo được cam kết bởi nút đó. Do các nút không cần tiêu tốn tài nguyên năng lượng và sử dụng thiết bị phần cứng cao cấp, mạng PoS có tính bền vững, cơ chế phản hồi hiệu quả hơn, TPS và bảo mật cao hơn, vì vậy hầu hết các mạng sẽ áp dụng cơ chế đồng thuận PoS.
Hai giai đoạn của PoS
PoS đã trải qua hai giai đoạn phát triển, PoS 1.0 là cơ chế đồng thuận dựa trên chuỗi khối và PoS 2.0 là cơ chế đồng thuận dựa trên BFT (Byzantine Fault Tolerance).
Cơ chế đồng thuận PoS 1.0: PeerCoin, NextCoin, BlackCoin và Ethereum Serenity.
Cơ chế đồng thuận PoS 2.0: Các dự án như Ethereum 2.0, Tendermint và Cosmos.
PoS 1.0
Trong giai đoạn PoS 1.0, hầu hết các cơ chế PoS:
Mã thông báo cam kết nút
Chọn ngẫu nhiên một nút để tạo khối mới và xác suất nút tạo khối mới tỷ lệ thuận với số lượng mã thông báo được cam kết
Điều quan trọng nhất trong quá trình này là tạo ra các số ngẫu nhiên. Nếu việc tạo ra các số ngẫu nhiên dựa trên dấu thời gian và thuật toán băm, thì nút có thể tăng xác suất được bầu lại làm người đề xuất khối bằng cách ảnh hưởng đến việc tạo ra các số ngẫu nhiên .xác suất, dẫn đến một khối mới.
véc tơ tấn công
Các vectơ tấn công cho phép tin tặc có quyền truy cập vào máy tính hoặc máy chủ web để phân phối tải trọng hoặc kết quả độc hại. Các vectơ tấn công cho phép tin tặc khai thác các lỗ hổng hệ thống, có khả năng dẫn đến hành vi trộm cắp tài sản. Các vectơ tấn công phổ biến là:
Nghiền cổ phần: Những người đề xuất khối thực hiện một số tính toán hoặc thực hiện các bước khác nhằm cố gắng thiên vị tính ngẫu nhiên có lợi cho họ để có thêm cơ hội tạo khối.
Không có gì bị đe dọa: Trong mạng PoS, các nút không cần thêm chi phí cơ hội để khai thác, vì vậy chúng sẽ khai thác trên từng nhánh cạnh tranh để tối đa hóa phần thưởng của chúng. Nhưng điều này gây bất lợi cho sự ổn định của mạng.
Tấn công tầm xa: Những người khai thác ban đầu có thể truy ngược lại phiên bản đầu tiên của chuỗi khối, điều này rất dễ gây ra các nhánh.
PoS 2.0
PoS 2.0 sử dụng BFT và mục tiêu của nó là đạt được sự đồng thuận giữa các nút khác nhau.
Trong số tất cả các nút, nút chính được chọn bằng một thuật toán ngẫu nhiên và các đề xuất cũng như thông tin liên lạc có thể được thực hiện. Có các nút độc hại trong số các nút khác, đó là các nút Byzantine. Để ngăn chặn việc truyền thông tin thực và đạt được sự đồng thuận, các nút Byzantine sẽ gửi thông tin không nhất quán đến từng nút, thường gian lận theo cách này:
không có kết quả trả về
trả lời với kết quả sai
trả lời với kết quả cố ý gây hiểu lầm
trả lời với thông tin không nhất quán
Ngoại trừ các nút Byzantine, tất cả các nút khác đều là nút trung thực và nút chủ kịch bản khó nhất là nút Byzantine.
BFT có những hạn chế khác:
Các nút chỉ có thể giao tiếp ngang hàng
Các nút lưu nhật ký các tin nhắn đã gửi
Giao tiếp điểm-điểm khiến các nút khác nhau có chế độ xem khác nhau và các nút không ở trạng thái đồng bộ hóa toàn cầu.Ví dụ: khi nút A tìm thấy 3 khối mới, nút B chỉ có thể nhìn thấy 1 khối mới.
Mục đích chính của BFT là sau khi nút chính đề xuất, mọi nút ngoại trừ nút Byzantine đều có thể đạt được thỏa thuận và mục tiêu phụ là khám phá nút Byzantine.
Giới thiệu về thuật toán BFT
Giờ đây, thuật toán BFT thường áp dụng nhiều vòng bỏ phiếu để đảm bảo rằng mỗi nút biết liệu đề xuất có được hơn 2/3 số nút chấp thuận hay không.
Mỗi vòng bỏ phiếu có bốn bước:
Máy khách gửi yêu cầu đến nút chính
Nút chính chuyển tiếp yêu cầu tới tất cả các nút
Nút trả kết quả thực hiện cho nút chủ
Sau khi nhận được hơn 2/3 số nút có cùng kết quả, nút chính sẽ phản hồi kết quả cho máy khách
Hình dưới đây cho thấy 5 nút của quá trình thực hiện. Trong đó C là máy khách, 0 là nút chính và 3 là nút Byzantine.
Trong giai đoạn chuẩn bị và cam kết, cần đảm bảo sự đồng bộ giữa các nút khác nhau.
Tendermint có những hạn chế sau:
Trong giao tiếp điểm-điểm, số lượng nút mạng không thể vượt quá 100
Giao tiếp điểm-điểm yêu cầu thiết kế phức tạp
Trì hoãn thực hiện. Đầu tiên, nút quyết định chọn khối mới, sau đó thực hiện tất cả thông tin của khối mới. Mặc dù việc thực hiện giao dịch riêng lẻ hoạt động tốt, nhưng việc thực hiện tất cả các giao dịch cùng một lúc có thể dẫn đến các vấn đề chi tiêu gấp đôi.
Ghi chú của biên tập viên: Tendermint là phần mềm để sao chép các ứng dụng một cách an toàn và nhất quán trên nhiều nút. Tendermint hoạt động ngay cả khi có tới một phần ba số nút bị lỗi theo bất kỳ cách nào. Tendermint được thiết kế để dễ sử dụng, dễ hiểu, hiệu quả và phù hợp với nhiều ứng dụng phân tán.
Thuật toán BFT hiện tại có thể đạt được sự đồng thuận trong các điều kiện sau:
Nhiều nhất 1 trong 4 nút là nút Byzantine
Nhiều nhất 8 trong số 25 nút là nút Byzantine
Lên đến 33 nút Byzantine trong số 100 nút
Trạng thái hoạt động của mạng có thể được chia thành các tình huống tập trung sau đây. Giả sử rằng f là số nút Byzantine, mạng có tổng cộng 3k+1 nút và k là một số nguyên ngẫu nhiên.
f ≤ k, mạng ổn định
k < f < 2k+1, một số nút có thể không đạt được sự đồng thuận. tạm dừng chuỗi khối
f ≥ 2k+1, có nguy cơ tiềm ẩn về an toàn
Cơ chế thuật toán Ouroboros
So với thuật toán BFT, Ouroboros có thể hỗ trợ nhiều nút hơn và hỗ trợ các nút vào và thoát bất cứ lúc nào. Ouroboros phi tập trung và linh hoạt hơn BFT, nhưng có thời gian phản ứng lâu hơn. Cardano và Mina sử dụng cơ chế thuật toán Ouroboros.
Cơ chế thuật toán Ouroboros chia thời gian thành các khoảng thời gian khác nhau, sử dụng VRF (Hàm ngẫu nhiên có thể kiểm chứng) để tạo các số ngẫu nhiên trong mỗi khe thời gian và sử dụng các số ngẫu nhiên được tạo để xác định người đề xuất khối mới. Các nút có nhiều cổ phần hơn có nhiều khả năng trở thành người đề xuất khối hơn.
nhìn về tương lai
nhìn về tương lai
Mạng chuỗi khối cân bằng giữa phân cấp và hiệu suất.Việc chuyển từ PoW sang PoS cho thấy chuỗi khối có mục tiêu cao hơn là theo đuổi TPS, phân cấp, kinh tế mã thông báo và tốc độ giao dịch. Xung quanh bốn đặc điểm này, nhiều đổi mới sẽ xuất hiện trong tương lai.
Những đổi mới về kinh tế mã thông báo trong các ứng dụng GameFi và DeFi có thể được áp dụng trong các cơ chế đồng thuận. Cơ chế đặt cược hiện tại rất đơn giản và đã lỗi thời.Ví dụ: nhiều dự án DeFi thường sử dụng mã thông báo Ve để tăng tỷ lệ đặt cược và giảm lưu thông. Người dùng cần cam kết mã thông báo của dự án trong một khoảng thời gian nhất định để nhận được mã thông báo VE. Thời gian cam kết càng dài thì càng nhận được nhiều mã thông báo Ve. Bằng cách này, tỷ lệ cam kết có thể tăng lên. Mô hình mã thông báo kép cũng là một hướng đổi mới tốt. Mã thông báo phần thưởng và mã thông báo quản trị có thể được tách ra để thu được nhiều giá trị hơn. Nhiều dự án thành công đã giảm áp lực bán thị trường thông qua mô hình mã thông báo kép.
liên kết gốc
người giới thiệu
https://www.geeksforgeeks.org/practical-byzantine-fault-tolerancepbft/
http://muratbuffalo.blogspot.com/2020/01/practical-byzantine-fault-tolerance.html
https://minaprotocol.com/blog/how-ouroboros-samasika-upholds-minas-goals-of-decentralization
https://arxiv.org/pdf/1807.04938.pdfhttp://www.cs.cmu.edu/~dga/15-712/F13/papers//castro99.pdf
http://muratbuffalo.blogspot.com/2020/01/practical-byzantine-fault-tolerance.html
