Tiêu đề gốc: "Cách hoạt động của Proof of Stake Ethereum" của Patrick McCorry
Bản dịch gốc: 0x Felix
Hiệu đính văn bản gốc: Franci, ECN
Ethereum đã đạt được một trong những cột mốc được chờ đợi từ lâu - sự hợp nhất! Đây là một thời điểm rất quan trọng. Sau bảy năm làm việc chăm chỉ, cộng đồng Ethereum đã thay thế thành công cơ chế bằng chứng công việc bằng giao thức đồng thuận bằng chứng cổ phần. Tác động ngay lập tức là giảm mức tiêu thụ năng lượng của mạng tới 99,95%, chỉ chiếm 0,02% mức tiêu thụ điện toàn cầu. Đây là một kết quả đáng để ăn mừng!
Ngoài ra, có rất nhiều lợi thế kỹ thuật do việc nâng cấp mang lại, nhưng hầu hết cộng đồng đều không rõ ràng. Đã đến lúc có nhiều tài liệu dễ tiếp cận hơn về cách hoạt động của Proof-of-Stake, tại sao nó lại quan trọng và những tính năng thú vị nào sắp ra mắt — đặc biệt là hiện tại Proof-of-Stake đang bảo vệ hàng trăm tỷ đô la tài sản.
Để hỗ trợ nỗ lực này, chúng tôi đã chuẩn bị một loạt bài viết giải thích về giao thức bằng chứng cổ phần, nhằm vào các nhà nghiên cứu, nhà phát triển và người dùng cuối quan tâm đến công nghệ này. Trong khoảng thời gian hai tuần, chúng tôi sẽ xuất bản các bài viết sau và cập nhật các liên kết có liên quan:
- Thiết kế mô-đun và hai chuỗi khối,
- Các khối Epochs, Slots và Beacon,
- nhân chứng xác nhận và giao thức bỏ phiếu,
- Bồi thường và trừng phạt,
- Proof-of-Stake của Ethereum có đạt được mục tiêu của nó không?
Ngoài ra, một số chủ đề sau được đề cập:
- quy trình đăng ký và rút tiền,
- Hình phạt quá hạn,
- vai trò của người tổng hợp và tiểu ban,
- tấn công swing (chưa xuất bản),
- Sync Board (chưa công bố).
Chúng tôi hy vọng những bài viết này sẽ giúp bạn hiểu cách thức hoạt động của các giao thức bằng chứng cổ phần và đóng vai trò là kiến thức tiên quyết trước khi bạn đi sâu vào mã máy khách đồng thuận trong quá trình phát triển.
Xin cảm ơn nhóm Teku, đặc biệt là Ben Edington và Mikhail Kalinin vì sự kiên nhẫn trả lời các câu hỏi của tôi.
Thiết kế mô-đun và hai chuỗi khối
Cuộc chiến kích thước khối cuối cùng là cuộc chiến phân cấp - nó có phải là giá cả phải chăng nhất có thể không? Hoặc nó nên được kiểm chứng càng tốt?
Nhiệm vụ tìm kiếm khả năng mở rộng chuỗi khối đã khiến cộng đồng đề xuất một số đề xuất đầy tham vọng trong 10 năm qua.Trọng tâm của vấn đề là sự đánh đổi cơ bản:
- Khả năng chi trả: Quy mô số lượng người dùng có khả năng chi trả để giao dịch trên mạng.
- Khả năng xác minh: Số lượng người dùng có các yêu cầu khó khăn như phần cứng và băng thông để xác minh tính toàn vẹn của giao dịch trong thời gian thực.
Nhiều hệ thống chuỗi khối hiện đại ưu tiên khả năng chi trả và số lượng người dùng tối đa hơn mọi thứ khác - giả sử nhà điều hành mạng sẵn sàng cố gắng hết sức để giúp thực hiện điều này. Giả định này, rằng các nhà khai thác nên làm việc chăm chỉ, có xu hướng tập trung hóa các hệ thống chuỗi khối vì nó làm giảm số lượng người có thể tham gia với tư cách là nhà điều hành. Đặc biệt đối với các mạng yêu cầu người vận hành phải mua phần cứng từ các nhà sản xuất đã được phê duyệt.
Không phải các thiết kế chuỗi khối hiện đại là sai, nhưng cho đến nay, cả hai đều không thu hút được sự chú ý như Bitcoin hay Ethereum. Theo chúng tôi, một trong những lý do nổi bật là sự đánh đổi cơ bản này. Đây là trọng tâm của cuộc tranh luận về kích thước khối Bitcoin, với việc cộng đồng cuối cùng quyết định ưu tiên ai có thể xác minh tính toàn vẹn của mạng so với khả năng chi trả dài hạn.
Hy vọng rằng, giống như Ethereum, khả năng chi trả có thể được đẩy lên một cấp độ khác với Lightning Network, Sidechains hoặc Rollups. Cộng đồng Ethereum, lộ trình và các giá trị đều bắt nguồn từ cùng một nền tảng. Sự khác biệt duy nhất là Ethereum có một hợp đồng xã hội ăn sâu cho phép cộng đồng của nó thực sự thay đổi nền tảng cơ bản để vượt qua tình trạng khó xử này.
Nếu có một điểm duy nhất không liên quan đến Proof of Stake, thì đó là số liệu TPS vô nghĩa trong bối cảnh của một mạng phi tập trung. Khả năng mở rộng không chỉ là tăng thông lượng bằng mọi giá, mà nên được định nghĩa như sau:
"Tăng thông lượng giao dịch trong khi vẫn tuân thủ cùng các yêu cầu về điện toán, băng thông và lưu trữ cần thiết để chạy một nút xác thực đầy đủ."
Là một độc giả, cuộc thảo luận này có vẻ lạ. Tại sao chúng ta lại nói về khả năng mở rộng blockchain? Điều này liên quan như thế nào đến Proof of Stake? Hơn nữa, vì việc nâng cấp không ngay lập tức tăng thông lượng giao dịch theo cách có ý nghĩa, nên cuộc thảo luận này thậm chí còn có vẻ lạc đề hơn. Lý do là bản nâng cấp này đã bị đánh giá thấp về khả năng tạo nền tảng cho các giải pháp khả năng mở rộng trong tương lai.
Chuỗi khối nguyên khối đến Chuỗi khối mô-đun
Một mô hình tinh thần mới - những người tham gia đồng thuận không cần phải làm tất cả những công việc khó khăn, họ chỉ cần xác minh và đồng ý rằng công việc là chính xác.
Hãy nhanh chóng tua đi một vài năm, sau cuộc chiến kích thước khối. Bây giờ, chúng ta có các thuật ngữ tốt hơn về cách thức tiến thoái lưỡng nan này ảnh hưởng đến việc thiết kế các hệ thống chuỗi khối, cụ thể là chuỗi khối nguyên khối hoặc thiết kế mô-đun.
Chuỗi khối đơn loại. Đây là một giao thức blockchain và cơ chế triển khai cố gắng tìm giải pháp chung cho tất cả các tắc nghẽn phần cứng, chẳng hạn như cách thực hiện giao dịch, cách phát dữ liệu và cách lưu trữ cơ sở dữ liệu. Các nhà khai thác mạng tham gia phải thực hiện tất cả các công việc nặng nhọc và chạy toàn bộ quá trình triển khai nguyên khối, điều này hạn chế rất nhiều những người có thể tham gia vào giao thức đồng thuận.
Thiết kế mô-đun xác định lại tài nguyên thành các lớp—cho phép các nhóm xây dựng phần mềm để giải quyết vấn đề ở mỗi lớp.
Tài nguyên hình thành các lớp. Một trong những động lực lớn đằng sau thiết kế bằng chứng cổ phần của Ethereum và lộ trình dài hạn của nó là định nghĩa mỗi tài nguyên là một cấp mới. Bằng cách là một lớp, các vấn đề có thể được tách biệt và độc lập, cho phép các nhóm xây dựng ứng dụng khách phần mềm mới để giải quyết từng vấn đề cụ thể. Điều này được gọi là thiết kế chuỗi khối mô-đun.
Có lẽ hiểu biết quan trọng nhất về cách tiếp cận mô-đun là cách nó thay đổi nhận thức của những người tham gia đồng thuận. Nó không còn là đặt chúng lên đầu khối lượng công việc. Thay vào đó, nó tập trung vào:
"Khối lượng công việc tối thiểu mà một người đề xuất khối cần làm là bao nhiêu? Có thể thực hiện tất cả các công việc khó khăn không cần thiết ở nơi khác không?"
câu trả lời là có
Trình xác thực đóng vai trò là ứng dụng khách nhẹ. Các giao thức chuỗi khối không còn được thiết kế xung quanh việc tối đa hóa công việc của nhà điều hành mạng. Trên thực tế, điều ngược lại mới đúng, các nhà khai thác mạng (người xác nhận) nên là khách hàng nhẹ, chỉ cần kiểm tra và xác minh công việc đã được thực hiện ở nơi khác.
Đó là lý do tại sao cá nhân tôi thích cái tên "validator". Công việc duy nhất của họ là xác minh, đạt được sự đồng thuận (consensus), và cuối cùng là bảo mật tất cả tài sản của người dùng được lưu trữ trong cơ sở dữ liệu Ethereum. Về lâu dài, việc tham gia chỉ nên yêu cầu phần cứng có sẵn trên thị trường và kết nối internet tốt.
Hơn nữa, bằng cách làm cho các máy khách nhẹ của trình xác thực, cuối cùng nó có thể giải quyết được bản chất vị tha của việc chạy phần mềm nút. Người dùng cuối cùng có thể được trả tiền để xác thực chuỗi khối và kiểm tra tính toàn vẹn của nó trong thời gian thực. Ngoài ra, chúng tôi có thể kiểm tra xem họ có đang thực hiện công việc hay không.
hai chuỗi khối
Việc sáp nhập là cột mốc quan trọng đầu tiên trong việc chuyển thông số kỹ thuật Ethereum sang thiết kế mô-đun.
Nó tách biệt sự đồng thuận toàn cầu của việc đặt hàng giao dịch với việc thực hiện các giao dịch cuối cùng. Đồng thời, nó giới thiệu hai chuỗi khối mới:
1) Triển khai chuỗi khối. Chuỗi khối Ethereum ban đầu xử lý các giao dịch do người dùng tạo và thực hiện hợp đồng thông minh. Đôi khi được gọi là chuỗi khối ETH 1.
2) Chuỗi khối đồng thuận. Một chuỗi khối dành riêng cho lớp đồng thuận. Nó chịu trách nhiệm quyết định chuỗi chính tắc thực thi chuỗi khối và ghi lại bản sao của bằng chứng cổ phần. Đôi khi được gọi là chuỗi khối báo hiệu.
Hai khách hàng phần mềm. Mô-đun PoW bằng chứng công việc và nói chung là bất kỳ mã nào xử lý các quyết định trên chuỗi chính tắc, đều có thể bị xóa khỏi phần mềm nút Ethereum ban đầu. Toàn bộ môi trường thực thi vẫn còn nguyên vẹn và bây giờ được gọi là máy khách thực thi. Để truy xuất chuỗi thực thi chính tắc, nó thăm dò ứng dụng khách phần mềm xử lý lớp đồng thuận ("ứng dụng khách đồng thuận") cho các khối mới.
Vì chuỗi khối triển khai và các máy khách hầu như không thay đổi, nên bài viết của chúng tôi sẽ tập trung vào việc triển khai lớp đồng thuận của giao thức bằng chứng cổ phần.
Hệ sinh thái đa khách hàng. Do sự tách biệt được mô tả ở trên, một số nhóm đã xuất hiện độc lập cố gắng giải quyết các vấn đề về sự đồng thuận hoặc thực thi. Tất nhiên, trong cả hai trường hợp, chúng phải tuân theo thông số kỹ thuật chung, nhưng được tự do thử nghiệm các chi tiết triển khai. Hiện tại có một hệ sinh thái đa khách hàng đang phát triển mạnh (và được tài trợ tốt một cách đáng ngạc nhiên). Ví dụ: ứng dụng khách đồng thuận bao gồm Teku và Prysm, trong khi ứng dụng khách thực thi bao gồm Geth, Erigon và Nethermind.
Người xác thực được khuyến khích chạy các kết hợp khác nhau giữa ứng dụng khách đồng thuận và thực thi. Đây là tuyến phòng thủ đầu tiên chống lại các lỗi cấp độ đồng thuận, với hy vọng rằng các lỗi tương tự không được lặp lại trên nhiều triển khai độc lập. Thực hành công nghệ phần mềm này được gọi là lập trình "phiên bản N".
viết ở cuối
viết ở cuối
Những độc giả cẩn thận có thể nhận thấy việc sử dụng các lớp tính khả dụng, thực thi và thanh toán dữ liệu ở đây, nhưng Ethereum bằng chứng cổ phần đặt nền tảng cho các lớp thực thi và đồng thuận.
Lộ trình dài hạn là hướng tới:
Đồng thuận → Dữ liệu sẵn có. Tất cả những người xác thực đạt được sự đồng thuận về thứ tự dữ liệu và proto-danksharding giúp củng cố vai trò này.
Tổng số → Lớp thực thi. Tổng số đảm nhận vai trò của lớp thực thi,
ETH 1 → lớp thanh toán. Chuỗi khối Ethereum ban đầu là nền tảng của niềm tin đảm bảo an toàn cho tất cả các tài sản do người dùng xác định.
Danh pháp này có thể gây nhầm lẫn, tùy thuộc vào các lần lặp lại trong tương lai của giao thức Ethereum. Bây giờ chúng tôi chỉ đơn giản gọi nó là lớp đồng thuận và thực thi - như nó đã được thực hiện và triển khai.
