Blockchain Immutability


🔹 1. Cấu trúc của Blockchain

Blockchain là một chuỗi các khối (blocks), trong đó:

  • Mỗi block chứa dữ liệu giao dịch, timestamp, và hash của chính nó.

  • Đồng thời, nó còn chứa hash của block trước đó.

👉 Điều này tạo ra mối liên kết chuỗi: Block N → chứa hash của Block N-1.


🔹 2. Cơ chế "liên kết bằng hash"

Ví dụ:

Block #1: hash = 1111
Block #2: previousHash = 1111, hash = 2222
Block #3: previousHash = 2222, hash = 3333

Nếu bạn thay đổi dữ liệu trong Block #1, thì:

  • Hash của Block #1 sẽ thay đổi (1111 → khác),

  • Điều đó làm cho previousHash trong Block #2 không còn khớp nữa,

  • Do đó, hash của Block #2 cũng sai → và cứ thế lan tỏa toàn chuỗi.


🔹 3. Vì sao gọi là “Immutable”

"If the hash of the last block cannot be changed, the whole blockchain becomes immutable."

Ý là:

  • Nếu hệ thống ngăn chặn việc thay đổi block cuối cùng (và hash của nó), thì mọi block trước đó cũng không thể bị thay đổi, vì thay đổi bất kỳ block nào sẽ làm toàn bộ chuỗi hash phía sau không hợp lệ.

Nói cách khác:

Một khi dữ liệu được ghi vào blockchain và được xác nhận (đào hoặc consensus xong), nó không thể bị sửa đổi hay xóa bỏ mà không làm hỏng toàn bộ chuỗi.


🔹 4. Tại sao khó thay đổi được

Bởi vì:

  • Để thay đổi một block cũ, bạn phải tính lại hash cho tất cả các block sau đó.

  • Trong blockchain thực tế (như Bitcoin, Ethereum...), việc tính lại này đòi hỏi sức mạnh tính toán cực lớn, hầu như bất khả thi.

  • Đồng thời, mạng lưới phân tán (nhiều node lưu bản sao) sẽ phát hiện và từ chối chuỗi bị thay đổi.


🔹 5. Ví dụ minh họa đơn giản

Giả sử:

Block #1: Data = A → Hash = 123
Block #2: Data = B, PrevHash = 123 → Hash = 456
Block #3: Data = C, PrevHash = 456 → Hash = 789

Nếu bạn sửa “Data = A” thành “X” ở Block #1:

  • Hash của Block #1 thay đổi → ví dụ thành 999

  • PrevHash của Block #2 (vẫn là 123) không còn đúng nữa.

  • Tức là toàn bộ chuỗi trở nên không hợp lệ.


🔹 6. Tóm tắt dễ hiểu

Khái niệm
Giải thích

Hash

Dấu vân tay duy nhất của block

Previous Hash

Liên kết tới block trước đó

Immutability

Tính không thể thay đổi dữ liệu sau khi ghi vào

Kết quả

Bất kỳ thay đổi nào ở 1 block → làm hỏng toàn chuỗi


Last updated