This article has been translated from English to Vietnamese.
Trong bài học này, chúng ta sẽ tìm hiểu cách mà chữ ký số thực sự hoạt động trong Bitcoin và các loại tiền điện tử khác.
Để đến được điểm này, chúng ta cần phải học một số khái niệm kỹ thuật trước vì chúng là những "viên gạch xây dựng" cần thiết để tạo ra một chữ ký số:
Nếu bạn KHÔNG quen thuộc với các khái niệm này, chúng đã được giải thích theo cách dễ hiểu trong các bài học trước. Khám phá các liên kết trên để tìm hiểu thêm.
Chữ ký số được tạo ra như thế nào?
Hãy cùng xem từng bước tạo ra chữ ký số:
- Khi bạn muốn gửi bitcoin, ví của bạn sẽ tạo một tin nhắn giao dịch. Tin nhắn này chứa thông tin như số lượng bitcoin bạn muốn gửi và địa chỉ người nhận.
- Tin nhắn này được chạy qua một hàm băm.
- Hàm băm tạo ra một kết quả đầu ra được gọi là “băm tin nhắn” hay chỉ đơn giản là “băm“.
- Băm tin nhắn này sau đó được mã hóa với khóa cá nhân của bạn.
- Băm tin nhắn đã mã hóa trở thành “chữ ký số“.
Đây là sơ đồ quy trình này:
Vậy ở cuối quá trình này, ví của bạn đã tạo ra hai “món”:
- Tin nhắn giao dịch
- Chữ ký số (là một băm đã mã hóa của tin nhắn giao dịch)
Vào thời điểm này, chưa có gì được gửi ra mạng Bitcoin cả.
Nếu bạn chưa nhận ra, bản thân tin nhắn giao dịch là cần thiết như một “nguyên liệu” để tạo chữ ký số.
Vì vậy, bạn không chỉ dùng khóa cá nhân của mình để tạo chữ ký số… bạn cần dùng khóa cá nhân VÀ băm của tin nhắn giao dịch.
Điều này có nghĩa là bạn không thể sử dụng chữ ký số này cho một giao dịch khác. Nếu bạn cố gắng sử dụng chữ ký số này trong một giao dịch thứ hai, nó sẽ bị mạng Bitcoin từ chối vì chữ ký số chỉ dựa trên dữ liệu từ giao dịch đầu tiên.
Mỗi chữ ký số là duy nhất cho một giao dịch cụ thể.
Chữ ký số được xác minh như thế nào?
Để tiêu bitcoins từ một địa chỉ Bitcoin cụ thể, một người phải chứng minh “quyền sở hữu” (hoặc: kiến thức) về khóa cá nhân được ghép đôi với khóa công khai liên quan đến địa chỉ đó.
Nhưng bạn muốn làm điều này mà không cần tiết lộ khóa cá nhân của mình.
Một chữ ký số là thứ bạn có thể sử dụng để CHỨNG MINH rằng bạn biết khóa cá nhân liên kết với một khóa công khai, mà không cần phải tiết lộ khóa cá nhân thực sự.
Hãy xem điều này hoạt động như thế nào:
- Khi bạn bắt đầu một giao dịch Bitcoin, phần mềm ví của bạn thực sự cung cấp ba “món” cho mạng Bitcoin: tin nhắn giao dịch gốc, chữ ký số, và khóa công khai của bạn (liên kết với địa chỉ nơi mà bitcoin bạn muốn gửi hiện đang được lưu trữ).
- Một khi một nút Bitcoin nhận được các “món” này, nó sẽ tách chúng ra.
- Nó sẽ lấy tin nhắn giao dịch gốc và chạy qua cùng một hàm băm mà bạn đã sử dụng trước đó. (Tất cả phần mềm Bitcoin sử dụng cùng một hàm băm.) Đối với chữ ký số, nó sẽ sử dụng khóa công khai bạn cung cấp để giải mã.
- Cả hai băm sau đó sẽ được so sánh.
- Cả hai băm có khớp hoàn toàn không?
- Nếu cả hai băm khớp, điều này chứng minh rằng bạn là chủ sở hữu thực sự của bitcoin bạn muốn gửi.
Đây là sơ đồ quy trình này:

Có hai điều cần chỉ ra ở đây:
1. Có thể giải mã với khóa công khai chứng minh danh tính của người gửi.
Trong bước 3, một khi một nút có thể giải mã chữ ký số, điều này chứng minh “danh tính” của bạn.
Hãy nhớ rằng, vì khóa cá nhân và khóa công khai được liên kết toán học, nếu bạn có thể giải mã tin nhắn với khóa công khai của tôi, điều đó có nghĩa là tôi đã mã hóa nó với khóa cá nhân của tôi.
Nếu bạn không thể giải mã tin nhắn, điều đó có nghĩa là nó đã được mã hóa bằng khóa cá nhân của ai đó khác. Và điều đó có nghĩa là tin nhắn không đến từ tôi.
2. Các băm khớp hoàn toàn chứng minh rằng tin nhắn không bị thay đổi.
Trong bước 6, kiểm tra để đảm bảo cả hai băm khớp hoàn toàn đảm bảo rằng tin nhắn gốc không bị thay đổi.
Điều này rất quan trọng vì khác với chữ ký số là mã hóa, tin nhắn giao dịch gốc là dạng văn bản thông thường vì tất cả các giao dịch Bitcoin đều công khai để mọi người có thể thấy.
Hãy nhớ rằng, bất kỳ thay đổi nhỏ nào cũng sẽ tạo ra một băm hoàn toàn khác. Vì vậy, nếu ai đó chặn tin nhắn giao dịch gốc trên đường đến một nút và sửa đổi nó (như gửi bitcoin vào địa chỉ của anh ta thay vì), khi tin nhắn được đưa qua hàm băm, nó sẽ tạo ra một băm hoàn toàn khác so với chữ ký số.
Tương tự như cách một chữ ký viết tay liên kết một người với một tài liệu cụ thể, một “chữ ký số” sử dụng mật mã…mật mã học…liên kết danh tính với một tin nhắn cụ thể.
Tóm tắt
Bây giờ bạn đã hiểu cách một chữ ký số được tạo ra và xác minh, đây là cái nhìn TỔNG QUÁT về việc “ký” một giao dịch thực sự có nghĩa gì và cách mà “chữ ký số” của người gửi được sử dụng để xác minh quyền sở hữu của bitcoin mà họ muốn gửi:

