SieuThiBitcoin.comHiểu Bitcoin tận gốc — từ năm 2014
Khai thác Bitcoin

Bằng chứng công việc trong Bitcoin hoạt động thế nào

Bằng chứng công việc buộc thợ đào thử băm tiêu đề khối hàng tỷ tỷ lần cho đến khi dấu vân tay nhỏ hơn một mục tiêu. Tìm thì rất tốn công, kiểm thì chỉ một phép băm. Cơ chế này vừa chọn ai được viết khối tiếp theo, vừa gắn chi phí vật lý vào lịch sử, khiến việc viết lại sổ cái trở nên cực kỳ đắt.

Kỹ thuật viên Việt Nam kiểm tra dãy thiết bị trong phòng máy sáng

Bằng chứng công việc là cơ chế buộc thợ đào phải thử băm tiêu đề khối một số lần khổng lồ cho đến khi tìm được một dấu vân tay nhỏ hơn mục tiêu do mạng lưới đặt ra. Việc tìm rất tốn công tính toán, tức tốn điện và phần cứng thật, nhưng việc kiểm tra thì chỉ cần một phép băm. Nhờ sự chênh lệch đó, Bitcoin chọn được người viết khối tiếp theo mà không cần bầu cử hay danh tính, và gắn một chi phí vật lý vào mỗi trang của sổ cái, khiến việc viết lại lịch sử trở nên cực kỳ đắt.

Bài viết giải thích cơ chế từ hàm băm đến chuỗi nặng nhất, kèm phép tính xác suất để thấy vì sao nó an toàn. Đây là kiến thức về giao thức, không phải hướng dẫn đào hay đầu tư vào việc đào.

Hàm băm SHA-256

Hàm băm là hàm biến dữ liệu bất kỳ thành một dấu vân tay có độ dài cố định. Bitcoin dùng SHA-256, cho ra dấu vân tay dài hai trăm năm mươi sáu bit, và trong bằng chứng công việc, tiêu đề khối được băm hai lần liên tiếp.

Hàm băm mật mã có ba tính chất quan trọng. Thứ nhất, cùng dữ liệu luôn cho cùng dấu vân tay. Thứ hai, thay đổi một bit đầu vào làm dấu vân tay thay đổi hoàn toàn, không đoán trước được. Thứ ba, không thể tìm ngược dữ liệu từ dấu vân tay, hay tìm hai dữ liệu khác nhau cho cùng dấu vân tay, trong thời gian hợp lý.

Tính chất thứ hai là cốt lõi của việc đào: không có cách nào biết trước nonce nào sẽ cho dấu vân tay nhỏ. Mỗi lần thử như một lần tung xúc xắc.

SHA-256 là hàm băm được thiết kế bởi cơ quan an ninh của một chính phủ và công bố công khai từ đầu những năm 2000, được nghiên cứu rộng rãi và chưa có điểm yếu thực tế nào được biết đến.

Bitcoin dùng SHA-256 cho bằng chứng công việc và cho mã giao dịch, kết hợp với một hàm băm khác trong việc tạo địa chỉ.

Hiểu hàm băm là hiểu được một nửa câu chuyện; nửa còn lại là cách mạng lưới dùng nó.

Mục tiêu và nonce

Mỗi khối có một mục tiêu, một con số rất lớn. Khối hợp lệ khi dấu vân tay của tiêu đề, đọc như một con số, nhỏ hơn hoặc bằng mục tiêu. Mục tiêu càng nhỏ, càng khó tìm.

Người ta hay mô tả là dấu vân tay phải bắt đầu bằng một số lượng chữ số không nhất định. Cách nói này dễ hình dung, dù chính xác hơn là so sánh với một con số mục tiêu.

Thợ đào thay đổi nonce, một trường bốn byte trong tiêu đề, rồi băm lại. Khi đã thử hết các giá trị nonce, họ thay đổi dữ liệu trong giao dịch coinbase để gốc Merkle đổi, mở ra không gian thử mới, hoặc điều chỉnh dấu thời gian.

Xác suất mỗi lần thử thành công cực kỳ nhỏ. Với độ khó hiện nay, toàn mạng phải thử một số lần khổng lồ, cỡ hàng trăm tỷ tỷ lần mỗi giây, để trung bình tìm được một khối mỗi mười phút.

Vì mỗi lần thử độc lập, việc tìm khối giống một chuỗi xổ số liên tục: không có tiến độ tích luỹ, máy đã thử một giờ không gần đích hơn máy vừa bật.

Tính chất không có trí nhớ này giải thích vì sao thời gian giữa các khối dao động lớn: có khi chỉ một phút, có khi hơn một giờ.

Chuỗi nặng nhất

Khi hai thợ đào tìm được khối gần như cùng lúc, mạng lưới tạm thời có hai nhánh. Mỗi nút theo nhánh nó nhận được trước, và thợ đào bắt đầu đào tiếp trên nhánh đó.

Khi một nhánh được nối thêm khối, nhánh đó có tổng công việc lớn hơn. Các nút chuyển sang nhánh nặng hơn, và nhánh kia bị bỏ. Khối trên nhánh bị bỏ gọi là khối mồ côi hay khối cũ, giao dịch trong đó quay lại mempool nếu chưa có trong nhánh thắng.

Quy tắc là chọn chuỗi hợp lệ có tổng công việc tích luỹ lớn nhất. Người ta hay gọi tắt là chuỗi dài nhất, nhưng điều quan trọng là công việc, không phải số khối.

Quy tắc này cho phép mạng lưới tự hội tụ về một lịch sử duy nhất mà không cần ai điều phối.

Thợ đào có động lực đào trên chuỗi mà đa số chấp nhận, vì khối trên nhánh bị bỏ không mang lại phần thưởng.

Hiện tượng tách nhánh ngắn như vậy xảy ra thỉnh thoảng và là bình thường; nó là lý do chờ thêm vài xác nhận cho giao dịch quan trọng.

Vì sao viết lại lịch sử đắt

Muốn đảo ngược một giao dịch đã có sáu xác nhận, kẻ tấn công phải tạo lại khối chứa giao dịch đó và năm khối sau, rồi tiếp tục nhanh hơn phần còn lại của mạng để nhánh của họ nặng hơn.

Nếu kẻ tấn công có ít hơn một nửa sức mạnh tính toán, họ trung bình tìm khối chậm hơn mạng lưới. Sách trắng tính rằng xác suất đuổi kịp giảm theo cấp số nhân với số khối phải đuổi.

Ví dụ, với mười phần trăm sức mạnh tính toán, xác suất đuổi kịp sáu khối là rất nhỏ, dưới một phần nghìn. Với ba mươi phần trăm, cần nhiều xác nhận hơn để đạt mức an toàn tương tự.

Ngay cả khi có thể, chi phí phần cứng và điện cho cuộc tấn công cực kỳ lớn, và nếu bị phát hiện, giá trị của chính tài sản mà kẻ tấn công nhắm tới có thể sụt giảm.

Vì vậy, an ninh của Bitcoin không dựa vào việc tấn công là không thể, mà vào việc tấn công không có lợi về kinh tế.

Đây là sự khác biệt quan trọng với các hệ thống dựa vào danh tính hay quyền hạn: Bitcoin dựa vào chi phí.

Những khái niệm cốt lõi của bằng chứng công việc

Hàm băm SHA-256 Biến dữ liệu thành dấu vân tay 256 bit, không đoán trước được.

Băm kép Tiêu đề khối được băm SHA-256 hai lần liên tiếp.

Mục tiêu Con số mà dấu vân tay khối phải nhỏ hơn hoặc bằng.

Nonce Trường bốn byte thợ đào thay đổi để thử.

Không gian thử mở rộng Khi hết nonce, thay dữ liệu coinbase để đổi gốc Merkle.

Không có trí nhớ Mỗi lần thử độc lập, không có tiến độ tích luỹ.

Khó tìm dễ kiểm Tìm cần vô số phép băm, kiểm chỉ cần một.

Chuỗi nặng nhất Nút theo chuỗi hợp lệ có tổng công việc lớn nhất.

Khối mồ côi Khối trên nhánh bị bỏ khi hai khối được tìm gần như cùng lúc.

Xác nhận Mỗi khối thêm sau giao dịch tăng chi phí đảo ngược.

Xác suất đuổi kịp Giảm theo cấp số nhân với số khối phải đuổi khi kẻ tấn công nắm thiểu số.

An ninh kinh tế Tấn công không bị cấm mà không có lợi về kinh tế.

Lời nhắc thực tế

Hiểu bằng chứng công việc giúp nhìn rõ những lời quảng cáo về đào. Đào không phải là tạo tiền từ hư không mà là cạnh tranh tốn chi phí để giành quyền viết khối.

Bất kỳ ứng dụng nào hứa đào bitcoin miễn phí trên điện thoại, hay gói thuê máy đào với lợi nhuận cố định, đều đáng ngờ. Với độ khó hiện nay, điện thoại không có khả năng đào ra khối, và lợi nhuận cố định trong hoạt động biến động là điều phi lý.

Ở Việt Nam, hoạt động liên quan đến tài sản mã hoá đang được đặt vào khung pháp lý mới; mọi dự án đào mời gọi góp vốn cần được nhìn hết sức thận trọng.

Bài viết giải thích cơ chế, không hướng dẫn đào hay đầu tư vào đào.

Câu hỏi thường gặp

Bằng chứng công việc là gì?

Là cơ chế buộc thợ đào thử băm tiêu đề khối nhiều lần cho đến khi tìm được dấu vân tay nhỏ hơn mục tiêu, tốn công tìm nhưng dễ kiểm.

Bitcoin dùng hàm băm nào?

SHA-256, áp dụng hai lần liên tiếp lên tiêu đề khối trong bằng chứng công việc.

Vì sao thời gian giữa các khối không đều?

Vì mỗi lần thử độc lập như xổ số, nên thời gian tìm khối dao động quanh mức trung bình khoảng mười phút.

Chuỗi dài nhất có phải chuỗi nhiều khối nhất?

Chính xác là chuỗi hợp lệ có tổng công việc tích luỹ lớn nhất.

Đào bitcoin trên điện thoại có được không?

Thực tế là không. Ứng dụng hứa đào miễn phí trên điện thoại thường là lừa đảo hoặc vô nghĩa.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.