Ngày 31 tháng 10 năm 2008, một người ký tên Satoshi Nakamoto gửi lên một danh sách thư về mật mã học một tài liệu ngắn có tiêu đề Bitcoin: hệ thống tiền điện tử ngang hàng. Tài liệu chỉ khoảng chín trang, chia thành mười hai phần, trình bày cách thanh toán trực tuyến có thể đi thẳng từ bên này sang bên kia mà không cần tổ chức tài chính, bằng chữ ký số, một máy chủ dấu thời gian phân tán và bằng chứng công việc. Người ta gọi nó là sách trắng Bitcoin.
Bài viết này đọc lại sách trắng theo từng phần, giải thích ý chính bằng ngôn ngữ dễ hiểu, và chỉ ra những điều tài liệu không nói tới. Đây là bài lịch sử và kỹ thuật, không phải lập luận cho bất kỳ quyết định tài chính nào.
Vấn đề mà sách trắng đặt ra
Phần mở đầu nêu ra vấn đề: thương mại trên internet gần như hoàn toàn dựa vào các tổ chức tài chính làm bên thứ ba đáng tin. Mô hình này chạy tốt, nhưng có điểm yếu cố hữu dựa trên lòng tin.
Vì giao dịch có thể bị đảo ngược do tranh chấp, chi phí hoà giải đẩy giá giao dịch lên, làm các khoản thanh toán nhỏ trở nên không khả thi. Người bán phải đề phòng khách hàng, đòi hỏi nhiều thông tin hơn cần thiết. Một tỷ lệ gian lận nhất định được chấp nhận như điều không tránh khỏi.
Sách trắng đề xuất một hệ thống thanh toán dựa trên bằng chứng mật mã thay vì lòng tin, cho phép hai bên giao dịch trực tiếp. Giao dịch không thể đảo ngược về mặt tính toán sẽ bảo vệ người bán, còn cơ chế ký quỹ có thể bảo vệ người mua.
Điểm then chốt: giải bài toán chi tiêu hai lần bằng một máy chủ dấu thời gian phân tán ngang hàng, an toàn chừng nào các nút trung thực cùng nắm nhiều sức mạnh tính toán hơn nhóm tấn công.
Giao dịch như một chuỗi chữ ký
Sách trắng định nghĩa một đồng tiền điện tử là một chuỗi chữ ký số. Mỗi chủ sở hữu chuyển đồng tiền cho người tiếp theo bằng cách ký lên dấu vân tay của giao dịch trước và khoá công khai của người nhận.
Người nhận kiểm tra được chuỗi chữ ký để biết lịch sử sở hữu. Nhưng họ không kiểm tra được việc chủ trước đã chi tiêu đồng tiền đó cho người khác hay chưa.
Đây chính là bài toán chi tiêu hai lần. Lời giải thông thường là một xưởng đúc trung tâm kiểm tra mọi giao dịch. Sách trắng muốn bỏ xưởng đúc đó.
Kết luận của phần này: cách duy nhất để xác nhận không có giao dịch nào trước đó là biết mọi giao dịch, nghĩa là giao dịch phải được công bố công khai, và cần một hệ thống để những người tham gia đồng ý về một lịch sử duy nhất.
Dấu thời gian và bằng chứng công việc
Phần tiếp theo đề xuất máy chủ dấu thời gian: lấy dấu vân tay của một khối dữ liệu và công bố rộng rãi. Mỗi dấu thời gian bao gồm dấu thời gian trước đó, tạo thành một chuỗi, mỗi dấu thời gian mới củng cố những cái trước.
Để làm điều này một cách phân tán, sách trắng dùng hệ thống bằng chứng công việc tương tự hashcash: tìm một giá trị mà khi băm cùng khối, kết quả bắt đầu bằng một số lượng bit bằng không nhất định.
Bằng chứng công việc cũng giải quyết câu hỏi đại diện cho đa số: thay vì một địa chỉ một phiếu, dễ bị làm giả bằng nhiều địa chỉ, sách trắng dùng một bộ xử lý một phiếu. Quyết định của đa số được thể hiện bằng chuỗi dài nhất, nơi có nhiều công việc nhất được đầu tư.
Độ khó được điều chỉnh theo một trung bình động để giữ số khối mỗi giờ ổn định khi phần cứng nhanh hơn và số người tham gia thay đổi.
Mạng lưới và khuyến khích
Sách trắng mô tả sáu bước vận hành mạng: giao dịch mới được phát tán đến mọi nút; mỗi nút gom giao dịch vào khối; mỗi nút tìm bằng chứng công việc; khi tìm được thì phát tán khối; nút chấp nhận khối nếu mọi giao dịch hợp lệ và chưa bị chi tiêu; nút thể hiện sự chấp nhận bằng cách dùng dấu vân tay khối đó cho khối tiếp theo.
Phần khuyến khích giải thích rằng giao dịch đầu tiên trong khối tạo ra đồng tiền mới cho người tạo khối. Điều này vừa thưởng cho nút ủng hộ mạng lưới, vừa là cách đưa tiền vào lưu thông khi không có cơ quan trung ương phát hành.
Sách trắng ví việc này như thợ mỏ tiêu tốn tài nguyên để đưa vàng vào lưu thông, nguồn gốc của chữ đào. Khi lượng tiền định trước đã vào lưu thông hết, khuyến khích có thể chuyển hoàn toàn sang phí giao dịch.
Một nhận xét tinh tế: khuyến khích có thể giúp nút trung thực, vì kẻ tham lam nắm nhiều sức mạnh tính toán sẽ thấy chơi đúng luật có lợi hơn là phá hoại hệ thống mà chính tài sản của họ phụ thuộc vào.
Tiết kiệm dung lượng và nút nhẹ
Sách trắng tính đến chuyện sổ cái lớn dần. Giao dịch trong khối được băm thành cây Merkle, chỉ có gốc của cây nằm trong tiêu đề khối. Giao dịch cũ đã bị chi tiêu có thể được cắt bỏ mà không làm hỏng dấu vân tay khối.
Tiêu đề khối không có giao dịch chỉ khoảng tám mươi byte. Sách trắng ước tính dung lượng tiêu đề mỗi năm chỉ vài megabyte, không đáng kể với bộ nhớ máy tính.
Phần xác minh thanh toán đơn giản, viết tắt SPV, mô tả cách một người dùng không chạy nút đầy đủ vẫn kiểm tra được giao dịch: giữ bản sao tiêu đề của chuỗi dài nhất, và lấy nhánh Merkle chứng minh giao dịch nằm trong một khối.
Cách này tin rằng đa số nút trung thực, và kém an toàn hơn nếu mạng bị tấn công. Sách trắng khuyên những doanh nghiệp nhận thanh toán thường xuyên nên chạy nút riêng.
Mười hai phần của sách trắng tóm tắt
Giới thiệu Vấn đề của mô hình dựa trên lòng tin vào bên thứ ba và đề xuất thay bằng bằng chứng mật mã.
Giao dịch Đồng tiền là chuỗi chữ ký số; cần công bố mọi giao dịch để chống chi tiêu hai lần.
Máy chủ dấu thời gian Chuỗi dấu vân tay nối nhau xác lập thứ tự dữ liệu theo thời gian.
Bằng chứng công việc Tìm giá trị làm dấu vân tay khối bắt đầu bằng nhiều bit không; một bộ xử lý một phiếu.
Mạng lưới Sáu bước phát tán giao dịch, tạo khối, chấp nhận khối.
Khuyến khích Giao dịch đầu khối tạo tiền mới; về lâu dài chuyển sang phí giao dịch.
Thu hồi dung lượng Cây Merkle cho phép cắt bỏ giao dịch cũ mà giữ nguyên tiêu đề.
Xác minh thanh toán đơn giản Người dùng nhẹ kiểm tra giao dịch bằng tiêu đề khối và nhánh Merkle.
Kết hợp và tách giá trị Giao dịch có nhiều đầu vào và thường hai đầu ra, một cho người nhận, một trả lại.
Quyền riêng tư Giữ khoá công khai ẩn danh; dùng cặp khoá mới cho mỗi giao dịch.
Tính toán Xác suất kẻ tấn công đuổi kịp giảm theo cấp số nhân khi khối tăng.
Kết luận Hệ thống không dựa vào lòng tin, mạng lưới đơn giản nhưng vững chắc.
Những gì sách trắng không nói
Sách trắng không dùng từ blockchain; từ này được cộng đồng dùng về sau. Nó cũng không nhắc đến con số hai mươi mốt triệu; lịch phát hành cụ thể nằm trong mã nguồn ra mắt sau đó.
Nó không nói gì về giá, về đầu tư, về việc Bitcoin sẽ có giá trị bao nhiêu. Đây là tài liệu kỹ thuật mô tả một hệ thống thanh toán.
Nó cũng không giải quyết hết mọi câu hỏi. Những vấn đề như khả năng mở rộng, phí giao dịch dài hạn, quản trị nâng cấp đều xuất hiện về sau và gây ra nhiều tranh luận.
Đọc sách trắng là cách tốt để hiểu ý định ban đầu. Bản gốc tiếng Anh có thể tìm đọc công khai; có cả nhiều bản dịch, dù chất lượng bản dịch không đồng đều.
Câu hỏi thường gặp
Sách trắng Bitcoin công bố khi nào?
Ngày 31 tháng 10 năm 2008, gửi lên một danh sách thư về mật mã học bởi người ký tên Satoshi Nakamoto.
Sách trắng Bitcoin dài bao nhiêu?
Khoảng chín trang, chia thành mười hai phần từ giới thiệu đến kết luận.
Sách trắng có nhắc đến 21 triệu bitcoin không?
Không. Lịch phát hành cụ thể nằm trong mã nguồn phát hành sau đó.
SPV trong sách trắng là gì?
Là xác minh thanh toán đơn giản, cho phép người dùng không chạy nút đầy đủ kiểm tra giao dịch bằng tiêu đề khối và nhánh Merkle.
Sách trắng có dùng từ blockchain không?
Không. Tài liệu nói về chuỗi khối và máy chủ dấu thời gian; từ blockchain được cộng đồng dùng về sau.