Sau khi hiểu blockchain
là gì và vì sao công nghệ này ra đời, câu hỏi tiếp theo là: nếu phải tự xây dựng
một blockchain từ đầu, chúng ta sẽ bắt đầu từ đâu?
Thoạt nhìn, việc tạo ra một
hệ thống quản lý quyền sở hữu trong môi trường phi tập trung có vẻ không quá phức
tạp. Chỉ cần lưu lại ai đang sở hữu tài sản nào là đủ. Nhưng thực tế lại hoàn
toàn khác. Ngay khi không còn một tổ chức trung tâm kiểm soát, hệ thống phải đối
mặt với một thách thức rất lớn: làm thế nào để ngăn chặn một tài sản số bị sử dụng
hoặc chuyển nhượng nhiều lần cho những người khác nhau?
Đây chính là bài toán double
spending (chi tiêu hai lần) – một trong những rào cản lớn nhất đối với tiền
kỹ thuật số trước khi blockchain xuất hiện.
Trong bài viết này, chúng ta sẽ cùng khám phá vì sao double spending là vấn đề cốt lõi của tài sản số, những thành phần cần có để xây dựng một blockchain và cách blockchain sử dụng lịch sử giao dịch thay vì chỉ lưu trạng thái hiện tại để chứng minh quyền sở hữu một cách minh bạch và đáng tin cậy.
1. Vấn đề chi tiêu gấp đôi (Double-Spending)
Lấy ví dụ về một hệ thống
quản lý quyền sở hữu bất động sản ngang hàng:
- Trong mạng lưới này, mỗi thành viên giữ một bản sao sổ cái riêng thay vì một sổ cái trung tâm.
- Vấn đề nằm ở thời gian:
Khi quyền sở hữu nhà được chuyển từ người A sang người B, cần có thời gian
để thông tin này được truyền đi và cập nhật cho tất cả các thành viên
khác.
- Kẽ hở:
Trong lúc thông tin đang lan truyền, hệ thống ở trạng thái không nhất
quán. Một số người đã biết việc A bán cho B, nhưng một số khác thì
chưa.
- Người A có thể lợi dụng sự chậm trễ này để nhanh chóng thực hiện một giao dịch khác: bán chính ngôi nhà đó cho người C. Nếu sổ cái của người xác nhận giao dịch cho C chưa nhận được tin về người B, họ sẽ phê duyệt giao dịch này.
Kết quả là người A đã bán
một tài sản hai lần. Đây chính là lỗi chi tiêu gấp đôi và là ví dụ điển
hình nhất cho việc tính toàn vẹn của hệ thống bị vi phạm.
Ba cách hiểu về thuật ngữ "Double-Spending"
Thuật ngữ này có thể được
hiểu theo ba cấp độ khác nhau:
- Vấn đề sao chép dữ liệu số:
Dữ liệu máy tính có thể bị sao chép không giới hạn. Nếu tiền chỉ là một
file dữ liệu, bạn có thể gửi file đó cho nhiều người cùng lúc giống như gửi
một email cho nhiều địa chỉ. Điều này vi phạm nguyên tắc cốt lõi: một đơn
vị tiền tệ không thể thuộc về hai người cùng một lúc.
- Vấn đề của hệ thống sổ cái phân tán:
Xảy ra do sự chậm trễ trong việc cập nhật thông tin khiến các nút trong mạng
có dữ liệu khác nhau tại cùng một thời điểm, tạo cơ hội cho sự gian lận.
- Ví dụ về vi phạm tính toàn vẹn:
Ở mức độ trừu tượng nhất, đây là vấn đề về duy trì sự nhất quán dữ liệu
trong hệ thống phân tán. Khi dữ liệu không nhất quán, tính toàn vẹn bị phá
vỡ.
Blockchain giải quyết vấn đề này như thế nào?
Vì chi tiêu gấp đôi có
nhiều ý nghĩa, nên không có một giải pháp duy nhất cho tất cả. Tuy nhiên:
- Nếu coi đây là vấn đề quản lý sở hữu, bất kỳ hệ thống sổ cái nào (dù là trung tâm hay phân tán) hoạt động chính xác đều có thể giải quyết được.
- Trong bối cảnh hệ thống ngang hàng, Blockchain chính là giải pháp. Nó đóng vai trò là công cụ để đạt được và duy trì tính toàn vẹn, đảm bảo rằng thông tin được thống nhất trên toàn mạng lưới một cách an toàn, khiến việc chi tiêu gấp đôi trở nên bất khả thi.
Nhìn chung, điểm yếu lớn nhất của tiền kỹ thuật số trong mạng lưới phân tán là sự không nhất quán tạm thời. Mục đích tối thượng của Blockchain là lấp đầy kẽ hở đó để đảm bảo một tài sản không bao giờ có thể được chuyển nhượng hai lần.
2. Kế hoạch tổng thể
Chúng ta sẽ chuyển sang
giai đoạn tìm hiểu sâu hơn về cách thức vận hành thực sự của Blockchain. Đây là
bước đệm quan trọng, đóng vai trò như một "bản kế hoạch tổng thể"
nhằm trả lời câu hỏi: Làm thế nào để thiết kế một hệ thống quản lý sở hữu an
toàn trong một môi trường mở và không đáng tin cậy?
Bối cảnh của chúng ta là:
- Hệ thống ngang hàng (P2P) thuần túy:
Tận dụng máy tính của người dùng.
- Mạng lưới Internet:
Kết nối các máy tính khắp nơi.
- Môi trường "khắc nghiệt":
Chúng ta không biết có bao nhiêu máy tính tham gia, và quan trọng nhất là không
biết ai trong số họ là người tốt hay kẻ xấu.
Lộ trình 7 nhiệm vụ cốt lõi
Để thiết kế được
Blockchain, có 7 nhiệm vụ mà chúng ta phải giải quyết:
- Nhiệm vụ 1: Mô tả quyền sở hữu:
Chúng ta không thể chỉ tuyên bố "Tôi sở hữu cái này". Thay vào
đó, chúng ta dùng giao dịch (transactions) để ghi lại mọi lần chuyển
giao tài sản. Toàn bộ lịch sử giao dịch sẽ là bằng chứng để biết ai đang sở
hữu cái gì hiện tại.
- Nhiệm vụ 2: Bảo vệ quyền sở hữu:
Cần một cơ chế giống như "ổ khóa" để ngăn người khác tự ý lấy
tài sản của bạn. Chúng ta sẽ sử dụng Mật mã học (Cryptography) và Hàm
băm (Hash) để xác thực danh tính chủ sở hữu.
- Nhiệm vụ 3: Lưu trữ dữ liệu giao dịch:
Toàn bộ lịch sử giao dịch cần được cất giữ trong một "cuốn sổ cái kỹ
thuật số" an toàn. Đây chính là nơi khái niệm Cấu trúc dữ liệu
Blockchain xuất hiện.
- Nhiệm vụ 4: Chuẩn bị sổ cái để phân
tán: Vì sổ cái này sẽ nằm trên các máy tính không
đáng tin cậy, chúng ta phải làm cho nó không thể bị sửa đổi (Immutable).
Có một thủ thuật kỹ thuật để biến nó thành hệ thống "chỉ cho phép ghi
thêm" (append-only), khiến việc thay đổi dữ liệu cũ là bất khả thi.
- Nhiệm vụ 5: Phân tán sổ cái:
Sau khi sổ cái đã an toàn, chúng ta gửi các bản sao của nó cho tất cả mọi
người trong mạng lưới để họ cùng lưu giữ và trao đổi thông tin.
- Nhiệm vụ 6: Thêm giao dịch mới:
Khi có giao dịch mới, làm sao để đảm bảo chỉ những giao dịch hợp lệ mới được
ghi vào sổ? Giải pháp là để mọi thành viên giám sát lẫn nhau và
cung cấp các phần thưởng để khuyến khích họ làm việc trung thực.
- Nhiệm vụ 7: Quyết định đâu là "Sự
thật": Trong một mạng lưới phân tán, đôi
khi các máy tính nhận được thông tin khác nhau dẫn đến việc có nhiều phiên
bản sổ cái khác nhau. Chúng ta cần một tiêu chuẩn để cả mạng lưới đồng
thuận (Consensus) chọn ra một phiên bản duy nhất đại diện cho sự thật.
Blockchain không phải là
một phép màu, mà là sự kết hợp của 7 lời giải cho 7 bài toán logic nêu trên.
Để xây dựng niềm tin giữa những người lạ trên Internet, chúng ta cần một hệ thống ghi chép giao dịch rõ ràng, được bảo mật bằng mật mã, lưu trữ trong một cấu trúc không thể sửa đổi, và được bảo vệ bởi sự giám sát chung của toàn cộng đồng.
3. Cách Blockchain ghi chép lại quyền sở hữu
Hãy hình dung một cuộc
đua tiếp sức giữa các đội. Tại mỗi thời điểm, chỉ có duy nhất một vận động viên
trong đội cầm gậy tiếp sức. Để biết ai đang cầm gậy hiện tại, chúng ta
chỉ cần biết lần chuyển giao gậy cuối cùng là từ ai sang ai. Nếu chúng ta ghi lại
mọi lần chuyển gậy, thời gian và các vận động viên liên quan, chúng ta có thể
tái hiện lại toàn bộ quá trình cuộc đua. Blockchain xử lý quyền sở hữu tài sản
kỹ thuật số theo cách tương tự như vậy.
Dữ liệu Giao dịch so với Dữ liệu Kiểm kê
Đây là hai triết lý ghi
chép quyền sở hữu:
- Dữ liệu Kiểm kê (Inventory data):
Giống như số dư cuối cùng trong tài khoản ngân hàng của bạn; nó chỉ đưa ra
một tuyên bố hoặc khẳng định về trạng thái hiện tại.
- Dữ liệu Giao dịch (Transaction data):
Liệt kê mọi lần nạp, rút và chuyển tiền; nó không chỉ đưa ra con số mà còn
giải thích và chứng minh tại sao bạn có số tiền đó.
Blockchain chọn cách tiếp
cận dựa trên giao dịch. Toàn bộ lịch sử các giao dịch trở thành một dấu vết
kiểm toán (audit trail) cung cấp bằng chứng về việc mọi người đã có được
tài sản của mình như thế nào.
Một giao dịch Blockchain gồm những gì?
Một bản mô tả giao dịch
giống như một tờ lệnh chuyển tiền ngân hàng. Nó bao gồm các thông tin cơ bản
như:
- Định danh tài khoản chuyển đi.
- Định danh tài khoản nhận.
- Số lượng tài sản chuyển giao.
- Thời gian thực hiện.
- Phí giao dịch:
Người chuyển phải trả một khoản phí để hệ thống thực hiện lệnh.
- Mục đích chuyển tiền hoặc dữ liệu đi kèm.
- Bằng chứng đồng ý:
Chứng minh rằng chủ tài khoản chuyển thực sự đồng ý với giao dịch này.
Tại sao Thứ tự giao dịch lại cực kỳ quan trọng?
Trong Blockchain, việc giữ
đúng thứ tự các giao dịch là điều bắt buộc để có được kết quả sở hữu giống nhau
ở mọi lần kiểm tra.
Ví dụ: Nếu tài khoản của
bạn đang có 0 đồng, việc bạn "nhận được 50" là hợp lệ. Nhưng nếu thứ
tự bị đảo ngược (chi trước khi nhận), hệ thống sẽ từ chối vì bạn không có đủ số
dư. Do đó, thời gian và thứ tự ghi chép là yếu tố sống còn.
Ba quy tắc để duy trì Tính toàn vẹn
Để đảm bảo lịch sử giao dịch
không bị sai lệch, Blockchain chỉ chấp nhận các giao dịch thỏa mãn ba tiêu
chí:
1. Đúng
hình thức (Formal correctness): Mô tả giao dịch phải đầy
đủ thông tin và đúng định dạng yêu cầu.
2. Đúng
ý nghĩa (Semantic correctness): Giao dịch phải hợp lý về
mặt logic nghiệp vụ, ví dụ: không được chuyển đi nhiều hơn số tiền đang có và
không được chi tiêu gấp đôi.
3. Authorization: Chỉ chủ sở hữu hợp pháp của tài khoản
mới có quyền ra lệnh chuyển tài sản đi.
Trong Blockchain, "Sở hữu là kết quả của lịch sử". Bằng cách ghi lại mọi lần chuyển giao tài sản một cách có thứ tự và chính xác, hệ thống có thể chứng minh quyền sở hữu của bất kỳ ai vào bất kỳ lúc nào mà không cần sự khẳng định của một bên trung gian.
Kết luận
Muốn xây dựng một blockchain, trước hết phải giải quyết bài toán chi tiêu một tài sản hai lần (double spending), xác định các thành phần cần có của hệ thống và tìm ra cách ghi nhận quyền sở hữu thông qua lịch sử giao dịch.
Đầu tiên, blockchain phải
giải quyết bài toán double spending để đảm bảo cùng một tài sản số không thể bị
chuyển giao nhiều lần. Tiếp theo, chúng ta phác thảo bản thiết kế tổng thể của
một blockchain với các nhiệm vụ như mô tả quyền sở hữu, bảo vệ quyền sở hữu,
lưu trữ dữ liệu giao dịch, phân phối sổ cái và đạt được sự đồng thuận giữa các
nút trong mạng. Cuối cùng, blockchain lựa chọn ghi nhận toàn bộ lịch sử giao dịch
thay vì chỉ lưu trạng thái hiện tại, bởi chính lịch sử đó mới là bằng chứng đầy
đủ để chứng minh quyền sở hữu và truy vết mọi thay đổi theo thời gian.
Điểm đáng chú ý là
blockchain không coi giao dịch chỉ là sự thay đổi số dư tài khoản. Mỗi giao dịch
đều trở thành một phần của lịch sử bất biến, và toàn bộ lịch sử này tạo thành bằng
chứng xác thực về nguồn gốc và quá trình chuyển giao tài sản.
Trong bài viết tiếp theo, chúng ta sẽ tìm hiểu các nền tảng kỹ thuật đầu tiên giúp blockchain bảo vệ dữ liệu: hàm băm (hash function) và giá trị băm (hash value). Đây là những "dấu vân tay số" giúp blockchain phát hiện mọi thay đổi đối với dữ liệu và là nền tảng để xây dựng tính toàn vẹn của toàn bộ hệ thống.
Comments
Post a Comment