Đã được xác thực, đặt cược trên eth2: # 4 – Các phím 🔑

Rate this post

Đặc biệt cảm ơn Sacha Yves Saint-Leger & Danny Ryan đã đánh giá.

Cốt lõi của mọi hệ thống Proof of Stake là một sơ đồ chữ ký. Chữ ký được sử dụng để xác minh danh tính của từng trình xác thực cho phép các hành động của họ, cả tốt và xấu, được quy cho họ.

Chúng tôi có thể xác minh tính trung thực bằng cách xem các tin nhắn có chữ ký của trình xác thực và chúng tôi có thể chứng minh ác ý bằng cách hiển thị các tin nhắn vi phạm các quy tắc đồng thuận.

Trên thực tế, trong eth2, danh tính của trình xác thực khóa công khai của họ. Cụ thể, mỗi trình xác thực có hai bộ khóa: khóa ký và khóa rút tiền.

Chìa khóa ký tên

Một khóa ký là chìa khóa mà trình xác thực cần để ký xác nhận và đề xuất các khối. Vì trình xác thực cần phải ký thông báo ít nhất một lần mỗi kỷ nguyên, nên phần mềm máy khách phải có quyền quản lý khóa.

Chìa khóa rút tiền

Bởi vì phần mềm máy khách luôn được kết nối với internet, tất nhiên có khả năng khóa ký của một người bị xâm phạm. Để giảm tác động của việc vi phạm như vậy, các hành động mà trình xác thực có thể thực hiện được tách ra giữa hai khóa.

Khóa ký, như đã giải thích ở trên, được sử dụng để trình xác nhận thực hiện nhiệm vụ của họ. Mặt khác, chìa khóa rút tiền có quyền kiểm soát tiền của người xác thực (chuyển * và rút * ETH).

Người xác nhận chỉ cần sử dụng các khóa rút tiền của họ một vài lần trong suốt thời gian trở thành người xác nhận. Điều này có nghĩa là chúng có thể được đưa vào kho lạnh và bảo quản với mức độ bảo mật cao (ngoại tuyến).

* Chuyển và rút tiền không được kích hoạt cho đến ít nhất là giai đoạn 1

Đó là rất nhiều chìa khóa!

Nếu đối với mỗi lần đặt cọc 32ETH, một người cần phải lưu và sử dụng 2 chìa khóa không liên quan để gửi tiền, thì điều này sẽ nhanh chóng vượt qua tầm tay.

May mắn thay, chúng tôi có một giải pháp. Cách khắc phục là để các khóa sử dụng một bí mật chung, để việc lưu trữ một bí mật duy nhất sẽ cho phép truy cập vào nhiều khóa.

Trong eth2, điều này đạt được thông qua EIP 23332334: một tập hợp các tiêu chuẩn mô tả cách các khóa rút và ký có liên quan và cách chúng có thể được bắt nguồn từ một phép ghi nhớ duy nhất.

Kỹ thuật ghi nhớ

Thuật nhớ là một cách khác để mã hóa bí mật và là một phương tiện đơn giản hơn nhiều để mọi người lưu trữ và sao lưu khóa cá nhân của họ.

Ý tưởng là việc ghi nhớ hoặc viết ra đơn giản hơn giải pháp xúc xích ồn ào cô lập tiêu điểm khung cửa lướt chú hề triệu xáo trộn xung động hơn 0x1e9f2afcc0737f4502e8d4238e4fe82d45077b2a549902b61d65367acecbccba mà không mắc bất kỳ sai lầm nào.

Xuất phát khóa từ các khóa khác

Khi tương tác với ví, bạn có thể gặp phải “đường dẫn” của biểu mẫu m / 44 ‘/ 60’ / 0 ‘/ 0/0. Các đường dẫn này mô tả mối quan hệ giữa các khóa.

Dựa theo EIP 2333Mối quan hệ này có dạng cấu trúc cây trong đó khóa được xác định bởi nguồn entropy (hạt của cây) và đường dẫn cây.

Chúng tôi sử dụng hạt giống để tính toán gốc của cây và sau đó xây dựng cây thành từng lớp trên đầu rễ này. Cây chìa khóa này được xác định hoàn toàn thông qua mối quan hệ giữa nhánh tiếp theo trong cây và gốc của cây.

Về mặt thực tế, nó cho phép chúng ta tìm thấy bất kỳ khóa nào trong cây bằng cách bắt đầu từ gốc và tính khóa trung gian tại mỗi nhánh mà chúng ta theo dõi, cho đến khi chúng ta đến lá mà chúng ta quan tâm.

Một hệ quả tuyệt vời của điều này là chúng ta có thể bắt đầu với một nguồn entropy duy nhất (ví dụ: một phép ghi nhớ), và từ đó tạo ra một số lượng khóa thực tế không giới hạn.

Ngoài ra, bằng cách lưu trữ an toàn chỉ ghi nhớ, bạn có một bản sao lưu của mọi khóa mà trình xác thực của bạn sử dụng.

Ý tưởng này được sử dụng trong eth2 để cho phép một người ghi nhớ duy nhất tạo ra nhiều khóa mà trình xác thực cần. Ví dụ: nếu bạn muốn chạy 3 trình xác thực, bạn có thể sử dụng một phép ghi nhớ duy nhất để tạo các khóa rút tiền tại
m / 0,
m / 1,
m / 2.

      [m / 0]
     /
    /
[m] - [m / 1]
    \
     \
      [m / 2]

Mỗi nhánh cách nhau một dấu / vì thế m / 2 nghĩa là bắt đầu với khóa chính và theo nhánh 2.

EIP 2334 nói rằng khóa ký của trình xác thực là 0nhánh con thứ của khóa rút tiền. Trong thực tế, điều này có nghĩa là, khi tuân theo tiêu chuẩn, nếu bạn biết khóa riêng để rút tiền, bạn có thể tính khóa riêng tương ứng để ký.

Tiếp tục với ví dụ trên, các khóa ký sẽ được tìm thấy tại:
m / 0/0,
m / 1/0,
m / 2/0.

      [m / 0] - [m / 0 / 0]
     /
    /
[m] - [m / 1] - [m / 1 / 0]
    \
     \
      [m / 2] - [m / 2 / 0]

Mặc dù chúng tôi đã cố gắng giữ cho ví dụ này đơn giản nhất có thể, nhưng trên thực tế, các đường dẫn liên quan sẽ lâu hơn một chút (EIP 2334 yêu cầu sử dụng m / 12381/3600 / i / 0m / 12381/3600 / i / 0/0 để rút tiền và ký khóa tương ứng). Tuy nhiên, logic vẫn như cũ.

Điều quan trọng cần nhớ là nếu bạn biết cách ghi nhớ, bạn có thể tính toán các khóa rút tiền của mình và từ đó lấy ra các khóa ký của bạn.

Lưu trữ khóa

Máy khách trình xác thực sử dụng kho khóa làm phương thức trao đổi khóa.

Keystores là các tệp chứa khóa riêng được mã hóa bằng mật khẩu của người dùng. Chúng có thể được lưu trữ và chuyển giao giữa các máy tính một cách an toàn miễn là mật khẩu không được lưu trữ trên cùng một máy tính.

Khi bạn đã sẵn sàng để bắt đầu xác thực, bạn có thể cung cấp cho khách hàng của mình kho khóa và mật khẩu mã hóa chúng (nó cần cả hai phần thông tin để nhập khóa của bạn).

Trở thành người xác thực

Bước đầu tiên để trở thành trình xác nhận là tạo các khóa thích hợp. Chúng sẽ được tạo ra sau khi bạn đã viết ra ghi nhớ của mình.

Vì không có giao dịch rút tiền hoặc chuyển khoản trong giai đoạn 0, bạn không cần phải có kho khóa cho các khóa rút tiền của mình; lưu trữ trí nhớ của bạn một cách an toàn là đủ.

Vì khách hàng của trình xác thực cần các khóa ký của bạn, bạn sẽ nhận được một kho khóa cho mỗi trình xác thực của mình để lưu trữ các khóa này.

Bây giờ là thời gian gửi tiền! Để trở thành người xác thực, bạn sẽ cần gửi 32 ETH cho mỗi người xác thực cùng với dữ liệu ký gửi chứa tất cả các khóa công khai trình xác thực của bạn.

Dữ liệu tiền gửi sau đó được ghi lại trong hợp đồng tiền gửi trên eth1. Hợp đồng này được theo dõi bởi các nút eth2, những người chịu trách nhiệm sao chép dữ liệu tiền gửi. Sau khi dữ liệu tiền gửi của bạn đã được sao chép, bạn chính thức là người xác thực!

Trở thành người xác nhận một cách dễ dàng

Chúng tôi vui mừng thông báo rằng chúng tôi đã làm việc chăm chỉ trên một giao diện thân thiện để hướng dẫn người xác thực thông qua quá trình này. Hãy đăng để cập nhật trong thời gian ngắn về Eth2 Launchpad là gì và cách sử dụng nó!

Thuc Quyen

Leave a Reply

Your email address will not be published. Required fields are marked *