Heimdall

Người bảo vệ toàn diện - nhìn thấy và tất cả - của Matic

Tín dụng: Mũ bảo hiểm Pepakura Heimdall của GimpeeInustries

Matic Network có kiến ​​trúc bảo mật ba lớp, trong đó có các thực thể sau đây có liên quan:

1) Chuỗi nhà sản xuất khối Chuỗiaka BOR: Chúng tham gia vào các giao dịch theo đợt trong các khối để đảm bảo thời gian xác nhận nhanh hơn

2) Lớp trình xác thực - còn gọi là Heimdall: Đây là các nút trình xác nhận hợp lệ các khối được tạo bởi các nhà sản xuất khối và đẩy chúng lên Ethereum

3) Người theo dõi mạng Trực tuyến Họ là những tác nhân trên Ethereum và sử dụng bằng chứng gian lận để thách thức bất kỳ giao dịch nào mà họ cho là gian lận trên các sidechains.

Sơ đồ kiến ​​trúc mạng Matic

Để biết ngữ cảnh tốt hơn về kiến ​​trúc Matic, vui lòng tham khảo bài viết:

Bắt đầu lặn sâu vào Heimdall!

Heimdall là một nhóm lớn các nút xác nhận đóng vai trò là cầu nối để kết nối chuỗi Ethereum và Bor. Bất cứ ai cũng có thể trở thành một trình xác nhận và chạy một nút trình xác nhận trên chuỗi Matic bằng cách đặt cược vào chuỗi Ethereum.

Trách nhiệm của người xác nhận theo Heimdall bao gồm:

  1. Xác minh giao dịch trong các khối được tạo bởi các nút nhà sản xuất khối
  2. Tạo gốc Merkle từ 256 khối trở lên
  3. Đạt được sự đồng thuận giữa các trình xác nhận và đẩy gốc Merkle lên Ethereum
  4. Giao tiếp với các nút xác nhận hợp lệ khác và đạt được sự đồng thuận về tập hợp các khối được đưa vào một điểm kiểm tra
  5. Tất cả các trình xác nhận khi nhận điểm kiểm tra, xác minh nó truy vấn các nút nhà sản xuất khối của họ nếu gốc Merkle trong điểm kiểm tra khớp với gốc Merkle mà họ đã tạo cho cùng một nhóm khối
  6. Đẩy một điểm kiểm tra lên mainchain sau khi nó được xác thực bởi 2/3 phần lớn các trình xác nhận trên Heimdall
Đây là những gì một điểm kiểm tra trông giống như

Chuỗi Heimdall đảm bảo rằng các nhà sản xuất khối nút don don thực hiện bất kỳ loại gian lận nào, do đó họ không tin tưởng bất kỳ thông tin nào họ nhận được từ Bor. Heimdall chỉ dựa vào Ethereum như một nguồn sự thật, cho tất cả mọi thứ, từ các trình xác nhận mới đến, thoát khỏi trình xác nhận, để thưởng cho phân phối cho các trình xác nhận, v.v. xảy ra trên chuỗi Ethereum. Sau khi một hành động liên quan đến trình xác nhận được thực hiện trên hợp đồng thông minh, trình xác nhận có thể gửi một trình xác thựcJoin hoặc validatorExit hoặc validatorUpdate giao dịch trên Heimdall. Tất cả các trình xác nhận truy vấn hợp đồng thông minh quản lý các trình xác nhận và xác thực các giao dịch trên Heimdall.

Dưới đây là một số vấn đề chúng tôi gặp phải khi thiết kế nút trình xác nhận:

  1. Ethereum và Heimdall chắc chắn là bạn bè, nhưng họ không chia sẻ `bang` với nhau, do đó việc chia sẻ thông tin giữa hai chuỗi rời rạc này là khó khăn.
  2. Ethereum lưu trữ tất cả thông tin về người mà Heimdall đã chỉ định làm người xác nhận, nhưng không biết người xác nhận nào sẽ quyết định người đề xuất cho điểm kiểm tra tiếp theo.
  3. Trình xác nhận trên Heimdall cần chứng minh rằng họ đã đồng ý về điểm kiểm tra bằng cách ký vào đó. Các chữ ký sẽ được kiểm tra trên chuỗi, Tendermint đã sử dụng25519curve như bitcoin trong khi Ethereum sử dụng secp256k1so một thay đổi về sơ đồ chữ ký trên chuỗi Tendermint phải được thực hiện để tương thích Ethereum.
  4. Dữ liệu về thay đổi hợp đồng thông minh khi trình xác nhận nhập, thoát và thay đổi trạng thái mới xảy ra. Làm thế nào một nút mới được đồng bộ hóa được xác nhận để xác thực các giao dịch liên quan đến tương tác với một chuỗi khác trong các trường hợp như vậy?

Duy trì đồng bộ giữa Ethereum và Heimdall là khó, nhưng không phải là không thể. Trong quá trình phát triển, chúng tôi đã đưa ra một số cách tiếp cận để giải quyết những vấn đề này. Chúng tôi đã mất nhiều lần lặp lại trên bảng vẽ để làm cho tác phẩm này thanh lịch.

Đây là cách gửi một điểm kiểm tra qua Heimdall hoạt động ngay bây giờ:

  1. Người đề xuất được chọn từ nhóm trình xác nhận sẽ tạo một điểm kiểm tra bằng cách tính toán gốc Merkle của 256 khối trở lên trong khi xác minh các giao dịch bên trong các khối.
  2. Một người đề xuất đề xuất một điểm kiểm tra cho tất cả các trình xác nhận. Điểm kiểm tra chứa thông tin meta về nó để tất cả các trình xác nhận khác có thể xác thực nó.
  3. Tất cả các trình xác nhận khi nhận điểm kiểm tra sẽ kiểm tra xem gốc Merkle cho các khối đã cho có khớp với những gì chúng có không.
  4. Nếu điểm kiểm tra là chính xác, các trình xác nhận sử dụng công cụ đồng thuận Tendermint bỏ phiếu cho nhau.
  5. Khi điểm kiểm tra nhận được phiếu bầu từ 2/3 + của tất cả các trình xác nhận, điểm kiểm tra được xếp hàng trên Heimdall để được gửi tới Ethereum.
  6. Đây là khi người đề xuất lấy phiếu và gửi chúng trên Ethereum chứng minh cho hợp đồng thông minh rằng trạm kiểm soát đã đạt được sự đồng thuận về Heimdall.
  7. Hợp đồng thông minh trên chuỗi Ethereum duy trì một hồ sơ về số lượng điểm kiểm tra đã được nhận và chúng được gửi bởi ai và các dữ liệu cần thiết khác.
  8. Khi giao dịch trên Ethereum thành công, người đề xuất sẽ gửi một giao dịch khác trên Heimdall có tên là ACK; trong đó có số điểm kiểm tra đã được gán cho trạm kiểm soát bởi hợp đồng thông minh cho tất cả các trình xác nhận rằng giao dịch điểm kiểm tra đã được Ethereum chấp nhận.
  9. Mọi người đều hoài nghi về Heimdall rằng chính họ kiểm tra Ethereum xem điểm kiểm tra có đúng hay không và chỉ sau đó mới xử lý giao dịch. Nó theo câu ngạn ngữ - tin tưởng Don Don. Xác minh để khởi động.
  10. Và cuối cùng, một điểm kiểm tra được xác nhận trên Heimdall

Nhưng nhưng nhưng điều gì xảy ra nếu một người đề xuất không có một điểm kiểm tra?

11. Sau một khoảng thời gian nhất định, các trình xác nhận tiếp theo trong dòng gửi giao dịch NoAck cho tất cả các trình xác nhận, báo hiệu rằng một điểm kiểm tra đã không được gửi đến hợp đồng thông minh trong một thời gian dài và họ muốn gửi một điểm kiểm tra.

12. Heimdall kiểm tra xem điều này có đúng không và cho phép người đề xuất tiếp theo xếp hàng để khởi động lại quá trình

Điểm kiểm tra hai pha này cho phép chúng tôi dễ dàng giữ cả hai chuỗi đồng bộ và giúp chúng tôi trừng phạt những người đề xuất không gửi điểm kiểm tra và thưởng cho những người xác nhận tốt.

Chúng tôi hy vọng bài đăng này cung cấp cho bạn tổng quan về cách lớp Trình xác thực tương tác với Ethereum. Chúng tôi sẽ tiếp tục loạt bài này để cung cấp cho bạn cái nhìn sâu sắc hơn về Heimdall.

Có thể Heimdall trị vì lâu dài!

Kết nối với chúng tôi

Trang web | GitHub | Twitter | Điện báo | Reddit | YouTube

Ấn phẩm trước