BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Khoa học phổ biến | Khóa riêng là gì? Nó liên quan như thế nào đến tài sản tiền điện tử của bạn?

Đọc bài viết này mất 19 phút
Trong bài viết này, chúng tôi sẽ giải thích nguồn gốc của khóa riêng tư và cách chúng liên quan đến tài sản tiền điện tử của bạn.

Tác giả gốc: Jose Aguinaga
Dịch và hiệu đính: Min Min & A Jian, Những người đam mê Ethereum


Private key (Khóa riêng) là thứ nhạy cảm và quan trọng nhất trong thế giới tiền điện tử. Chúng tôi khuyên tất cả người dùng mong muốn trở thành cựu chiến binh nên tìm hiểu nguồn gốc, lý do liên quan và chức năng của khóa riêng. Trong bài viết này, chúng tôi sẽ giải thích nguồn gốc của khóa riêng tư và cách chúng liên quan đến tài sản tiền điện tử của bạn.




Khóa riêng có ý nghĩa gì đối với tiền điện tử


Trong phân tích cuối cùng, nắm giữ tiền điện tử có nghĩa là nắm giữ khóa riêng tư. Trong thế giới thực, sở hữu tài sản vật chất thường có nghĩa là có chứng thư hoặc biên nhận có tên bạn trên đó, nhưng trong thế giới tiền điện tử, sở hữu tài sản là sở hữu thông tin. Nói tóm lại, việc làm chủ khóa riêng tương đương với việc sở hữu tài sản mật mã mà khóa riêng có thể kiểm soát.




-Trong thế giới tiền điện tử, "những gì bạn biết là những gì bạn nhận được" là sự thật tuyệt đối-


Tất cả tài sản đều có thể bị thao túng thông qua các giao dịch. Trong thế giới thực, các giao dịch thường yêu cầu ủy quyền chữ ký. Tuy nhiên, trong thế giới tiền điện tử, tất cả các giao dịch phải được ủy quyền bằng khóa riêng liên quan. Chức năng của khóa riêng là phối hợp với thuật toán mã hóa để tạo chữ ký số cho giao dịch. Giao dịch được ký có nghĩa là người nắm giữ khóa riêng đã cấp cho người khác quyền truy cập vào tài sản mà anh ta nắm giữ. Mặc dù bất kỳ ai cũng có thể tạo giao dịch liên quan đến tài sản kỹ thuật số của bạn nhưng chỉ người nắm giữ khóa riêng tương ứng mới có thể ký giao dịch.


Mặc dù chữ ký giả là một vấn đề trong thế giới thực nhưng tính bảo mật của thế giới tiền điện tử được bảo vệ bởi các thuộc tính mật mã của nó. Cho đến nay, chúng tôi chưa nghe nói về một hacker nào đã ký thành công một giao dịch mà không có khóa riêng.




-Có một câu nói nổi tiếng trong giới tiền tệ: “Không có khóa riêng, tiền tệ sẽ không phải của bạn." Điều này là do khả năng ký giao dịch và chuyển giao tài sản phụ thuộc hoàn toàn vào khóa riêng nên sau khi có được khóa riêng, bất kể đó là ai, họ đều có thể chuyển tài sản tương ứng với khóa riêng-


Khóa riêng là gì?


Từ góc độ thực tế, khóa riêng là một con số (trong một phạm vi kích thước nhất định) có thể được sử dụng để chi tiêu (đó là lý do tại sao chúng tôi Giữ khóa riêng an toàn). Từ quan điểm toán học, khóa riêng là một số nguyên dương được tạo ngẫu nhiên. Dưới đây là mô tả chính xác hơn từ góc độ kỹ thuật:


Khóa riêng là một số được tạo bởi một trình tạo số ngẫu nhiên trong một phạm vi số dương cụ thể. Nó có các đặc điểm của tính ngẫu nhiên mạnh mẽ theo nghĩa mật mã.


Trong hầu hết các trường hợp, máy tính sử dụng trình tạo số giả ngẫu nhiên (PRNG) để tạo ra các số nguyên dương ngẫu nhiên này (rất khó tìm được trình tạo số ngẫu nhiên thực sự. Những trình tạo số này thường yêu cầu phần cứng chuyên dụng và sử dụng các nguồn vật lý, chẳng hạn như nhiễu nhiệt trong mạch hoặc thời gian chính xác của bộ đếm Geiger). PRNG là một hàm được tăng cường về mặt mật mã, yêu cầu nhập một giá trị có entropy đủ lớn làm hạt giống ngẫu nhiên.


Entropy là một khái niệm phức tạp nhưng mục đích của nó rất đơn giản: mang lại tính không thể đoán trước cho một hàm. Bằng cách sử dụng nguồn entropy an toàn, PRNG có thể tạo các số giả ngẫu nhiên với xác suất không ngẫu nhiên không đáng kể (trong một phạm vi nhất định có thể chấp nhận được).




- "/dev/urandom" trong hệ thống Linux và "/dev/urandom" trong Hệ thống Microsoft Windows rand_s" thường được sử dụng làm nguồn entropy của PRNG để tạo các số ngẫu nhiên an toàn. Trong hình trên, "phạm vi" vừa là phạm vi trong khái niệm toán học vừa là kích thước byte được máy tính sử dụng để tạo số ngẫu nhiên. (Như Tuke có thể thấy, chức năng của RPNG là đưa ra một giá trị trong một phạm vi lớn; và entropy đảm bảo rằng quá trình này đủ ngẫu nhiên) -


Khi tạo khóa riêng Ethereum hoặc Bitcoin, phạm vi giá trị PRNG là từ 1 đến 2256 - 1 (hãy tưởng tượng một khóa mật khẩu dài 78 bit bao gồm các số từ 0 đến 9). Do phạm vi rộng này, xác suất tạo ra hai khóa riêng giống hệt nhau là thấp không đáng kể, đó là lý do tại sao khó có khả năng người dùng khác tạo khóa riêng giống hệt như bạn. Khóa riêng của bạn được lấy từ số nguyên khổng lồ số lượng nguyên tử được chọn từ tập hợp gần bằng tổng số nguyên tử nhìn thấy được trong toàn bộ vũ trụ.




-Bitcoin và Ethereum đều sử dụng phạm vi từ 1 đến 2256-1. Trong cả hai chuỗi Điều này khả thi theo thuật toán tạo khóa công khai. Ví dụ: Ethereum sử dụng các đường cong elip (cụ thể là SECP-256k1) để tạo khóa chung. Trong giấy màu vàng ban đầu, Tiến sĩ Gavin Wood đã xác định khóa riêng là số nguyên dương được chọn ngẫu nhiên trong phạm vi [1, secp256k1n − 1] (mảng byte có độ dài 32 ở định dạng big-endian). Đối với tất cả các định nghĩa chính thức, vui lòng tham khảo Sách Vàng. -


Khóa riêng, khóa chung và địa chỉ


Vì khóa riêng phải được giữ bí mật , chúng tôi cũng cần có một cơ chế để đánh dấu điểm đến để thanh toán. Do đó, tất cả các blockchain đều đưa ra khái niệm về địa chỉ (một số duy nhất được tính toán dựa trên khóa riêng). Địa chỉ là nơi lưu trữ tài sản tiền điện tử của bạn và có thể được chia sẻ với bất kỳ ai (nếu cần) để họ có thể biết số dư tài sản tiền điện tử của bạn.


Địa chỉ blockchain được tạo bằng khóa chung, đảm bảo rằng bạn là chủ sở hữu của địa chỉ đó. Quay trở lại xa hơn, khóa chung được tạo từ khóa riêng. Quá trình này là một chiều, có nghĩa là bạn có thể tính toán địa chỉ tài khoản thông qua khóa riêng, nhưng bạn không thể tính ngược khóa riêng thông qua địa chỉ tài khoản (thậm chí bạn cũng không thể tự mình thực hiện).


Khóa riêng có thể được lấy từ khóa chung và khóa chung có thể được lấy từ địa chỉ blockchain. Tuy nhiên, địa chỉ blockchain không thể được sử dụng để lấy khóa chung và khóa chung không thể được sử dụng để lấy khóa riêng.


Quy trình một chiều này được thực hiện thông qua chức năng bẫy mật mã. Hàm bẫy là hàm một chiều. Giá trị đầu vào chỉ có thể dẫn đến giá trị đầu ra duy nhất, nhưng giá trị đầu vào ban đầu không thể được suy ra dựa trên giá trị đầu ra. Các hệ sinh thái blockchain khác nhau sử dụng các chức năng một chiều khác nhau. Ví dụ: các hệ thống blockchain phổ biến nhất sử dụng cấu trúc đại số dựa trên đường cong elip để tạo khóa chung. Cho dù các cấu trúc đại số này có đặc điểm gì thì kết quả vẫn luôn chắc chắn: khóa chung tương ứng với khóa riêng một đối một và cùng một khóa riêng chỉ có thể tạo ra cùng một khóa chung.




-Trong khi các blockchain phổ biến như Bitcoin hay Ethereum sử dụng thuật toán ECDSA, việc nhân khóa riêng với một điểm cố định trên đường cong elip secp256k1 là Out khóa chung . Các dự án blockchain khác đang thực hiện cách tiếp cận tương tự. Ví dụ: Monero sử dụng thuật toán EdDSA và đường cong Curve25519, còn Polkadot và Substrate sử dụng thuật toán sr25519 và đường cong Ed25519. Tất cả các chuỗi khối này tạo ra khóa chung dựa trên khóa riêng trong phạm vi từ 1 đến 2256-1. -


Địa chỉ blockchain cũng được tính bằng hàm một chiều, sử dụng cái gọi là Hàm băm. Cả địa chỉ Bitcoin và Ethereum đều được tạo bằng cách sử dụng một hoặc nhiều hàm băm được mã hóa nâng cao dựa trên khóa công khai, nhưng các chuỗi khối khác nhau sử dụng các thuật toán khác nhau. Dựa vào cách hoạt động của các hàm băm này, bạn hoàn toàn có thể tin tưởng rằng các địa chỉ blockchain tương ứng với khóa chung và khóa riêng của bạn là duy nhất.




- Tài khoản Ethereum là băm Keccak-256 của khóa công khai, nhưng chỉ có 20 byte ngoài cùng bên phải của kết quả tính toán. Khóa riêng của bitcoin sử dụng SHA-256 và RIPEMD-160, Polkadot và ZCash sử dụng Blake2b. Tất cả các hàm băm này đều có khả năng chống va chạm nên khả năng hai khóa chung tạo ra cùng một địa chỉ tài khoản là rất thấp và cách duy nhất để sử dụng địa chỉ để suy ra khóa riêng là sử dụng phương pháp bẻ khóa vũ phu với hiệu quả kinh tế cực thấp. Không có gì đảm bảo rằng các hàm băm này không thể bị bẻ khóa, nhưng cho đến nay, không có blockchain nào sử dụng hàm băm đã được chứng minh là có thể bẻ khóa. -


Một chút toán học có thể giữ bí mật


Tính bảo mật của tài sản mật mã đến từ mật mã và toán học đằng sau khóa riêng tư - miễn là chúng ta giữ khóa riêng tư của mình an toàn. Cho đến nay, không ai có thể tìm thấy khóa riêng tương ứng với địa chỉ blockchain của bạn thông qua vũ lực do năng lượng cần thiết Lưu trữ nhiều năng lượng hơn mặt trời. Tại Portis, chúng tôi thực hiện các bước cẩn thận để đảm bảo rằng khóa riêng của bạn được tạo an toàn dựa trên dữ liệu mà chỉ bạn biết (để biết thêm thông tin, vui lòng đọc Sách trắng).


Trong bài viết tiếp theo, chúng ta sẽ khám phá hệ sinh thái blockchain phổ biến và toán học đằng sau việc tạo khóa công khai. Chúng tôi sẽ cung cấp một số ví dụ về mã để bạn có thể tính toán khóa theo quy trình được mô tả cho từng blockchain và sử dụng một số thư viện mã để giúp quá trình tạo dễ dàng hơn. giữ nguyên!


(Chưa hoàn thành)


Liên kết gốc




Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi