Thách thức lớn nhất trong quản lý Bitcoin: vai trò của khóa riêng và BIP39

Giá trị cốt lõi của Bitcoin tập trung vào cách quản lý khóa riêng một cách thích hợp. Nếu mất khóa này, quyền truy cập vào Bitcoin cũng sẽ mất theo. Câu ngạn ngữ thường nói “Không có chìa khóa, không có coin” tượng trưng cho tính tự chủ của Bitcoin.

Bitcoin tồn tại ở đâu

Điểm khó hiểu đối với những người không rành về công nghệ là, Bitcoin tồn tại ở “đâu”. Theo cảm giác thông thường, ví (wallet) giống như một chiếc hộp để giữ tiền. Tuy nhiên, thực tế ví không giữ Bitcoin tự thân. Nó chỉ giữ khóa riêng.

Thực chất của Bitcoin chỉ là các mục dữ liệu trên blockchain do tất cả các nút mạng lưu trữ. Việc sử dụng Bitcoin tương đương với việc đề xuất cập nhật dữ liệu đã ghi trên blockchain. Khóa riêng là công cụ để chứng minh rằng chỉ chủ sở hữu mới có thể phê duyệt việc cập nhật dữ liệu đó.

Bản chất của khóa riêng: Một số lớn cực kỳ lớn

Khóa riêng về cơ bản là một số cực kỳ lớn gồm 256 bit, được tạo ngẫu nhiên. Dưới dạng nhị phân, nó như sau:

1110001011011001011110111100000101000000100010011110101110110101110111001111111111111010101110100101110100111010011100101001 101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100011000111101101001001111011010101010110011011010

Sự ngẫu nhiên tuyệt đối này là nền tảng của bảo mật ví. Số tổ hợp có thể của khóa riêng Bitcoin gần như bằng số nguyên tử trong vũ trụ quan sát được. Do đó, nếu được tạo ra bằng quá trình ngẫu nhiên thực sự, khóa riêng về bản chất là an toàn.

Các dạng biểu diễn của khóa riêng

Khóa riêng cùng một lúc có thể được biểu diễn theo nhiều mã hóa khác nhau.

Trong hệ thập lục phân: E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A

Trong định dạng nhập ví (WIF): 5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G

WIF từng là tiêu chuẩn để trao đổi khóa riêng trong thời kỳ Bitcoin mới ra đời. Thời đó, người dùng tạo ra một khóa riêng, sau đó suy ra khóa công khai từ đó.

Cơ chế tạo khóa công khai

Quá trình tạo khóa công khai từ khóa riêng chủ yếu là phép nhân với một số cực lớn. Elliptic Curve Cryptography Secp256k1 của Bitcoin có điểm đặc biệt gọi là “điểm sinh” (generator point). Đây là điểm gốc của đường cong Secp256k1, không thể thiếu trong quá trình tạo khóa và ký.

Điểm sinh G như sau: G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

Nhân khóa riêng với điểm sinh, ta sẽ tạo ra một điểm mới trên đồ thị. Đây chính là khóa công khai, có mối liên hệ toán học với khóa riêng của bạn.

Khóa công khai dạng không nén: 04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED

Để tối ưu dữ liệu, khóa công khai cũng có thể được “nén”. Phương pháp này chỉ giữ lại 1 byte thể hiện dấu của x và y.

Cơ chế ký giao dịch

Khi ký giao dịch bằng khóa riêng, về cơ bản cũng là phép nhân. Ví (ví tiền) sẽ tạo ra một nonce (số ngẫu nhiên), sau đó dùng khóa riêng và hash của giao dịch để tính toán, tạo ra chữ ký (gồm 2 giá trị r và S).

Chữ ký này cho phép mọi người xác minh rằng, không cần tiết lộ khóa riêng, mà vẫn ký hợp lệ bằng khóa chính đáng. Quyền sử dụng Bitcoin về bản chất là phép toán nhân số lớn, một phép toán toán học.

BIP39: Giải pháp thân thiện với người dùng

Những nội dung trên quá phức tạp đối với người không quen thuộc công nghệ tiền mã hóa. Nhị phân, thập lục phân, điểm trên đường cong — tất cả đều đòi hỏi phải hiểu cùng lúc. Đặc biệt, vấn đề thực tiễn là làm thế nào để sao lưu khóa riêng một cách an toàn, là nỗi lo của nhiều người dùng.

Để giải quyết, đã phát triển phương pháp trực quan và an toàn hơn. Đó chính là seed phrase (danh sách từ khóa mnemonic).

Seed phrase theo BIP39 là gì

Vấn đề của seed mnemonic là việc sao chép và ghi lại chuỗi 256 bit gồm 1 và 0 gặp khó khăn. Chỉ một lỗi nhỏ cũng có thể làm mất khả năng khôi phục:

1110001011011001011110111100000101000000100010011110101110110101110111001111111111111010101110100101110100111010011100101001 101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100011000111101101001001111011010101010110011011010

Thay vì một chuỗi số phức tạp như vậy, cần có biểu diễn dễ xử lý hơn cho con người.

Ví dụ seed mnemonic: Tractor Cập Nhật Giận Dồi Dào Nhớ Lấy Laptop Cải Cách Chi Tiết Phân Chia Buồn Bởi Mỡ

Chỉ 12 từ, cực kỳ dễ thao tác. Vậy, làm thế nào để chuyển đổi từ tập hợp các 1 và 0 ngẫu nhiên thành các từ có ý nghĩa?

Cơ chế mã hóa theo BIP39

Tương tự như nhị phân hay thập lục phân, scheme mã hóa được sử dụng. Mỗi từ trong seed mnemonic là kết quả của một phương pháp mã hóa ánh xạ chuỗi ký tự 1 và 0 thành các từ trong từ điển.

Trong BIP39, một phương pháp mã hóa chuẩn đã được đưa vào. Mỗi từ trong danh sách từ điển đặc biệt này được ánh xạ tới một số nhị phân từ 00000000001 đến 11111111111 theo thứ tự alphabet.

Ví dụ ánh xạ seed mẫu:

  • Trucker: 11101001001
  • Update: 10110110001
  • Anger: 01011110011
  • Donkey: 01000001001
  • Remind: 10110101110
  • Laptop: 01111101000
  • Reform: 10110100010
  • Details: 00111100010
  • Split: 11010010001
  • Sadness: 01100110100
  • Reason: 00010011110
  • Bold: 01010011011

Dưới dạng nhị phân: 11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 00010011110 01010011011

2048 từ và hệ 11 bit

Trong BIP39, có 2048 từ, mỗi từ ánh xạ tới 11 bit 1 và 0. Điều này giúp người dùng dễ thao tác với khóa riêng hơn.

Khi tạo ra một số ngẫu nhiên từ khóa riêng, ví sẽ chia số đó thành các đoạn 11 bit, rồi ánh xạ qua từ điển BIP39 thành các từ tiếng Anh dễ đọc. Chính vì thế, chuỗi dài 1 và 0 sẽ biến thành một dãy từ dễ nhớ hơn nhiều. Cách này giúp giảm thiểu rủi ro mất Bitcoin do ghi nhầm.

Cơ chế kiểm tra checksum

Quan sát mã nhị phân, ta thấy từ cuối cùng chỉ có 8 bit. Đây chính là checksum để xác nhận tính hợp lệ của seed phrase.

Khi tạo ra khóa, số bit cần thiết để ánh xạ chính xác 12 (hoặc 24) từ vào seed không đủ. Ví sẽ băm số đã có, lấy phần đầu của hash để thêm vào cuối của khóa, đảm bảo đủ số bit để ánh xạ thành từ cuối cùng.

Nhờ checksum này, ta có thể xác minh tính chính xác của seed. Nếu nhập sai seed mnemonic, checksum sẽ không khớp. Mỗi seed (12 hoặc 24 từ) có thể có nhiều checksum hợp lệ, nhưng nếu từ cuối không khớp với checksum của seed đúng, ví sẽ cảnh báo là không hợp lệ.

Khác với việc ghi lại số nhị phân dài dòng, phương pháp này trực quan và an toàn về mặt toán học.

Cách chọn từ

Danh sách 2048 từ trong BIP39 được chọn cẩn thận để tránh các từ có 4 ký tự đầu giống nhau, nhằm giảm khả năng nhầm lẫn khi ghi lại, gây lỗi và làm hỏng bản sao lưu khóa.

Từ seed mnemonic tạo ra nhiều cặp khóa

Quá trình tạo nhiều khóa riêng và khóa công khai từ seed mnemonic cực kỳ đơn giản.

Seed mnemonic được băm bằng SHA512, tạo ra 512 bit nhị phân. Nửa đầu là khóa riêng, nửa sau dùng làm chỉ số và kết hợp với khóa riêng hoặc công khai hiện có để tạo ra các cặp khóa mới. Quá trình này lặp lại, từ một seed mnemonic, có thể tạo ra vô số cặp khóa mới, không giới hạn.

Những đột phá của BIP39

Nhờ các cơ chế này, người dùng có thể quản lý khóa riêng một cách đơn giản, an toàn, đồng thời giảm thiểu rủi ro mất tài sản do lỗi. Tất cả đều dựa trên toán học.

Lý do Bitcoin được gọi là “tiền được bảo vệ bằng toán học” giờ đây đã rõ ràng hơn. BIP39 là một phát minh quan trọng trong hệ sinh thái Bitcoin, thể hiện sự kết hợp giữa tính toán chính xác và thân thiện với người dùng.

BTC4,55%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Đăng lại
  • Retweed
Bình luận
0/400
Không có bình luận
  • Ghim