Tổng quát BlockChain - Nền tảng ứng dụng trong tương lai

Tổng quát BlockChain - Nền tảng ứng dụng trong tương lai
access_time 1/19/2018 12:00:00 AM
person Nguyễn Mạnh Hùng

1. Tổng quát BlockChain.

Công nghệ BlockChain ngày trở lên phổ biến trên thế giới cũng như ở Việt Nam, Công nghệ BlockChain được mọi người biết đến thông qua sự giới thiệu của Bitcoin cũng như các đồng tiền kỹ thuật số khác. Cơ chế và cách thức hoạt động của Bitcoin được Satoshi Nakamoto giới thiệu năm 2018 với tiêu đề “A Peer-To-Peer Electronic Cash System” được dịch là “Hệ thống tiền điện tử trên mạng Ngang hàng”, bài viết này mô tả cách thức xử lý của tiền điện tử trên mạng ngang hàng (P2P) và cách thức thanh toán trực tuyến thông qua cơ chế gửi trực tiếp từ các nút (Các thiết bị tham gia mạng ngang hàng như máy tính) với nhau mà không cần phải thông qua tổ chức tài chính đứng làm trung gian.

Sau khi Bitcoin được phát hành trên thế giới nhiều người biết đến BlockChain, đó là nền tảng ẩn sau Bitcoin. Thực chất BlockChain tương tự như cơ sở dữ liệu, ngoại trừ sự tương tác giữa chúng là khác biệt.

Bản chất của BlockChain là cơ sở dữ liệu phân tán có chứa các bản ghi hoặc chứa toàn bộ các lịch sử của các quá trình giao dịch hoặc các sự kiện đã được thực thi và được chia sẻ giữa các bên tham gia trong hệ thống mạng ngang hàng (P2P).

Vậy nếu phân tích một cách theo ngôn ngữ thì BlockChain là: BlockChain = Block + Chain đó chính là 1 danh từ ghép có sự kết hợp giữa các khối (Block) được liên kết với nhau để tạo thành chuỗi (Chain), mỗi khối đều chứa thông tin thời gian khởi tạo, và các thông tin khác, nó được liên kết với các khối trước.

Xét về mặt cấu trúc dữ liệu thì nó cũng có kiểu tương tự như Danh sách liên kết nhưng cơ chế xử lý của nó có những nét đặc thù riêng. 


Hình số 1 : Mạng BlockChain

2. Đặc điểm cơ bản của BlockChain

Các đặc điểm cơ bản của BlockChain :

+ Công khai : Bất kỳ ai cũng có thể hiển thị nó ở bất cứ thời gian nào, bởi vì nó cư trú trên mạng, và không trực thuộc một tổ chức nào phải duy trì và nắm giữ về nó.

+ BlockChain là được mã hóa:  nó sử dụng cơ chế mã hóa thông qua cặp khóa khóa công khai/khóa bảo mật (Public key/private key) nhằm để đảm bảo tính bảo mật trong hệ thống.

+ BlockChain hoạt động theo mô hình phân tán dựa trên kiến trúc mạng ngang hàng P2P, nó chạy trên hàng triệu các trang thiết bị như máy tính, điện thoại di động …

+ Dữ liệu lưu trữ không chỉ đơn thuần là thông tin mà còn có thể chứa các thông tin liên quan tới hành vi như thông tin dữ liệu về giao dịch.

+ BlockChain được thiết kế để chống lại sự thay đổi của dữ liệu, khi dữ liệu được cập nhật lên mạng thì khó thay đổi được.

+ Nếu một phần của hệ thống BlockChain bị hỏng, các nút (Máy tính và các thiết bị khác như di động …) tham gia vào hệ thống khác sẽ tiếp tục hoạt động và bảo vệ hệ thống BlockChain.

3. Cấu trúc Block

Một Block chứa các trường dữ liệu và phần Header của nó. Phần Header của Block chứa các thông tin đặc tả về Block (Meta data) và chứa danh sách các thông tin giao dịch (transaction).


Bảng số 1 : Mô tả cấu trúc Block

 Phần đầu thông tin của block (Block Header) đặc tả dữ liệu về Block, nội dung thông tin của nó bao gồm 3 phần :

+ Phần dữ liệu đặc tả đầu tiên: Tham chiếu tới giá trị băm của Block trước đó. Tất nhiên bock trước đó cùng nằm trong một BlockChain.

+ Phần dữ liệu đặc tả thứ 2: Có tên lần lượt là  difficulty (Độ khó), timestamp (Thời gian tạo ra Block), và nonce (Giá trị biến thiên để tìm ra giá trị bam thỏa mãn yêu cầu của mỗi Blockchain) các thông tin này liên quan tới việc kiểm tra tính nhất quán về mặt dữ liệu khi xử lý mining (Đào). Quá trình đào được thực hiện ở mỗi nút, bản chất chính là quá trình tính toán, chi tiết mô tả quá trình tính toán (Mining - đào) như thế nào tôi sẽ mô tả chi tiết ở các bài viết sau.

+ Phần dữ liệu đặc tả thứ 3: Chính là cây Merkle, Đây là một cấu trúc được đặc tả theo hình cây, cấu trúc này cho phép nâng cao tính hiệu quả trong việc xử lý các giao dịch trong Block.  


Bảng số 2 : Cấu trúc của Block header

 

4. Chuỗi các khối

Mỗi một Block được tham chiếu tới block trước đó (Block cha), nếu bất kỳ nội dung ở phần đầu của block (Block Header) bị sửa đổi, thì các giá trị băm trực thuộc Block header con trực thuộc sẽ bị sai. Sửa đổi giao dịch cũng có thể phát hiện được.


Hình số 2 : Block với 1 phần giá trị băm của Block Header trước đó

Dữ liệu lưu trữ trong BlockChain là không thể thay đổi, nếu một giao dịch trong BlockChain bị sửa đổi, thay thế hoặc xóa bỏ, cây Merkle liên quan tới khối Block này sẽ phát hiện ra sự không chính xác này. Khi cây Merkle thay đổi giá trị băm ở phần đầu của nó sẽ khác với giá trị băm ở phần đầu của khối Block mà nó liên kết đến. Trong thực tế sự thay đổi của một giao không chính xác sẽ ảnh hưởng tới tất cả các khối con cháu (Các khối con có tham chiếu với khối này)có liên quan.


vertical_align_top
share
Chat...