2020/02/21
Wallet

HDWallet là gì? Giải thích về cơ cấu tạo ra địa chỉ Bitcoin và đặc điểm của nó

Bạn có biết địa chỉ Bitcoin được hình thành như thế nào hay không?

Thực ra, một số lượng lớn các địa chỉ được tạo ra từ một cơ chế thú vị được gọi là HDWallet.

Bài viết này sẽ giải thích chi tiết, dễ hiểu về cơ cấu, ưu điểm và hạn chế của HDWallet!

Đây là nội dung bạn nên biết dù chỉ một chút để có thể an tâm quản lý Bitcoin hơn!

HDWallet (Ví phân cấp xác định) là gì?

Khi giao dịch Bitcoin, bạn sẽ không cần tự mình tạo ra địa chỉ. Địa chỉ sẽ được tự động tạo ra bởi ví và sàn giao dịch để đưa cho bạn.

Như thế ví tiền điện tử Bitcoin có một “cơ cấu nào đó” để tạo ra địa chỉ Bitcoin. “Cơ cấu nào đó” ở đây là HDWallet!

HD là viết tắt của từ phân cấp xác định (Hierarchy Deterministic)​, tóm lại đơn giản là một ví chỉ dựa trên 1 chuỗi ký tự có thể tạo ra vô số các địa chỉ Bitcoin.

Bạn có thể hình dung giống như một lùm cây từ một hạt giống thành một cành cây, ra nhiều nhánh cây và tạo ra vô số các nhánh con.

Không phải là một loại ví

HDWallet dễ bị hiểu lầm nhưng nó không phải “một loại ví thông thường”.

“Loại ví” thường được nhắc đến là những ví được thắc mắc rằng tại sao lại có thiết bị đầu cuối để thao tác như Mobile Wallet và Hard Wallet.

HDWallet không phải là một loại ví theo nghĩa đó. Như đã đề cập trước đó, đây là một thuật ngữ mô tả cách tạo địa chỉ Bitcoin.

Có RandomWallet là một thực thể được xếp hàng với HDWallet. Và bất kỳ ví tiền điện tử hiện có nào cũng được phân loại là RandomWallet hoặc HDWallet.

Tạo địa chỉ vô hạn từ một Seed

​Trong giao dịch Bitcoin, người ta thường hiểu nhầm rằng “có một địa chỉ Bitcoin cho mỗi người”.

Trên thực tế, mỗi giao dịch sử dụng một địa chỉ khác nhau. Mỗi người có địa chỉ không giới hạn.

Bitcoin có tính ẩn danh thấp và tất cả địa chỉ gửi BTC đều bị công khai.

Bằng cách theo dõi hồ sơ giao dịch, bạn có thể tìm ra số lượng được lưu trữ tại một địa chỉ. Do đó, nên có một địa chỉ mới chưa sử dụng cho mỗi giao dịch.

Đối với địa chỉ Bitcoin, một khóa bí mật mà chỉ bạn biết được sử dụng để tạo khóa chung có thể bị khóa đối với người khác và địa chỉ Bitcoin được tạo từ khóa chung.

Tất cả sự tương ứng ở đây là một-một. Chủ đề lần này là “làm thế nào để tạo một khóa bí mật”.

HDWallet tạo các khóa bí mật – khóa chung – địa chỉ từ một chuỗi ký tự đơn trong một lớp, chẳng hạn như HD (tính xác định phân cấp).

Đây là sự khác biệt quyết định so với các Ví trước. Tất cả các lớp được tự động xác định bởi các lớp ở trên chúng.

Chỉ Seed ban đầu xác định tất cả các khóa riêng – khóa chung – địa chỉ bên dưới nó.

So sánh với RandomWallet (ví không xác định)

Cho đến khi HDWallet được thông qua, định dạng có tên RandomWallet đã được sử dụng. Đến đây, chúng tôi sẽ giới thiệu về RandomWallet là như thế nào.

RandomWallet là gì?

RandomWallet (ví không xác định), như chính cái tên của nó, tạo ra một khóa bí mật một cách ngẫu nhiên.

Bởi vì cần thiết phải có một khóa bí mật cho mỗi địa chỉ nên, bạn cần tạo một khóa bí mật cho mỗi địa chỉ.

Không có mối quan hệ giữa các khóa bí mật và tất cả các khóa đều phải được quản lý riêng.

Do đó, số lượng khóa bí mật trở nên khổng lồ và việc quản lý trở nên khó khăn.

Ngoài ra còn có một vấn đề là cần phải sao lưu mỗi khi số lượng địa chỉ được tăng lên.

Cơ chế tạo địa chỉ trong RandomWallet

Hình ảnh cấu tạo của Ví không xác định

  • Không có sự kết nối giữa các khóa bí mật.
  • Cứ mỗi địa chỉ thì, cần có một điểm bắt đầu.

Hình ảnh của Random Wallet được hiển thị trong hình trên. Nhìn thật đơn giản nhỉ.

Tạo một số lượng lớn các khóa bí mật trong Random và chuyển đổi chúng thành địa chỉ Bitcoin.

Trình tự là tạo lại khóa bí mật mỗi khi nó được sử dụng hết.

Điều quan trọng là mỗi khóa bí mật không bị ràng buộc và có vô số điểm bắt đầu. Điều này gây khó khăn cho việc quản lý khóa bí mật đúng cách.

Như đã đề cập trước đó, việc giảm số lượng địa chỉ dẫn đến mất quyền riêng tư. Vì vậy, một số lượng lớn các khóa bí mật khác nhau phải được tạo.

Cấu tạo của HDWallet

​ 

Ở mục trước chúng tôi đã giới thiệu về HDWallet nên, sau đây chúng tôi sẽ giải thích cụ thể hơn về cấu tạo của nó.

Đây là một câu chuyện mang tính kỹ thuật, nhưng chúng tôi sẽ cố gắng tránh thuật ngữ kỹ thuật càng nhiều càng tốt!

Những gì bạn cần để tạo ra địa chỉ như nhau!

Chung cho tất cả các ví, địa chỉ Bitcoin được tạo bằng các kỹ thuật như khóa bí mật – khóa chung – hàm Hash.

Mỗi ví đầu tiên tạo một khóa riêng. Nó giống như một mật khẩu mà bạn cần xác định và chỉ mình bạn biết. Tạo ra bằng cách sử dụng một trình tạo số ngẫu nhiên an toàn.

Bạn sẽ cần khóa bí mật của mình khi bạn chuyển Bitcoin. Nhận dạng cá nhân, được gọi là chữ ký điện tử, được thực hiện bằng khóa bí mật.

Áp dụng hàm số Hash cho khóa bí mật để biến nó thành khóa chung.

Hàm Hash là hàm thay đổi giá trị theo một hướng và cực kỳ khó tìm được sự thay thế từ kết quả.

Nói cách khác, việc tìm khóa bí mật từ khóa chung là không khả thi.

Khi bạn có khóa chung, hãy xử lý nó thành địa chỉ Bitcoin. Áp dụng hàm số Hash cho khóa chung, thực hiện mã hóa base58check, thêm 1 hoặc 3 ký tự vào đầu và tạo địa chỉ Bitcoin.

Một địa chỉ Bitcoin là cần thiết để nhận Bitcoin. Nó giống như một số tài khoản.

Tóm lại, sau khi bạn tạo khóa bí mật, bạn tạo khóa chung từ khóa bí mật và địa chỉ Bitcoin từ khóa chung!

Cấu tạo của việc tạo ra địa chỉ trong HDWallet

Toàn bộ hình ảnh của thế hệ khóa HDWallet được hiển thị ở trên.

Từ Seed, khóa bí mật và Chain code được tạo ra và nhiều chỉ số được thêm vào nó để tạo ra khóa bí mật tiếp theo và kết hợp Chain code.

Ngoài khóa bí mật và khóa chung, còn có các từ khác chưa từng được đề cập trước đây như Seed – Chain code – Index.

Seed như được mô tả ở trên, là chuỗi là nguồn của toàn bộ ví này.

Chain Code giống như Seed ở cấp độ phía dưới nó. Nó cần thiết cho việc tạo cấp độ tiếp theo.

Index là số chỉ số lượng khóa bí mật con. Có thể được phân nhánh giữa các thế hệ giống nhau.

Phác thảo sơ lược trình tự của việc tạo địa chỉ HDWallet,

Tạo địa chỉ HDWallet

  • Tạo Seed
  • Tạo khóa chung con từ khóa bí mật con hoặc khóa chung gốc
  • Tạo địa chỉ Bitcoin từ khóa chung
  • Tạo khóa bí mật con và Chain code từ khóa chung gốc, Chain code và Index

Sau đây, chúng tôi sẽ giới thiệu cụ thể từng bước.

Tạo Seed

Tạo ra Seed là nguồn gốc của HDWallet. Seed được tạo bởi một trình tạo số ngẫu nhiên.

Bởi vì Seed chứa đựng nhiều phức tạp nên được biểu thị bởi một chuỗi rất dài.

Vì rất khó để ghi nhớ và ghi lại điều này, chúng tôi sẽ thay thế nó bằng một loạt các từ tiếng Anh và tiếng Nhật gọi là Mnemonic.

Tạo khóa bí mật và Chain code từ Seed

Seed được chuyển đổi thành chuỗi ký tự 512 bit bằng cách sử dụng hàm Hash có tên là HMAC-SHA512.

Tại thời điểm này, 256 bit đầu tiên được sử dụng làm khóa bí mật và 256 bit thứ hai được sử dụng làm mã chuỗi.

Tạo khóa chung con từ khóa bí mật con hoặc khóa chung gốc

Trong HDWallet, có hai cách để tạo khóa chung.

① Tạo khóa chung con từ khóa bí mật con.

Đây là trình tự thông thường.

Khóa chung được lấy từ khóa bí mật bằng cách sử dụng đường cong mật mã elip.

② Tạo khóa chung con từ khóa chung gốc

Điều này là ưu điểm của HDWallet. Khóa chung con có thể được lấy bằng khóa chung, Chain code và Index.

Bạn hãy chú ý đến phương pháp ②. Bạn không cần một khóa riêng. Nó được hiển thị dưới đây.

 

Bạn có thể tạo vô số địa chỉ Bitcoin nếu bạn có khóa chung mà không cần đặt khóa bí mật bên ngoài.

Có vẻ như điều này sẽ tạo ra thế hệ tiếp theo, nhưng địa chỉ chỉ để nhận.

Vì chuyển tiền yêu cầu chữ ký của khóa bí mật, nên cần phải tự tạo khóa bí mật theo cách khác.

Tạo địa chỉ Bitcoin từ khóa chung

Đây là trình tự thông thường.

Trong thực tế, một khóa chung có thể được cung cấp cho toàn thế giới như tên của nó.

Tuy nhiên, để giúp con người dễ đọc hơn, tránh sự mơ hồ và ngăn ngừa lỗi trong quá trình sao chép, nó được xử lý thành phiên bản mã hóa Hash một chiều. Đây là địa chỉ Bitcoin.

Tạo khóa bí mật con và Chain code con từ khóa chung gốc, Chain code và Index

​​Đây là ưu điểm lớn nhất của HDWallet. Chỉ định Index cho khóa chung gốc và Chain code, áp dụng hàm Hash và lấy khóa bí mật con và Chain code con.

 

Vì Index chỉ cho biết số lượng khóa trong tổng số khóa được tạo từ cùng khóa chung và Chain code, nên chỉ định nó ở đây.

Phương pháp này tạo một khóa bí mật con. Nếu bạn có khóa bí mật, bạn cũng có thể lấy khóa chung. Nói cách khác, quá trình này có nghĩa là tạo cấp độ tiếp theo.

Ưu điểm của HDWallet

Đến đây thì, chúng tôi đã giải thích cấu trúc và tổng quan về HD Wallet, nên tiếp theo chúng tôi sẽ giới thiệu mục đích và ưu điểm của nó.

Lưu trữ địa chỉ Bitcoin dễ dàng hơn

Mục đích của HDWallet hầu hết được tóm tắt ở đây.

Như đã đề cập ở trên, Seed là quyết định ngẫu nhiên duy nhất trong HDWallet. Tất cả các khóa bí mật được tạo tự động từ Seed, khóa chung và địa chỉ cũng được tạo từ chúng.

xTại Random Wallet, bạn phải nhớ tất cả các khóa bí mật của bạn. Tuy nhiên, trong HD Wallet, nếu bạn chỉ nhớ Seed, bạn có thể sao chép toàn bộ ví theo cùng một cách.

Bằng cách sử dụng Mnemonic như được mô tả ở trên, có thể giảm bớt khó khăn trong việc ghi nhớ Seed và giảm số lượng đối tượng cần quản lý.

Tự mình quản lý toàn bộ Ví trở nên cực kỳ dễ dàng.

Địa chỉ có thể được phân loại bằng cách sử dụng

​HDWallet sử dụng định dạng cụm mật khẩu để xác định từng địa chỉ.

Mặc dù chúng tôi không đề cập chi tiết ở đây, chúng tôi đặc biệt đề cập đến mục đích, loại tiền và Index theo các tiêu chuẩn như BIP33 và BIP44 và địa chỉ.

Bằng cách sử dụng cụm mật khẩu, bạn có thể phân loại địa chỉ theo cách sử dụng của chúng.

Đa chức năng có thể được trao cho HDWallet từ một Seed.

Hạn chế của HDWallet

Mặc dù HD Wallet cực kỳ dễ quản lý, nhưng nó vốn dĩ có nhược điểm về bảo mật.

Nếu bị lộ Seed thì có thể bị đánh cắp

​Random Wallet đã chuẩn bị một số lượng lớn các khóa bí mật một cách độc lập và làm cho mỗi người một ví nhỏ được khóa bằng một khóa bí mật.

HDWallet giống như một chiếc ví lớn bị khóa bởi Seed. Nếu Seed bị đánh cắp, toàn bộ nội dung của ví sẽ bị đánh cắp.

Toàn bộ sẽ bị đóng băng nếu đánh mất Seed

Khi sử dụng HDWallet, bạn có thể muốn nhớ những thứ để tìm kiếm Seed như cụm từ phục hồi. Tuy nhiên, tôi không nghĩ rằng chúng sẽ giữ khóa bí mật.

Do đó, nếu bạn quên Seed hoặc cụm từ khôi phục thì một phần của ví cũng không thể được phục hồi.

Tặng kèm: Ví tiền điện tử được đề xuất

Chúng tôi đã giải thích cấu tạo của ví, nhưng đây là một trong những HD Wallet được khuyến nghị đặc biệt!

LedgerNano S:Bảo mật vượt trội của Hardware Wallet

LedgerNano S là một ví được gọi là Hardware Wallet, ví có thể lưu trữ Bitcoin ngoại tuyến.

Vì khóa bí mật được lưu trữ trong phần cứng, nó tự hào có tính bảo mật vượt trội.

Cùng với đó, khi sử dụng LedgerNano S, bạn sẽ ghi lại chuỗi các từ tiếng Anh dưới dạng cụm từ khôi phục. Cụm từ phục hồi này là Mnemonic.

Bạn có thể sử dụng điều này để yêu cầu Seed và khôi phục toàn bộ ví.


Tổng kết

​​Trong bài viết này, chúng tôi đã tóm tắt về HDWallet là hệ thống ví chủ yếu hiện nay.

Tất nhiên, bạn có thể sử dụng nó một cách thuận tiện mà không cần biết bất kỳ nền tảng kỹ thuật nào.

Nhưng sau đó, khi sự cố xảy ra, nếu không biết gì cả thì bạn sẽ không thể đối ứng kịp thời và điều này là rất nguy hiểm.

Biết về nền tảng để bạn có thể đưa ra quyết định và hành động đúng đắn!