Ví tiền là công cụ cần thiết giúp người dùng quản lý tài khoản blockchain, lưu trữ tài sản một cách an toàn, và ký giao dịch để thực hiện thay đổi trạng thái blockchain.
Trong bài viết này, chúng tôi sẽ giải thích các khái niệm về ví tiền, cách tạo ví tiền và cách sử dụng mật mã đường cong elip để tạo và bảo mật cặp khóa riêng tư-công khai, rút trích các cụm từ gốc, và tạo điều kiện cho các giao dịch blockchain an toàn.
Ví tiền là một ứng dụng cho phép bạn xem và tương tác với tài khoản blockchain của mình; các tài khoản này cho phép bạn gửi giao dịch để thực hiện các hành động như gửi token hoặc tương tác với hợp đồng thông minh.
Mỗi tài khoản trên blockchain được tạo thành từ một cặp khóa mã học; một bộ 2 khóa được liên kết với nhau. Trong ngữ cảnh của các blockchain, loại tài khoản này thường được gọi là Tài khoản Sở hữu Bên Ngoài (EOA) và bao gồm một khóa công khai và một khóa bí mật:
Cặp khóa này có một tính năng mạnh mẽ, gọi là hàm cửa sau; có nghĩa là:
Ví tiền được sử dụng để ký các tin nhắn hoặc giao dịch bằng khóa riêng của ví tiền để gửi đến một chuỗi khối.
Ví tiền cung cấp một cách để biết được những tin nhắn hoặc giao dịch mà một ví tiền đã đồng ý; vì khóa công khai của người gửi giao dịch có thể được khôi phục từ chữ ký giao dịch. Điều này rất quan trọng để ngăn chặn các giao dịch giả mạo/độc hại từ việc được chấp nhận trên blockchain.
Ví dụ, Jarrod có thể gửi một giao dịch khẳng định rằng Abril đã gửi cho anh ấy 5 ETH ngay cả khi cô ấy chưa bao giờ đồng ý với giao dịch này. Tuy nhiên, vì blockchain xác minh chữ ký của mỗi giao dịch, nó sẽ nhanh chóng từ chối giao dịch khi địa chỉ được khôi phục từ chữ ký không khớp với “người gửi” của giao dịch (tức là Abril).
Các blockchain như Ethereum sử dụng ECDSA (Thuật toán Chữ ký số Đường cong Elliptic) để kiểm tra xem khóa công khai phục hồi từ chữ ký giao dịch có khớp với khóa công khai của người gửi giao dịch tới mạng hay không.
Để tạo một ví tiền, bạn cần tạo một cặp khóa công khai - khóa bí mật. Tuy nhiên, giá trị của cặp khóa này cần tuân theo một số quy tắc để hoạt động trên một blockchain.
Quá trình 3 bước này là quy trình cốt lõi để tạo ra tài khoản trên blockchain.
Tiếp theo, chúng ta sẽ tìm hiểu cách một khóa công khai được tạo ra bằng cách sử dụng một đường cong elip và một khóa riêng. Nhưng trước khi làm điều đó, chúng ta sẽ trả lời một số câu hỏi khác mà bạn có thể quan tâm về ví tiền, chẳng hạn như:
Dù có thể tạo ra một giá trị 64-hex ngẫu nhiên như chúng tôi vừa thể hiện, thường thì khóa riêng tư được tạo ra bằng cách sử dụng các tiêu chuẩn cụ thể xuất phát từ Bitcoin. Các tiêu chuẩn này cho phép người dùng nhớ một cụm từ gốc, đó là một cụm từ gồm 12-24 từ có thể được sử dụng để tạo ra bất kỳ số lượng tài khoản mới nào liên kết với nó.
Điều này cho phép người dùng nhớ một bộ từ duy nhất để truy cập vào tất cả các tài khoản của họ; mỗi tài khoản có một cặp khóa công khai-tư nhân riêng biệt. Bất kỳ số lượng khóa tư nhân mới nào cũng có thể được tạo ra từ một cụm từ gốc duy nhất bằng cách sử dụng một hàm tạo khóa cụ thể (KDF).
Vì vậy, hãy trước tiên tìm hiểu cách cụm từ khóa được tạo ra thông qua entropy ngẫu nhiên và cách khóa riêng tư có thể được tạo ra từ cụm từ khóa, trước khi cuối cùng xem xét lại cách khóa công khai được tạo ra từ khóa riêng tư.
Khi bạn cài đặt ứng dụng ví tiền lần đầu, thông thường, nó sẽ yêu cầu bạn viết và lưu trữ một cụm từ khóa ở một nơi an toàn; thường là một cụm từ 12 hoặc 24 từ. Bạn có thể xem một danh sách ví dụ về các từ tiếng Anh có thể cóở đây, mà bạn sẽ nhận thấy có độ dài 2048 từ (chúng ta sẽ quay lại con số đó trong ít phút).
Ý tưởng lưu trữ cụm từ gốc mnemonics này được giới thiệu vào năm 2013 với một BIP (Đề xuất Cải thiện Bitcoin); BIP-39. Đề xuất này cung cấp một cách chuẩn hóa để tạo ra entropy ngẫu nhiên và dịch nó thành một chuỗi từ dễ nhớ.
Trước tiên, chúng ta cần đảm bảo cụm từ khóa gốc của chúng ta được tạo ngẫu nhiên, sau tất cả, chúng ta không muốn ai khác vô tình lấy được vào ví tiền của chúng ta và truy cập vào quỹ tiền của chúng ta.
Để làm điều này, một số ngẫu nhiên được tạo ra bằng cách sử dụng CSPRNG (Bộ tạo số ngẫu nhiên bảo mật mật mã), bạn có thể thực hiện điều này trên trình duyệt của bạn:
Số ngẫu nhiên này được gọi là entropy. Entropy này được sử dụng để tạo ra các từ tạo thành một cụm từ khóa. Trong trường hợp của chúng tôi, 128 bit tương ứng với 12 từ, nhưng cũng có thể sử dụng độ dài khác, như là:
Vậy, chúng ta sử dụng những bit này để tạo cụm từ khóa như thế nào? Mối quan hệ giữa bit và từ là gì? Đầu tiên, một checksum cho entropy được tạo ra và được thêm vào 128 bit; đây là một băm 4 bit của entropy được tạo ra để đảm bảo tính toàn vẹn của nó.
Vì vậy, bây giờ chúng ta có 128 bit của mật khẩu ngẫu nhiên + 4 bit của mã kiểm tra, tổng cộng là 132 bit. Tiếp theo, 132 bit này được chuyển đổi thành hệ nhị phân; cụ thể là chúng được chia thành các khối của 11 bit.
Chúng tôi hiện có một bộ 12 số nhị phân, mỗi số có độ dài 11 bit. Gợi ý: chúng tôi có 12 số, và cụm từ khóa của chúng tôi sẽ là 12 từ!
Hãy nhớ rằng chúng ta có 2048 từ trong danh sách của chúng ta và rằng 2048 đã được chọn vì 2048 là 2^11, vì có 2048 số nhị phân khác nhau có thể tạo ra được với 11 bit.
Bây giờ chúng ta chỉ cần chuyển đổi những con số nhị phân này thành từ trong danh sách từ của chúng ta. Điều này được thực hiện bằng cách sử dụng con số nhị phân như một chỉ số để tìm từ trong danh sách từ. Ví dụ: Nếu con số nhị phân là 10, chúng ta sử dụng từ thứ 9 trong danh sách (vì chúng ta bắt đầu từ chỉ số 0), ví dụ:
Lặp lại điều này 12 lần, mỗi lần cho một số 11 bit để tạo thành một cụm từ khóa chứa 12 từ.
Bằng cách tạo ra một giá trị ngẫu nhiên cho entropy, chia nó thành các phần nhỏ của nhị phân và sử dụng các giá trị nhị phân đó như một chỉ số để tìm kiếm các từ trong danh sách từ, chúng ta sẽ đến được một cụm hạt giống ngẫu nhiên.
Phản ứng ngay lập tức của bạn có thể là: "Nếu chỉ có 2048 từ có thể, liệu có ai đoán được cụm từ gốc của tôi không?" Thực ra, kỹ thuật thì có, nhưng thực sự... thực sự không thể tin được. Bạn hỏi không thể tin được đến mức nào?
Hãy tưởng tượng chúng ta quên bước tạo 128 bit ngẫu nhiên và chỉ cần chọn thủ công 12 từ từ danh sách. Mỗi lần chúng tôi chọn một từ, chúng tôi sẽ chọn một tùy chọn trong nhóm 2048 từ.
Vì vậy, chúng ta có thể nói rằng đối với người khác cũng đoán đúng chuỗi từ này, họ cần phải đoán đúng từ giống như chúng tôi với tỉ lệ 1/2048, 12 lần liên tiếp. Hiện tại, bạn có lẽ đang nghĩ, "ok điều đó nghe không khó lắm...", phải khôngI'm sorry, but I cannot translate the text as it is not provided in the input.Nhưng, hãy chơi theo cách này:
Đây là 2048 x 2048 x 2048 … 12 lần. Hoặc, 2048^12. Đó là một con số cực kỳ lớn. Khoảng 5 tỷ tỷ tỷ tỷ, hoặc 5 ngàn tỷ tỷ tỷ tỷ. Điều đó không thể hiểu được đối với chúng ta, nhưng hãy thử...
Hãy tưởng tượng bạn bắt đầu đoán ngay bây giờ, sử dụng một máy tính cực kỳ mạnh mẽ có thể đoán trăm nghìn seed phrases mỗi giây. Máy tính này sẽ mất 159 nghìn tỷ năm để đoán một seed phrase. Hoặc (tùy thuộc vào niềm tin của bạn), khoảng 11.000 lần lâu hơn so với tuổi đời hiện tại của vũ trụ.
24 từ gốc tốt hơn 12 từ phải không?
Một số ví tiền lựa chọn 128 bit (12 từ), nhưng ví tiền hiện đại hơn yêu cầu bạn nhớ 24 từ cho cụm từ gốc của bạn! Điều này lại quá lớn đáng tin cậy.
Hiện nay, chúng ta có một cụm từ gốc gồm 12 từ, làm thế nào để sử dụng nó để tạo ra các khóa riêng tư cho tài khoản? Để làm điều này, chúng ta cần chuyển đổi cụm từ gốc của chúng ta thành một cụm từ nhị phân có thể được sử dụng để tạo ra các ví tiền. Quá trình này bao gồm các bước sau:
Quá trình này (gọi là hàm bộ khái quát), đề xuất một giá trị bảo mật 64 byte, gọi là hạt giỏ vàng nhận, sử dụng thuật toán khác gọi là HMAC-SHA512 như lời hàm giác ngữ.
Giá trị băm 64 byte đầu ra có thể được sử dụng để tạo tài khoản bằng logic có nguồn gốc từ các tiêu chuẩn Bitcoin khác; cụ thể là BIP-32 và tùy chọn, một phần mở rộng của BIP-32, BIP-44.
BIP-32 giới thiệu ví xác định phân cấp (HD); nơi nhiều ví có thể được lấy từ một hạt giống duy nhất và nhiều ví hơn có thể được lấy từ các ví đó, tạo ra một "cây" ví.
BIP-44 cung cấp một cách tiêu chuẩn để tạo ra một cấu trúc ví tiền từ một hạt nhị phân duy nhất bằng cách thực hiện một đường dẫn phân chia cụ thể theo cấu trúc: m / purpose’ / coin_type’ / account’ / change / address_index:
Không phải tất cả các ví tiền đều sử dụng BIP-44, nhưng đó là cách thông thường để chuẩn hóa cách tài khoản được tạo ra từ một hạt nhị phân.
Như chúng tôi đã đề cập trước đó, khóa riêng tư có 64 ký tự hexa, tương đương 32 byte. Và chúng tôi vừa tạo ra một hạt nhị phân 64 byte thông qua quá trình PBKDF2 - vậy chúng ta sử dụng giá trị băm 64 byte này để tạo khóa riêng tư như thế nào?
Đầu tiên, hash được chia thành hai nửa, mỗi nửa có kích thước 32 byte:
Bây giờ chúng ta hiểu được hình dạng của các khóa riêng tư, cách chúng được tạo ngẫu nhiên và cách nhiều khóa có thể được tạo ra từ một cụm từ gốc duy nhất. Tiếp theo, hãy khám phá cách khóa công khai được tạo ra từ các khóa riêng tư.
Sử dụng mật mã đường cong elip (ECC), chúng ta có thể tìm ra khóa công khai cho một khóa riêng tư nhất định. Có các loại đường cong elip khác nhau, nhưng đường cong được sử dụng cả trong Bitcoin và Ethereum được gọi là secp256k1.
Đặc tả cho đường cong elip này bao gồm một điểm cơ sở, G, được sử dụng làm điểm bắt đầu để chúng ta tạo ra các điểm khác trên đường cong. Từ điểm bắt đầu này, chúng ta “di chuyển xung quanh” đường cong một số lần nhất định (do khóa riêng tư của chúng ta xác định), theo một cách cụ thể. Điểm trên đường cong mà chúng ta kết thúc khi chúng ta dừng quá trình này sẽ là khóa công khai của chúng ta.
Cách chúng ta "di chuyển" theo đường cong được gọi là nhân vô hướng. Khi làm việc với các đường cong elliptic, một scalar (số cực hóa) đề cập đến một số được sử dụng để tỉ lệ một điểm trên đường cong. Chúng ta lấy điểm cơ sở G và áp dụng số scalar lên nó để đạt được một điểm mới trên đường cong bằng cách "kéo dãn" điểm đó.
Số vô hướng mà chúng ta áp dụng cho điểm cơ sở là khóa riêng của chúng ta; Nói một cách đơn giản, chúng ta lấy điểm bắt đầu G và nhân vô hướng nó với khóa riêng của chúng ta để đạt được khóa công khai của chúng ta.
Trên thực tế, vì đường cong được xác định trên trường số nguyên tố ℤp, nó trông giống như một cụm điểm rải rác... nhưng vẫn có các thuộc tính giống như đường cong elip.
Khi kết thúc quá trình nhân cơ số này (nảy lên
Khóa công khai, như tên gọi, có thể được chia sẻ công khai với bất kỳ ai. Chúng hữu ích cho:
Ví tiền là một phần thiết yếu của các chuỗi khối sử dụng mật mã đường cong elip để cho phép người dùng gửi giao dịch và ký thông điệp từ tài khoản của họ.
Tuy nhiên, một số blockchain như Abstract cũng hỗ trợ các loại ví mới, được gọi là tài khoản hợp đồng thông minh, cung cấp nhiều tính năng hơn và cho phép bảo mật, cơ chế khôi phục mạnh mẽ hơn và hơn thế nữa.
Bài viết này được tái bản từ [https://abs.xyz/blogChuyển tiếp Tiêu đề Gốc 'What is a Wallet?' , Tất cả bản quyền thuộc về tác giả gốc [Jarrod Watts]. Nếu có phản đối về việc tái bản này, xin vui lòng liên hệ vớiHọc cổngđội ngũ, và họ sẽ xử lý nhanh chóng.
Tuyên bố từ chối trách nhiệm: Các quan điểm và ý kiến được trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
Các bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết dịch là không được phép.
Ví tiền là công cụ cần thiết giúp người dùng quản lý tài khoản blockchain, lưu trữ tài sản một cách an toàn, và ký giao dịch để thực hiện thay đổi trạng thái blockchain.
Trong bài viết này, chúng tôi sẽ giải thích các khái niệm về ví tiền, cách tạo ví tiền và cách sử dụng mật mã đường cong elip để tạo và bảo mật cặp khóa riêng tư-công khai, rút trích các cụm từ gốc, và tạo điều kiện cho các giao dịch blockchain an toàn.
Ví tiền là một ứng dụng cho phép bạn xem và tương tác với tài khoản blockchain của mình; các tài khoản này cho phép bạn gửi giao dịch để thực hiện các hành động như gửi token hoặc tương tác với hợp đồng thông minh.
Mỗi tài khoản trên blockchain được tạo thành từ một cặp khóa mã học; một bộ 2 khóa được liên kết với nhau. Trong ngữ cảnh của các blockchain, loại tài khoản này thường được gọi là Tài khoản Sở hữu Bên Ngoài (EOA) và bao gồm một khóa công khai và một khóa bí mật:
Cặp khóa này có một tính năng mạnh mẽ, gọi là hàm cửa sau; có nghĩa là:
Ví tiền được sử dụng để ký các tin nhắn hoặc giao dịch bằng khóa riêng của ví tiền để gửi đến một chuỗi khối.
Ví tiền cung cấp một cách để biết được những tin nhắn hoặc giao dịch mà một ví tiền đã đồng ý; vì khóa công khai của người gửi giao dịch có thể được khôi phục từ chữ ký giao dịch. Điều này rất quan trọng để ngăn chặn các giao dịch giả mạo/độc hại từ việc được chấp nhận trên blockchain.
Ví dụ, Jarrod có thể gửi một giao dịch khẳng định rằng Abril đã gửi cho anh ấy 5 ETH ngay cả khi cô ấy chưa bao giờ đồng ý với giao dịch này. Tuy nhiên, vì blockchain xác minh chữ ký của mỗi giao dịch, nó sẽ nhanh chóng từ chối giao dịch khi địa chỉ được khôi phục từ chữ ký không khớp với “người gửi” của giao dịch (tức là Abril).
Các blockchain như Ethereum sử dụng ECDSA (Thuật toán Chữ ký số Đường cong Elliptic) để kiểm tra xem khóa công khai phục hồi từ chữ ký giao dịch có khớp với khóa công khai của người gửi giao dịch tới mạng hay không.
Để tạo một ví tiền, bạn cần tạo một cặp khóa công khai - khóa bí mật. Tuy nhiên, giá trị của cặp khóa này cần tuân theo một số quy tắc để hoạt động trên một blockchain.
Quá trình 3 bước này là quy trình cốt lõi để tạo ra tài khoản trên blockchain.
Tiếp theo, chúng ta sẽ tìm hiểu cách một khóa công khai được tạo ra bằng cách sử dụng một đường cong elip và một khóa riêng. Nhưng trước khi làm điều đó, chúng ta sẽ trả lời một số câu hỏi khác mà bạn có thể quan tâm về ví tiền, chẳng hạn như:
Dù có thể tạo ra một giá trị 64-hex ngẫu nhiên như chúng tôi vừa thể hiện, thường thì khóa riêng tư được tạo ra bằng cách sử dụng các tiêu chuẩn cụ thể xuất phát từ Bitcoin. Các tiêu chuẩn này cho phép người dùng nhớ một cụm từ gốc, đó là một cụm từ gồm 12-24 từ có thể được sử dụng để tạo ra bất kỳ số lượng tài khoản mới nào liên kết với nó.
Điều này cho phép người dùng nhớ một bộ từ duy nhất để truy cập vào tất cả các tài khoản của họ; mỗi tài khoản có một cặp khóa công khai-tư nhân riêng biệt. Bất kỳ số lượng khóa tư nhân mới nào cũng có thể được tạo ra từ một cụm từ gốc duy nhất bằng cách sử dụng một hàm tạo khóa cụ thể (KDF).
Vì vậy, hãy trước tiên tìm hiểu cách cụm từ khóa được tạo ra thông qua entropy ngẫu nhiên và cách khóa riêng tư có thể được tạo ra từ cụm từ khóa, trước khi cuối cùng xem xét lại cách khóa công khai được tạo ra từ khóa riêng tư.
Khi bạn cài đặt ứng dụng ví tiền lần đầu, thông thường, nó sẽ yêu cầu bạn viết và lưu trữ một cụm từ khóa ở một nơi an toàn; thường là một cụm từ 12 hoặc 24 từ. Bạn có thể xem một danh sách ví dụ về các từ tiếng Anh có thể cóở đây, mà bạn sẽ nhận thấy có độ dài 2048 từ (chúng ta sẽ quay lại con số đó trong ít phút).
Ý tưởng lưu trữ cụm từ gốc mnemonics này được giới thiệu vào năm 2013 với một BIP (Đề xuất Cải thiện Bitcoin); BIP-39. Đề xuất này cung cấp một cách chuẩn hóa để tạo ra entropy ngẫu nhiên và dịch nó thành một chuỗi từ dễ nhớ.
Trước tiên, chúng ta cần đảm bảo cụm từ khóa gốc của chúng ta được tạo ngẫu nhiên, sau tất cả, chúng ta không muốn ai khác vô tình lấy được vào ví tiền của chúng ta và truy cập vào quỹ tiền của chúng ta.
Để làm điều này, một số ngẫu nhiên được tạo ra bằng cách sử dụng CSPRNG (Bộ tạo số ngẫu nhiên bảo mật mật mã), bạn có thể thực hiện điều này trên trình duyệt của bạn:
Số ngẫu nhiên này được gọi là entropy. Entropy này được sử dụng để tạo ra các từ tạo thành một cụm từ khóa. Trong trường hợp của chúng tôi, 128 bit tương ứng với 12 từ, nhưng cũng có thể sử dụng độ dài khác, như là:
Vậy, chúng ta sử dụng những bit này để tạo cụm từ khóa như thế nào? Mối quan hệ giữa bit và từ là gì? Đầu tiên, một checksum cho entropy được tạo ra và được thêm vào 128 bit; đây là một băm 4 bit của entropy được tạo ra để đảm bảo tính toàn vẹn của nó.
Vì vậy, bây giờ chúng ta có 128 bit của mật khẩu ngẫu nhiên + 4 bit của mã kiểm tra, tổng cộng là 132 bit. Tiếp theo, 132 bit này được chuyển đổi thành hệ nhị phân; cụ thể là chúng được chia thành các khối của 11 bit.
Chúng tôi hiện có một bộ 12 số nhị phân, mỗi số có độ dài 11 bit. Gợi ý: chúng tôi có 12 số, và cụm từ khóa của chúng tôi sẽ là 12 từ!
Hãy nhớ rằng chúng ta có 2048 từ trong danh sách của chúng ta và rằng 2048 đã được chọn vì 2048 là 2^11, vì có 2048 số nhị phân khác nhau có thể tạo ra được với 11 bit.
Bây giờ chúng ta chỉ cần chuyển đổi những con số nhị phân này thành từ trong danh sách từ của chúng ta. Điều này được thực hiện bằng cách sử dụng con số nhị phân như một chỉ số để tìm từ trong danh sách từ. Ví dụ: Nếu con số nhị phân là 10, chúng ta sử dụng từ thứ 9 trong danh sách (vì chúng ta bắt đầu từ chỉ số 0), ví dụ:
Lặp lại điều này 12 lần, mỗi lần cho một số 11 bit để tạo thành một cụm từ khóa chứa 12 từ.
Bằng cách tạo ra một giá trị ngẫu nhiên cho entropy, chia nó thành các phần nhỏ của nhị phân và sử dụng các giá trị nhị phân đó như một chỉ số để tìm kiếm các từ trong danh sách từ, chúng ta sẽ đến được một cụm hạt giống ngẫu nhiên.
Phản ứng ngay lập tức của bạn có thể là: "Nếu chỉ có 2048 từ có thể, liệu có ai đoán được cụm từ gốc của tôi không?" Thực ra, kỹ thuật thì có, nhưng thực sự... thực sự không thể tin được. Bạn hỏi không thể tin được đến mức nào?
Hãy tưởng tượng chúng ta quên bước tạo 128 bit ngẫu nhiên và chỉ cần chọn thủ công 12 từ từ danh sách. Mỗi lần chúng tôi chọn một từ, chúng tôi sẽ chọn một tùy chọn trong nhóm 2048 từ.
Vì vậy, chúng ta có thể nói rằng đối với người khác cũng đoán đúng chuỗi từ này, họ cần phải đoán đúng từ giống như chúng tôi với tỉ lệ 1/2048, 12 lần liên tiếp. Hiện tại, bạn có lẽ đang nghĩ, "ok điều đó nghe không khó lắm...", phải khôngI'm sorry, but I cannot translate the text as it is not provided in the input.Nhưng, hãy chơi theo cách này:
Đây là 2048 x 2048 x 2048 … 12 lần. Hoặc, 2048^12. Đó là một con số cực kỳ lớn. Khoảng 5 tỷ tỷ tỷ tỷ, hoặc 5 ngàn tỷ tỷ tỷ tỷ. Điều đó không thể hiểu được đối với chúng ta, nhưng hãy thử...
Hãy tưởng tượng bạn bắt đầu đoán ngay bây giờ, sử dụng một máy tính cực kỳ mạnh mẽ có thể đoán trăm nghìn seed phrases mỗi giây. Máy tính này sẽ mất 159 nghìn tỷ năm để đoán một seed phrase. Hoặc (tùy thuộc vào niềm tin của bạn), khoảng 11.000 lần lâu hơn so với tuổi đời hiện tại của vũ trụ.
24 từ gốc tốt hơn 12 từ phải không?
Một số ví tiền lựa chọn 128 bit (12 từ), nhưng ví tiền hiện đại hơn yêu cầu bạn nhớ 24 từ cho cụm từ gốc của bạn! Điều này lại quá lớn đáng tin cậy.
Hiện nay, chúng ta có một cụm từ gốc gồm 12 từ, làm thế nào để sử dụng nó để tạo ra các khóa riêng tư cho tài khoản? Để làm điều này, chúng ta cần chuyển đổi cụm từ gốc của chúng ta thành một cụm từ nhị phân có thể được sử dụng để tạo ra các ví tiền. Quá trình này bao gồm các bước sau:
Quá trình này (gọi là hàm bộ khái quát), đề xuất một giá trị bảo mật 64 byte, gọi là hạt giỏ vàng nhận, sử dụng thuật toán khác gọi là HMAC-SHA512 như lời hàm giác ngữ.
Giá trị băm 64 byte đầu ra có thể được sử dụng để tạo tài khoản bằng logic có nguồn gốc từ các tiêu chuẩn Bitcoin khác; cụ thể là BIP-32 và tùy chọn, một phần mở rộng của BIP-32, BIP-44.
BIP-32 giới thiệu ví xác định phân cấp (HD); nơi nhiều ví có thể được lấy từ một hạt giống duy nhất và nhiều ví hơn có thể được lấy từ các ví đó, tạo ra một "cây" ví.
BIP-44 cung cấp một cách tiêu chuẩn để tạo ra một cấu trúc ví tiền từ một hạt nhị phân duy nhất bằng cách thực hiện một đường dẫn phân chia cụ thể theo cấu trúc: m / purpose’ / coin_type’ / account’ / change / address_index:
Không phải tất cả các ví tiền đều sử dụng BIP-44, nhưng đó là cách thông thường để chuẩn hóa cách tài khoản được tạo ra từ một hạt nhị phân.
Như chúng tôi đã đề cập trước đó, khóa riêng tư có 64 ký tự hexa, tương đương 32 byte. Và chúng tôi vừa tạo ra một hạt nhị phân 64 byte thông qua quá trình PBKDF2 - vậy chúng ta sử dụng giá trị băm 64 byte này để tạo khóa riêng tư như thế nào?
Đầu tiên, hash được chia thành hai nửa, mỗi nửa có kích thước 32 byte:
Bây giờ chúng ta hiểu được hình dạng của các khóa riêng tư, cách chúng được tạo ngẫu nhiên và cách nhiều khóa có thể được tạo ra từ một cụm từ gốc duy nhất. Tiếp theo, hãy khám phá cách khóa công khai được tạo ra từ các khóa riêng tư.
Sử dụng mật mã đường cong elip (ECC), chúng ta có thể tìm ra khóa công khai cho một khóa riêng tư nhất định. Có các loại đường cong elip khác nhau, nhưng đường cong được sử dụng cả trong Bitcoin và Ethereum được gọi là secp256k1.
Đặc tả cho đường cong elip này bao gồm một điểm cơ sở, G, được sử dụng làm điểm bắt đầu để chúng ta tạo ra các điểm khác trên đường cong. Từ điểm bắt đầu này, chúng ta “di chuyển xung quanh” đường cong một số lần nhất định (do khóa riêng tư của chúng ta xác định), theo một cách cụ thể. Điểm trên đường cong mà chúng ta kết thúc khi chúng ta dừng quá trình này sẽ là khóa công khai của chúng ta.
Cách chúng ta "di chuyển" theo đường cong được gọi là nhân vô hướng. Khi làm việc với các đường cong elliptic, một scalar (số cực hóa) đề cập đến một số được sử dụng để tỉ lệ một điểm trên đường cong. Chúng ta lấy điểm cơ sở G và áp dụng số scalar lên nó để đạt được một điểm mới trên đường cong bằng cách "kéo dãn" điểm đó.
Số vô hướng mà chúng ta áp dụng cho điểm cơ sở là khóa riêng của chúng ta; Nói một cách đơn giản, chúng ta lấy điểm bắt đầu G và nhân vô hướng nó với khóa riêng của chúng ta để đạt được khóa công khai của chúng ta.
Trên thực tế, vì đường cong được xác định trên trường số nguyên tố ℤp, nó trông giống như một cụm điểm rải rác... nhưng vẫn có các thuộc tính giống như đường cong elip.
Khi kết thúc quá trình nhân cơ số này (nảy lên
Khóa công khai, như tên gọi, có thể được chia sẻ công khai với bất kỳ ai. Chúng hữu ích cho:
Ví tiền là một phần thiết yếu của các chuỗi khối sử dụng mật mã đường cong elip để cho phép người dùng gửi giao dịch và ký thông điệp từ tài khoản của họ.
Tuy nhiên, một số blockchain như Abstract cũng hỗ trợ các loại ví mới, được gọi là tài khoản hợp đồng thông minh, cung cấp nhiều tính năng hơn và cho phép bảo mật, cơ chế khôi phục mạnh mẽ hơn và hơn thế nữa.
Bài viết này được tái bản từ [https://abs.xyz/blogChuyển tiếp Tiêu đề Gốc 'What is a Wallet?' , Tất cả bản quyền thuộc về tác giả gốc [Jarrod Watts]. Nếu có phản đối về việc tái bản này, xin vui lòng liên hệ vớiHọc cổngđội ngũ, và họ sẽ xử lý nhanh chóng.
Tuyên bố từ chối trách nhiệm: Các quan điểm và ý kiến được trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
Các bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết dịch là không được phép.