BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Khoa học phổ biến: Cách trình xác thực Eth2 tạo và bảo vệ khóa rút tiền

以太坊爱好者
特邀专栏作者
Bài viết này có khoảng 3814 từ, đọc toàn bộ bài viết mất khoảng 6 phút
Các khóa của Ethereum 2.0 và các khóa của Ethereum 1.0 được tạo và sử dụng theo cách gần giống nhau, nhưng cả hai không tương thích với nhau, nghĩa là các khóa được tạo trên Ethereum 1.0 không thể được
Tóm tắt AI
Các khóa của Ethereum 2.0 và các khóa của Ethereum 1.0 được tạo và sử dụng theo cách gần giống nhau, nhưng cả hai không tương thích với nhau, nghĩa là các khóa được tạo trên Ethereum 1.0 không thể được

Lưu ý của biên tập viên: Bài viết này đến từNhững người đam mê Ethereum (ID: ethfans)Những người đam mê Ethereum (ID: ethfans)

Những người đam mê Ethereum (ID: ethfans)

tiêu đề cấp đầu tiên

Các khóa của Ethereum 2.0 và các khóa của Ethereum 1.0 được tạo và sử dụng theo cách gần giống nhau, nhưng cả hai không tương thích với nhau, nghĩa là các khóa được tạo trên Ethereum 1.0 không thể được sử dụng trên Ethereum 2.0.

Khóa rút tiền (drawal key) là khóa 1 được sử dụng bởi các trình xác thực trong Ethereum 2.0 để rút Ethereum.

Các khóa của Ethereum 2.0 và các khóa của Ethereum 1.0 được tạo và sử dụng theo cách gần giống nhau, nhưng cả hai không tương thích với nhau, nghĩa là các khóa được tạo trên Ethereum 1.0 không thể được sử dụng trên Ethereum 2.0.

Các khóa trong Ethereum 2.0 luôn xuất hiện theo cặp dưới dạng khóa chung và khóa riêng. Chìa khóa rút tiền do chính những người đặt cược nắm giữ, bởi vì họ là nhà cung cấp tiền và tất nhiên muốn giữ quyền rút tiền.

Khóa rút tiền dùng để làm gì?

Trong Ethereum 2.0, thông tin khóa rút tiền chủ yếu được sử dụng trong hai tình huống sau: tạo giao dịch gửi tiền gửi trong Ethereum 1.0; rút Ethereum trong Ethereum 2.0.

Khi người dùng gửi một khoản tiền gửi trên Ethereum 1.0, chức năng của khóa công khai rút tiền là liên kết khoản tiền gửi với khóa riêng rút tiền. Đây là lý do tại sao Ethereum 2.0 có thể biết ai có quyền rút tiền thông qua khóa công khai rút tiền (khóa riêng rút tiền tương ứng với khóa công khai rút tiền có quyền rút tiền gửi). Khóa công khai rút tiền cũng được sử dụng để tích hợp dữ liệu vào giao dịch ký gửi Ethereum, như thể hiện trong sơ đồ sau:

- Hình 1: Sử dụng khóa công khai rút tiền trong quy trình gửi tiền (để biết chi tiết, vui lòng tham khảo bài viết này) (Ghi chú của biên tập viên: xem siêu liên kết ở cuối bài viết "Quy trình hoạt động của Người xác minh")-

Một điều cần lưu ý là khóa công khai rút tiền 2 được sử dụng trong mọi thỏa thuận gửi tiền.

Các chi tiết về việc rút Ethereum trên Ethereum 2.0 vẫn chưa được xác định, nhưng bất kể phương thức nào được áp dụng trong tương lai, khóa cá nhân rút tiền được yêu cầu phải ký và ủy quyền.

Mô tả hình ảnh

Trong ví dụ trên, bên liên quan sử dụng khóa cá nhân rút tiền để ký các chi tiết của hoạt động rút tiền. Sau đó, mạng Ethereum 2.0 có thể so sánh ủy quyền chữ ký trong hoạt động rút tiền với nhận dạng rút tiền trong thỏa thuận gửi tiền (như trong Hình 1). Nếu cả hai khớp nhau, hoạt động rút tiền có thể tiến hành.

Chúng tôi không cần sử dụng khóa cá nhân rút tiền cho đến khi chức năng rút tiền khả dụng. Chức năng rút tiền có thể không khả dụng trong hơn một năm sau khi gửi tiền. Ngay cả khi một tính năng khả dụng, nó không phải được sử dụng. Đối với những bên liên quan muốn nhận phần thưởng trong thời gian dài, khả năng rút tiền ít ảnh hưởng đến hoạt động hàng ngày của họ.

Điều này có nghĩa là chúng ta nên bảo vệ khóa rút tiền riêng tư của mình để không cần sử dụng nó trong thời gian ngắn, ngay cả khi chúng ta chỉ thỉnh thoảng sử dụng nó trong thời gian dài. Nói cách khác, khi cân bằng giữa tính bảo mật và khả năng sử dụng của khóa, ưu tiên hàng đầu của chúng tôi là bảo mật.

tiêu đề cấp đầu tiên

Có bao nhiêu khóa riêng nên được bảo vệ?

Một câu hỏi khác cần được trả lời là: Chúng ta cần bảo vệ tổng cộng bao nhiêu khóa riêng tư?

Lý do thứ hai là việc sử dụng cùng một khóa riêng làm cho giá trị của khóa riêng quá cao, khiến nó dễ bị đánh cắp hơn. Tuy nhiên, việc lưu trữ các khóa riêng khác nhau ở cùng một nơi có thể gây ra cùng một vấn đề. Điều đó có nghĩa là, các khóa riêng tư khác nhau nên được tách biệt về mặt vật lý và logic để giảm tác động của việc mất mát.

bước chân

Nói tóm lại, nếu bạn muốn ngăn người khác phát hiện ra cùng một thực thể đằng sau nhiều danh tính người xác thực (giả sử mỗi khoản tiền gửi của bạn đến từ một địa chỉ Ethereum 1.0 khác nhau) và lưu trữ riêng từng khóa riêng rút tiền của bạn hoặc áp dụng các cơ chế bảo vệ khóa khác nhau, thì việc sử dụng nhiều khóa riêng tư sẽ mang lại những lợi ích đáng kể. Vì người dùng thông thường thường không làm điều này, phần còn lại của bài viết này chỉ giới thiệu cách sử dụng một khóa riêng rút tiền duy nhất, nếu cần, nội dung của bài viết này cũng sẽ áp dụng cho tình huống giữ nhiều khóa riêng.

  1. tiêu đề cấp đầu tiên

  2. bước chân

  3. Bây giờ chúng ta đã biết các yêu cầu cơ bản, hãy xem cách tạo và bảo mật khóa rút tiền. Các bước tạo khóa mới như sau:

  4. Tạo ví rút tiền;

  5. Tạo một tài khoản rút tiền;

Xóa ví rút tiền;

Xác nhận ví rút tiền có thể được khôi phục.

Mô tả hình ảnh

- Hình 3: Các bước tạo và bảo mật khóa rút tiền -

Các bước này phải được hoàn thành trên máy tính, hãy cẩn thận để ngăn chặn sự xâm nhập của máy tính. Độ dài của bài viết này có hạn, và chúng ta sẽ không bàn về cách phòng chống máy tính bị hack, nhưng người dùng ít nhất phải làm một việc: máy tính không được kết nối Internet khi thực hiện quy trình trên.

tiêu đề phụ

ethdo wallet create --wallet="Staking wallet" --type=hd --walletpassphrase=secret1

Tạo ví rút tiền

Tại thời điểm viết bài này, không có ví phần cứng khóa Ethereum 2.0 nào dựa trên đường cong BLS12-381 được phát triển. Do đó, các khóa phải được tạo trong phần mềm. Bài viết này sử dụng công cụ dòng lệnh ethdo làm ví dụ, bạn cũng có thể sử dụng các công cụ khác để đạt được nó.

Dòng mã này tạo ra một chiếc ví với một cụm từ ghi nhớ. Bản ghi nhớ bao gồm 24 từ và có thể được sử dụng để khôi phục các ví đã tạo trước đó cũng như tất cả các tài khoản trong ví và phải được bảo mật ngay lập tức. Lệnh trên sẽ xuất bản ghi nhớ, lệnh này sẽ được lưu ngoại tuyến. Nếu sau khi nhập lệnh mà mnemonic không hiển thị, ví không khôi phục được thì chúng ta không nên sử dụng ví này.

Có nhiều cách để lưu bản ghi nhớ của bạn, chẳng hạn như Blockplate và Cryptosteel, nhưng bạn cũng có thể sao chép nó xuống và cất giữ ở nơi an toàn (tốt nhất là chống cháy). Hãy nhớ rằng một khi cụm từ hạt giống bị mất, bạn sẽ không thể rút tiền, vì vậy hãy thực hiện các bước thích hợp để giữ an toàn.

Sau khi ghi nhớ được lưu, chúng ta có thể bắt đầu tạo tài khoản rút tiền.

ethdo account create --account="Staking wallet/Withdrawal account" --walletpassphrase=secret1 --passphrase=secret2

Tạo tài khoản rút tiền

Lệnh tạo tài khoản rút tiền như sau:

Mật khẩu ví (walletpassphrase) phải giống với mật khẩu bạn đã cung cấp ở phần trước. Mật khẩu sau chỉ là mật khẩu của tài khoản này và chỉ được sử dụng tạm thời trước khi xóa tài khoản.

ethdo account info --account="Staking wallet/Withdrawal account"

tiêu đề phụ

Như tên của nó, khóa chung là công khai và không yêu cầu biện pháp bảo mật đặc biệt nào. Chạy đoạn mã sau để xem khóa công khai:

Nếu mã không xuất khóa công khai rút tiền, nó có thể cho biết có lỗi trong quá trình tạo tài khoản. Xem lại cẩn thận mã đã được chạy trước đó để tìm lỗi.

Lưu ý rằng mặc dù khóa công khai không phải là khóa riêng tư, nhưng bạn nên thực hiện các bước hợp lý để đảm bảo rằng những kẻ tấn công có ác ý không thể trao đổi khóa công khai của bạn lấy khóa của chúng.

ethdo wallet delete --wallet="Staking wallet"

tiêu đề phụ

ethdo wallet info --wallet="Staking wallet"

Nếu các bước trên được thực hiện chính xác, chúng tôi có thể xóa ví rút tiền một cách an toàn. Vui lòng chạy mã dưới đây:

Sau đó, bạn có thể chạy đoạn mã sau để truy cập vào ví để xác nhận xem ví đã bị xóa hay chưa:

Thông thường, một thông báo lỗi được trả về vì không tìm thấy ví.

tiêu đề phụ

ethdo wallet create --wallet="Recovery wallet" --type=hd --walletpassphrase=temp1 --mnemonic="MNEMONIC"

Xác nhận ví rút tiền có thể được khôi phục

Tốt nhất là xây dựng lại ví rút tiền trước khi thực hiện bất kỳ khoản tiền gửi nào bằng khóa rút tiền. Điều này không chỉ đảm bảo rằng chúng tôi đã quen thuộc với quy trình mà còn giúp kiểm tra lần cuối các lỗi có thể xảy ra trước khi bạn gửi tiền.

ethdo account create --account="Recovery wallet/Withdrawal account" --walletpassphrase=temp1 --passphrase=temp2

Điều đầu tiên cần làm là xây dựng lại ví bằng cách ghi nhớ. Vui lòng chạy mã dưới đây:

ethdo account info --account="Recovery wallet/Withdrawal account"

Thay thế mnemonic trong đoạn mã trên bằng mnemonic của bạn.

Sau đó chạy đoạn mã sau để xây dựng lại tài khoản rút tiền:

ethdo wallet delete --wallet="Recovery wallet"

Chạy đoạn mã sau để lấy khóa công khai của nó:

ethdo wallet info --wallet="Recovery wallet"

Để xóa lại ví, hãy chạy mã bên dưới:

Sau đó chạy đoạn mã sau để thử truy cập vào ví để xác nhận xem nó đã bị xóa chưa:

Các bước trên cũng có thể được sử dụng cho các khóa trình xác thực không?

chú thích cuối trang

Không thể. Các khóa xác nhận và khóa rút tiền của Ethereum 2.0 được sử dụng rất khác nhau và khác với hầu hết các khóa mà bạn quen thuộc. Chúng tôi sẽ trình bày chi tiết về các khóa xác thực, cách sử dụng và bảo vệ chúng trong bài viết tiếp theo.

tiêu đề phụ

chú thích cuối trang

开发者
ETH
安全
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký:
https://t.me/Odaily_News
Nhóm trò chuyện:
https://t.me/Odaily_GoldenApe
Tài khoản chính thức:
https://twitter.com/OdailyChina
Mục lục bài viết
Thư viện tác giả
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
IOS
Android