Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Blockchain thường bị gắn liền với tiền mã hóa và những câu chuyện làm giàu, nên dễ gây nhầm lẫn giữa công nghệ và đầu cơ. Bài viết này chỉ nói về phần kỹ thuật: blockchain là gì, smart contract làm gì, và những hạn chế mà lập trình viên nên biết. Nội dung không phải lời khuyên đầu tư.
Blockchain là một sổ cái ghi chép được nhân bản trên nhiều máy tính (node) trong mạng. Dữ liệu được gom thành các khối (block). Mỗi khối chứa mã băm (hash) của khối trước nó, tạo thành một chuỗi. Nếu ai đó sửa dữ liệu ở khối cũ, mã băm đổi, kéo theo mọi khối sau bị sai, nên việc gian lận dễ bị phát hiện.
Hàm băm biến dữ liệu đầu vào bất kỳ thành chuỗi có độ dài cố định, thay đổi nhỏ ở đầu vào sẽ cho kết quả hoàn toàn khác. Ví dụ minh họa bằng Python:
import hashlib
def bam(du_lieu: str) -> str:
return hashlib.sha256(du_lieu.encode("utf-8")).hexdigest()
print(bam("khoi 1"))
print(bam("khoi 2")) # kết quả hoàn toàn khác
Một chuỗi đơn giản hóa có thể được mô phỏng như sau:
import hashlib, json
def tao_khoi(chi_so, du_lieu, hash_truoc):
khoi = {"chi_so": chi_so, "du_lieu": du_lieu, "hash_truoc": hash_truoc}
khoi["hash"] = hashlib.sha256(
json.dumps(khoi, sort_keys=True).encode()
).hexdigest()
return khoi
k0 = tao_khoi(0, "khởi tạo", "0")
k1 = tao_khoi(1, "A gửi B 5 đơn vị", k0["hash"])
print(k1["hash_truoc"] == k0["hash"]) # True
Đây chỉ là mô hình giáo dục. Mạng thực tế còn cần cơ chế đồng thuận để các node thống nhất khối nào hợp lệ.
Vì không có bên trung tâm, mạng cần quy tắc để mọi người đồng ý về trạng thái chung. Hai nhóm phổ biến là Proof of Work (giải bài toán tính toán tốn năng lượng) và Proof of Stake (người xác thực đặt cược tài sản làm bảo đảm). Mỗi cơ chế có đánh đổi riêng về bảo mật, chi phí và tốc độ.
Smart contract (hợp đồng thông minh) là đoạn chương trình được lưu và chạy trên blockchain. Khi điều kiện được thỏa, nó tự động thực thi và không bên nào sửa được kết quả sau khi giao dịch được xác nhận. Ví dụ ý tưởng: một hợp đồng giữ tiền đặt cọc và tự động trả cho người bán khi người mua xác nhận nhận hàng.
Trên một số nền tảng, smart contract thường được viết bằng ngôn ngữ như Solidity; nền tảng khác dùng Rust hoặc ngôn ngữ riêng.
Khi nhiều bên không hoàn toàn tin nhau cần dùng chung một nguồn sự thật, không muốn phụ thuộc vào trung gian, và chấp nhận đánh đổi về hiệu năng. Nếu bạn không thể nêu rõ vì sao cơ sở dữ liệu thường không đáp ứng được, có lẽ bạn chưa cần blockchain.
Bạn cần hiểu khái niệm mật mã cơ bản như băm và chữ ký số, nhưng không cần tự cài đặt thuật toán. Kiến thức lập trình vững quan trọng hơn.
Làm quen với hàm băm, thử mô phỏng chuỗi khối nhỏ như trên, rồi đọc tài liệu chính thức của một nền tảng và viết hợp đồng đơn giản trên mạng thử nghiệm.
Blockchain là công nghệ thú vị với những trường hợp sử dụng cụ thể, không phải phép màu. Hiểu bản chất và giới hạn của nó giúp bạn đánh giá dự án tỉnh táo và biết khi nào nên dùng, khi nào không.
Nếu cần củng cố nền tảng lập trình và bảo mật trước khi bước vào lĩnh vực này, mời bạn xem các khóa học tại codebem.com.
Nguyễn Đình Cường
0 comment