Tìm mã Hash cho bằng chứng công việc

Một phần của tài liệu LUẬN văn THẠC sĩ NGHIÊN cứu cơ CHẾ xác THỰC, bảo mật TRONG CÔNG NGHỆ BLOCKCHAIN (Trang 36 - 38)

Chương 2 CƠ CHẾ XÁC THỰC, BẢO MẬT TRONG BLOCKCHAIN

2.1.2 Tìm mã Hash cho bằng chứng công việc

Khi mã hóa dữ liệu về một chuỗi ký tự Hash, công đoạn này tiêu tốn một lượng thời gian tính toán của máy tính. Do đó hàm Hash có thể được một máy tính sử dụng để bắt một máy tính khác tính toán kết quả hash sao cho thỏa mãn một đề bài đặt ra.

Giả sử một người tên B quản lý một server hòm thư điện tử. Để tránh việc một địa chỉ gửi thư rác SPAM vào hòm thư của mọi người, Server của B

áp đặt mọi hòm thư khi gửi email phải tìm ra một giá trị hash bất kỳ thỏa mãn điều kiện sau: Cho một số Nonce bất kỳ kết hợp với nội dung của email và tính toán mã Hash. Yêu cầu tìm ra số Nonce sao cho kết quả mã hóa Hash được một chuỗi ký tự có ít nhất 3 số 0 ở đầu.

Hình 2.4 dưới đây mô tả quả trình tính toán của ví dụ trên:

Hình 2. 4 Quá trình tính toán giá trị băm cho các chuỗi

Một chuỗi, hay một danh sách liên kết, được tạo ra khi mỗi đơn vị dữ liệu đồng thời lưu trữ một giá trị Hash của đơn vị dữ liệu trước đó. Chỉ cần có một thay đổi trong dữ liệu trước đó, thì giá trị hash sẽ bị thay đổi và mối liên kết đó sẽ bị phá vỡ. Một cấu trúc như vậy phù hợp cho việc lưu trữ và liên kết các khối dữ liệu không xuất hiện đồng thời mà xảy ra lần lượt từng thời điểm.

Hàm Hash đảm bảo rằng không có một giải thuật hay phương pháp nào khác để đi đến kết quả như yêu cầu nhanh hơn ngoại trừ việc phải tính toán toàn bộ các trường hợp có thể. Tùy độ khó của đề bài mà công đoạn này đòi hỏi khoảng thời gian khác nhau.

Ở ví dụ trên, Server của B bắt buộc mọi tài khoản khi gửi email phải tính toán được mã Hash thỏa mãn đề bài và tìm được Nonce tương ứng với địa chỉ

email nhận. Tiến trình này có thể mất vài chục giây, như vậy ý định SPAM thư cho một loạt tài khoản sẽ tiêu tốn một lượng lớn thời gian khiến cho công việc đấy không còn nhiều giá trị thực hiện. Blockchain ứng dụng một cách thức tương tự khi xây dựng các khối mới để gắn vào toàn bộ chuỗi. Khi giao dịch mới xuất hiện, một khối mới sẽ được xây dựng dựa trên giá trị hash của khối trước đó, rễ của cây Merkle liên kết đến các giao dịch mới và thời điểm ở hiện tại. Một khối mới chỉ được chấp nhận vào chuỗi khi mà kết quả mã Hash của nó thỏa mãn một lượng đủ lớn các bits 0 ở đầu. Như minh họa trong hình 2.5 dưới đây.

Hình 2. 5 Thiết lặp bằng chứng công việc

Một phần của tài liệu LUẬN văn THẠC sĩ NGHIÊN cứu cơ CHẾ xác THỰC, bảo mật TRONG CÔNG NGHỆ BLOCKCHAIN (Trang 36 - 38)

Tải bản đầy đủ (DOCX)

(87 trang)
w