Chữ ký số là gì?
Chữ ký số Bitcoin và xác minh của nó là một trong những bí mật chính đằng sau giao thức xử lý giao dịch của mạng Bitcoin.
Chữ ký số (Digital Signature) cho phép không thoái thác vì điều đó có nghĩa là người đã gửi tin nhắn phải sở hữu khóa riêng và do đó sở hữu Bitcoin – bất kỳ ai trên mạng đều có thể xác minh giao dịch.
Chữ ký số hoạt động như thế nào trong mạng Bitcoin?
Khóa riêng tạo khóa chung, từ đó tạo ra địa chỉ – và do một số toán học thông minh sử dụng các đường cong elip và số học mô-đun trong các trường hữu hạn mà quá trình đạt được. Trước tiên, hãy nhắc nhở bản thân về quá trình.

Người gửi tạo một khóa riêng và khóa chung. Sau đó, họ ký tin nhắn bằng chữ ký và gửi khóa chung, chữ ký và tin nhắn đến mạng (vì mạng ngang hàng với từng nút đầy đủ trong mạng xác thực từng giao dịch) – Sau đó, nút hoặc người nhận sẽ kiểm tra bằng xác minh thuật toán mà tin nhắn đã được ký bởi người gửi, chỉ có thể được thực hiện bởi người giữ khóa riêng cho khóa chung được gửi.
Sử dụng các đường cong elliptic và các thuộc tính của chúng, người ký hoặc người gửi sẽ tạo ra ba điểm – hãy nhớ rằng đường cong Bitcoin được xác định như sau:
y2=x3+7 mod n. Trong đó n=1.158x1077
1.1 Lấy thông điệp và chuyển đổi nó thành một số bằng cách băm nó – sau đó nhân với điểm tạo.
Mp (Xm,Ym) = (Message Hash=Mh)* G(Xg,Yg)
1.2 Chọn một số ngẫu nhiên và tạo một điểm ngẫu nhiên bằng cách nhân điểm tạo.
Rp (Xr,Yr) = (Random Number=Rn)* G(Xg,Yg)
1.3 Chúng tôi lấy điểm ngẫu nhiên, Xr, chỉ tọa độ x và nhân với khóa Công khai – mà nhớ là một điểm theo quyền riêng của nó xuất phát từ điểm máy phát và khóa riêng – trong đó là một số ngẫu nhiên.
Pu (Xk,Yk) = (Xm)* Public Key(Xpub,Ypub)= (Xm)*(Private Key=Pr)* G(Xg,Yg)
Sau đó, người ký tạo ra yếu tố chữ ký bằng khóa riêng Bitcoin, tọa độ điểm x ngẫu nhiên, hàm băm thông báo và số ngẫu nhiên được sử dụng để tạo điểm ngẫu nhiên.
Signature Factor=Sf=(Mh+Xr*Pr)/Rn mod n
Chữ ký là (Sf, Xr), cùng với khóa công khai & tin nhắn được gửi đến mạng hoặc người nhận sau đó thực hiện một số tính toán của riêng họ, như sau.
2.1 Thực hiện thông báo và băm nó và chia cho các yếu tố chữ ký.
U1 = ((Message Hash = Mh))/Sf
2.2 Tính số ngẫu nhiên chia cho hệ số chữ ký.
U2 = ((Xr))/Sf
Sau đó tính điểm ngẫu nhiên bằng phương trình sau – cùng điểm được tính bởi người ký trong bước 1.2:
Rp (Xr,Yr) = (U1)* G(Xg,Yg)+ (U2)* Public Key(Xpub,YPub)
Nếu Xr của người gửi Xr của người nhận thì chữ ký hợp lệ và giao dịch phải được gửi bởi người giữ khóa riêng. Phương trình trên có thể được thay thế theo cách sau để chứng minh điều này.
Thay thế trong các phương trình sau:
Signature Factor=Sf=(Mh+Xr*Pr)/Rn mod n
Public Key(Xpub,Ypub)= (Private Key=Pr)* G(Xg,Yg)
U1 = ((Message Hash = Mh))/Sf
U2 = ((Xr))/Sf
Vào phương trình 2.3 để có được:
Rp (Xr,Yr) = (((Message Hash = Mh))/Sf)* G(Xg,Yg)+ ((Xr))/Sf* (Pr)* G(Xg,Yg)
Rp (Xr,Yr) =((Mh)+Xr*Pr)*( ( G(Xg,Yg)))/Sf
Rp (Xr,Yr)=( ((Mh)+Xr*Pr))/(((Mh)+Xr*Pr) )*Rn* G(Xg,Yg)=Rn* G(Xg,Yg)
Điều này chứng tỏ rằng chữ ký đến từ người giữ khóa riêng và giao dịch là hợp lệ. Rất nhiều trong số này dựa vào ví không sử dụng cùng một số ngẫu nhiên (Rn) để được tạo cho hai giao dịch. Nếu đây là trường hợp thì các phương trình trên có thể được giải để tìm số khóa riêng.
Trên đây, Beat Tiền Ảo đã giới thiệu tới các bạn chữ ký số hoạt động như thế nào trong mạng Bitcoin. Qua bài này, hy vọng các bạn đã có thể hiểu được quy trình xử lý giao dịch trong mạng Bitcoin và điều gì xảy ra trong mạng Bitcoin khi phát sinh giao dịch.