Khi chuyển khoản ngân hàng, danh tính của bạn được xác minh bằng mật khẩu tài khoản và quy trình kiểm tra của ngân hàng. Trên blockchain, không có tổ chức nào giúp xác minh danh tính của bạn; mạng lưới chỉ công nhận một thứ: chữ ký số. Hiểu được điều này cũng là hiểu vì sao khóa riêng lại quan trọng đến vậy.
Khi chuyển $BTC đi, ví sẽ dùng khóa riêng để ký giao dịch, còn các nút trên toàn mạng lưới sẽ dùng khóa công khai để xác minh chữ ký này. Giá hiện tại là 75,034.01 (24 giờ -1.01%).
Một cặp khóa:
Chữ ký số được tạo và xác minh bằng một cặp khóa: khóa riêng dùng để tạo chữ ký, khóa công khai dùng để xác minh chữ ký. Khóa riêng là một số lớn được tạo ngẫu nhiên; khóa công khai được tính từ khóa riêng bằng phép toán trên đường cong elliptic. Bitcoin và Ethereum đều sử dụng đường cong secp256k1.
Phép toán này chỉ thực hiện được theo một chiều: từ khóa riêng tính ra khóa công khai thì rất dễ, nhưng suy ngược khóa riêng từ khóa công khai là bất khả thi về mặt tính toán. Vì vậy, khóa công khai và địa chỉ được tạo từ khóa đó có thể công khai, còn khóa riêng chỉ mình bạn được giữ.
Chữ ký chứng minh điều gì:
Khi gửi một giao dịch, ví dùng khóa riêng để ký nội dung giao dịch, còn các nút trên toàn mạng dùng khóa công khai để xác minh. Nếu xác minh thành công, điều đó đồng thời chứng minh hai điều: giao dịch thực sự đến từ người nắm giữ khóa riêng và nội dung chưa bị sửa đổi sau khi ký. Chỉ cần thay đổi một byte trong số tiền hoặc địa chỉ nhận, chữ ký ban đầu sẽ không còn xác minh được.
Lưu ý, chữ ký không mã hóa nội dung giao dịch. Số tiền và địa chỉ trong giao dịch trên chuỗi vẫn công khai với mọi người. Chữ ký giải quyết vấn đề “ai đã gửi và nội dung có bị sửa hay không”, chứ không phải “người khác có nhìn thấy được hay không”.
Ngăn một giao dịch được sử dụng hai lần:
Mỗi giao dịch Ethereum đều có nonce tăng dần; cùng một nonce chỉ có thể được đưa vào khối một lần. Giao dịch cũng chứa ID chuỗi (EIP-155), nên giao dịch đã ký không thể bị phát lại trên một chuỗi khác. Bitcoin ngăn việc chi tiêu lặp lại cùng một đồng tiền bằng quy tắc “mỗi đầu ra chưa được chi tiêu chỉ có thể được chi tiêu một lần”.
Chữ ký không chỉ dùng để chuyển tiền:
Yêu cầu ký hiện lên trong ví không nhất thiết là để chuyển tiền; đó cũng có thể là cấp quyền cho token hoặc ký một thông điệp ngoài chuỗi. Một số chữ ký ngoài chuỗi, một khi đã ký, có tác dụng tương đương với việc cấp quyền trực tiếp, cho phép bên kia dùng chữ ký đó để chuyển token của bạn.
Vì vậy, trước khi ký, hãy xem kỹ loại thao tác, địa chỉ tương tác và số lượng. Nếu không hiểu thì đừng ký vội. Bất kỳ ai yêu cầu bạn cung cấp khóa riêng hoặc cụm từ khôi phục để “xác minh chữ ký” đều là kẻ lừa đảo.
Quan điểm của tôi:
Trên chuỗi, chữ ký chính là “chữ ký viết tay” của bạn, còn khóa riêng là cây bút duy nhất có thể tạo ra chữ ký ấy. Nếu cây bút bị mất hoặc bị người khác lấy đi, sẽ không có tổ chức nào có thể giúp bạn thu hồi nó. Hãy tìm hiểu rõ các quy tắc trước khi hành động, đừng quyết định theo cảm tính.
Trước đây bạn đã từng hiểu nhầm điều này chưa?