Chào bạn, Ghiền Coin đây. Blockchain, hay chuỗi khối, nói gọn là một cuốn sổ cái chia thành từng trang gọi là khối; các trang được nối với nhau theo đúng thứ tự; và cả một mạng lưới máy tính cùng giữ bản sao giống hệt nhau. Muốn sửa một trang cũ thì phải sửa luôn tất cả các trang sau nó, trên phần lớn các máy, nên gần như không ai sửa lén được.
Hôm nay mình sẽ dựng lại toàn bộ ý tưởng đó bằng hình ảnh một ngôi làng giữ chung một cuốn sổ. Không công thức, không mã lệnh. Nghe xong tập này, bạn sẽ có cái khung để hiểu mọi tập sau trong danh mục.
Ngôi làng và cuốn sổ chung
Thử hình dung một ngôi làng có một trăm hộ. Họ hay trao đổi với nhau: nhà này đổi gạo lấy cá của nhà kia, nhà nọ mượn tiền nhà bên cạnh. Ban đầu mỗi nhà ghi chép một kiểu, và cuối năm thế nào cũng có chuyện cãi nhau vì sổ sách lệch nhau.
Rồi làng quyết định: mọi trao đổi đều được đọc to lên ở đình làng, và cả một trăm hộ cùng chép vào cuốn sổ của nhà mình. Một trăm cuốn sổ, nội dung giống hệt nhau.
Từ lúc đó, chuyện gian lận trở nên khó hơn hẳn. Một nhà sửa sổ của mình thì sổ của chín mươi chín nhà còn lại vẫn ghi đúng. Khi đối chiếu, cuốn sổ bị sửa lập tức lộ ra.
Đó là phần sổ cái phân tán. Phân tán nghĩa là không có một bản chính nằm ở một chỗ, mà có rất nhiều bản ngang hàng nhau.
Vì sao phải chia thành từng trang
Ghi liên tục vào sổ thì khó quản lý, nên làng quy định cứ mỗi khoảng thời gian, các giao dịch mới được gom lại thành một trang. Mỗi trang như vậy chính là một khối.
Điểm thông minh nằm ở chỗ: mỗi trang mới đều ghi kèm một dấu vân tay của trang ngay trước nó. Dấu vân tay này được tính từ toàn bộ nội dung trang trước, chỉ cần đổi một chữ là dấu vân tay đổi hẳn.
Vì thế các trang dính chặt vào nhau thành một chuỗi. Đó là lý do người ta gọi nó là chuỗi khối. Bạn không thể rút một trang ra, sửa, rồi nhét lại mà không làm lệch dấu vân tay của trang sau.
Muốn sửa trang số năm, bạn phải tính lại dấu vân tay cho trang sáu, bảy, tám, và tất cả những trang sau đó. Và bạn phải làm điều đó trên đa số cuốn sổ trong làng, không chỉ cuốn của mình.
Ai được quyền viết trang mới
Nếu ai cũng được viết trang mới bất cứ lúc nào thì sổ sẽ loạn. Mỗi mạng lưới blockchain có một quy tắc để chọn ra ai được viết trang tiếp theo, và để cả làng cùng đồng ý với trang đó. Quy tắc này gọi là cơ chế đồng thuận.
Có mạng lưới yêu cầu người viết phải bỏ ra rất nhiều công sức tính toán, như phải giải một câu đố thật khó. Có mạng lưới yêu cầu người viết phải đặt cọc một phần tài sản, làm sai thì mất cọc.
Điểm chung là: viết trang mới phải tốn một cái giá, để gian lận trở nên đắt hơn làm đúng. Mình sẽ có một tập riêng về đồng thuận, vì đây là trái tim của mọi blockchain.
Ở tập này bạn chỉ cần nhớ: không ai tự tiện thêm trang được, và trang được thêm phải theo đúng luật mà cả mạng lưới đã thống nhất từ trước.
Máy tính thay cho người trong làng
Trong thực tế, một trăm hộ là hàng nghìn máy tính ở khắp nơi trên thế giới, gọi là các nút. Mỗi nút giữ một bản sao của sổ, kiểm tra từng giao dịch mới theo luật, và chuyển tiếp thông tin cho các nút khác.
Không cần ai đọc to ở đình làng, vì các máy tự gửi thông tin cho nhau qua internet. Không cần ai giám sát, vì mỗi máy tự kiểm tra theo bộ luật viết sẵn trong phần mềm.
Phần mềm đó thường là mã nguồn mở, nghĩa là ai cũng đọc được luật. Đây là một điểm quan trọng: niềm tin không dựa vào một người hay một công ty, mà dựa vào việc luật chơi được công khai.
Tuy nhiên, công khai không có nghĩa là ai cũng tự kiểm tra được. Phần lớn người dùng vẫn phải tin vào cộng đồng kỹ thuật đã đọc và kiểm tra luật đó. Nhận ra giới hạn này là một phần của việc hiểu đúng.
Blockchain giỏi việc gì và không giỏi việc gì
Blockchain giỏi giữ một bản ghi chung mà nhiều bên không tin nhau vẫn cùng chấp nhận được. Nó giỏi làm cho lịch sử khó bị viết lại.
Nhưng blockchain không giỏi lưu dữ liệu lớn, vì mọi máy đều phải giữ một bản. Nó thường chậm và tốn kém hơn một cơ sở dữ liệu bình thường. Và nó không biết được thông tin ngoài đời có đúng không: nếu ai đó ghi sai từ đầu, blockchain sẽ giữ cái sai đó rất cẩn thận.
Vì vậy, khi nghe một dự án nói mình dùng blockchain cho mọi thứ, hãy hỏi: ở đây có thật sự cần nhiều bên không tin nhau cùng giữ sổ không? Nếu không, một cơ sở dữ liệu thông thường có khi tốt hơn.
Chữ blockchain đôi khi được gắn vào để nghe cho hiện đại. Hiểu nó làm được gì giúp bạn nhận ra khi nào nó chỉ là lớp sơn bên ngoài.
Gói lại cái khung để nghe các tập sau
Một cuốn sổ chung, chia thành các trang nối nhau bằng dấu vân tay, được hàng nghìn máy cùng giữ, và chỉ được thêm trang mới theo một quy tắc đồng thuận tốn kém. Đó là toàn bộ cái khung.
Các tập tiếp theo trong danh mục này sẽ đi vào từng mảnh: dấu vân tay chính là hàm băm, quy tắc chọn người viết trang là đồng thuận, và chuyện chứng minh mình là chủ một khoản là chữ ký số.
Nếu có lúc thấy rối, hãy quay về hình ảnh ngôi làng. Mọi khái niệm phức tạp đều có chỗ đứng trong ngôi làng đó.
Và nhắc lại như mọi tập: đây là kiến thức về công nghệ, không phải lời khuyên mua bán hay đầu tư.
Câu hỏi thường gặp
Blockchain và Bitcoin có phải là một không?
Không. Blockchain là công nghệ sổ cái chuỗi khối, còn Bitcoin là một mạng lưới tiền mã hoá cụ thể dùng blockchain. Có rất nhiều blockchain khác nhau.
Vì sao dữ liệu trên blockchain khó bị sửa?
Vì mỗi khối chứa dấu vân tay của khối trước. Sửa một khối cũ phải tính lại mọi khối sau và làm điều đó trên đa số máy trong mạng lưới, rất tốn kém.
Nút trong blockchain là gì?
Nút là máy tính tham gia mạng lưới, giữ bản sao sổ cái, kiểm tra giao dịch theo luật chung và chuyển tiếp thông tin cho các máy khác.
Blockchain có biết thông tin ghi vào là đúng hay sai không?
Không. Blockchain chỉ bảo đảm bản ghi khó bị sửa sau khi đã ghi. Nếu thông tin ngoài đời bị ghi sai từ đầu, cái sai đó cũng được giữ lại.
Có phải dự án nào dùng blockchain cũng đáng tin?
Không. Dùng blockchain không làm một dự án đáng tin hơn. Hãy hỏi việc dùng blockchain ở đó có cần thiết không và ai thật sự kiểm soát hệ thống.