Khái quát về cơ cấu của Blockchain

Trong bài viết này, mình sẽ dùng hình ảnh để giải thích cơ cấu của blockchain. Công nghệ blockchain được mệnh danh là công nghệ mới của công cuộc cách mạng internet, nhưng số người hiểu về công nghệ này là không nhiều. Hãy cùng nhau tìm hiểu về blockchain.

Blockchain là công nghệ cốt lõi của Bitcoin (đồng tiền ảo đang nhận được sự quan tâm của thị trường).

Blockchain là gì?

Blockchain được gọi là một cuốn sổ cái phân tán, giúp tất cả những người tham gia có thể cùng quản lý dữ liệu giao dịch bằng cách phân tán dữ liệu đó ra cho tất cả mọi người.

Hiện tại có rất nhiều dịch vụ đang hoạt động dựa trên blockchain, nhưng ở bài này mình sẽ giải thích về đặc trưng của cơ cấu cơ  bản của blockchain đang được dùng trên bitcoin.

Blockchain có hai đặc trưng:

-Không có điểm SPOF (single point of failure).

Điểm SPOF giống như“con tim”, ám chỉđiểm mà khi điểm đó gặp trục trặc hay hỏng hóc thì toàn bộ hệ thống sẽ bị đình chỉ.

-Rất khó bị can thiệp trái phép từ bên ngoài.

Trong mạng lưới P2P, dựa vào việc thực hiện chế độ không có điểm SPOF, sử dụng cấu trúc dữ liệu theo kiểu giá trị hash (sẽ nói rõ thêm ở phần dưới) và thuật toán đồng thuận mà hệ thống blockchain rất khó bị can thiệp từ bên ngoài.

Cấu trúc cơ bản của blockchain.

Để hiểu được cấu trúc của blockchain, trước hết bạn cần phải hiểu về:

-Mạng lưới P2P

-Cấu trúc dữ liệu block

-Vai trò của hashchain

-Thuật toán đồng thuận

Mạng lưới P2P

Trong hình trên, mình so sánh về mạng lưới theo kiểu máy chủ máy khách và mạng lưới P2P.

Mạng lưới theo kiểu máy chủ và máy khách có một máy chủ ở trung tâm của mạng, nó có vai trò “quản lý toàn bộ dữ liệu của mạng”.

Trong mạng lưới này, nếu một khi máy chủ bị hack thì toàn bộ hệ thống sẽ bị sập, và toàn bộ mạng sẽ không thể truy cập vào.

Trong mạng lưới kiểu máy chủ và máy khách, máy chủ chính là điểm SPOF.

Mặt khác, mạng lưới P2P là viết tắt của “Peer to Peer”, trong đó tất cả các máy tính tham gia được kết nối trực tiếp với nhau, mỗi máy tính sẽ mang trong mình cùng một dữ liệu chung.

Peer có nghĩa là tương đương, ngang bằng, ám chỉ mối quan hệ bình đẳng giữa các máy tính trong hệ thống.

Trong hệ thống “blockchain P2P”, mỗi máy tham gia sở hữu cùng một dữ liệu phân tán, do đó khi có một máy bị hack thì cũng không thể gây ảnh hưởng tới toàn bộ hệ thống.

Cấu trúc dữ liệu block

Các block của blockchain chứa “dữliệu của nhiều giao dịch khác nhau”, “giá trị hash của dữ liệu giao dịch trước đó” và “nonce”.

Giá trị hash là gì?

Giá trị hash là giá trị nhận được sau khi mã hoá một dữ liệu (một chuỗi).

Trong giá trị hash, “hầu như không có chuyện những dữ liệu khác nhau có cùng một giá trị hash”, tương đương với việc “dữ liệu thay đổi thì giá trị hash cũng thay đổi”.

Trong hình dưới đây minh hoạ chỉ duy nhất một chữ cái ‘c’ bị bỏ đi thôi cũng khiến giá trị hash bị thay đổi.

Nhờ đặc trưng này của blockchain mà hệ thống này dễ dàng phát hiện ra những thay đổi.

“giá trị hash của block” = “giá trị hash của block trước” + “dữ liệu giao dịch” + “nonce”.

Nonce là gì?

Nonce là viết tắt của “number used once”, dịch ra tiếng Việt có nghĩa là con số chỉ được dùng một lần. Đó là con số cần thiết để tạo ra một block. Con số này không được lưu sẵn ở trong block, mà nó có được dựa vào tính toán khi muốn tạo ra một block mới.

Các bước để tìm ra nonce:

  1. Mã hoá “giá trị hash của block trước” với “dữ liệu giao dịch”.
  2. Tìm giá trị của dữ liệu này với một điều kiện cho trước.

Đối với bitcoin, nếu không tìm được “nonce” thì không thể lưu được block mới vào blockchain.

Để tìm được con số này cần một khối lượng tính toán rất lớn (vài trăm tỉ phép toán trở lên), và đối với bitcoin việc đi tìm con số này gọi là đào (mining).

Tuy nhiên, nếu xét nghiêm ngặt thì không phải cứ tìm được nonce là có thể thêm được block mới vào blockchain.

Bn cn phi “tìm ra nonce và nhn được sự tha nhn tính chính xác ca con số đó từ nhng người khác”.

Hashchain

Các block trước và sau được nối với nhau bằng giá trị hash, vậy nên hệthống các block nối với nhau như này được gọi là hashchain.

Giả dụ như ở hình trên, nếu block N bị thay đổi giá trị hash thì giá trị hash của block N+1 cũng bịthay đổi theo.

Lý do là vì “giá trị hash của block” = “giá trị hash của block trước” + “dữ liệu giao dịch” + “nonce”.

Tuy nhiên, lúc này nonce có được dựa trên tính toán không bị thay đổi.

Đối với blockchain, khi có sựcan thiệp từ bên thứ ba thì đó không phải là một vụ can thiệp vào dữ liệu giao dịch mà đó là việc “phát hành lại nonce của toàn bộcác giá trị hash của block đã thay đổi”.

Thuật toán đồng thuận

Thuật toán đồng thuận ám chỉ các hành động liên tiếp dùng đểxác nhận tính chính xác (có bịcan thiệp từbên ngoài hay không) của các block trong blockchain.

Cứ 10 phút hệthống sẽ thực hiện thao tác kiểm tra đối chiếu tính chính xác của các giao dịch bằng hàng tỉ các phép toán.

Tác vụ tính toán cực lớn này dùng để tìm ra giá trị của nonce tương ứng với giá trị hash của block.

Giả sử khi block thứ n bị truy cập và thay đổi từ một bên thứ 3, giá trị hash của tất cả những block phía sau (ổ khoá) đều thay đổi, vì thế nếu không tìm được nonce (khoá) tương ứng thì sẽ không thể xác nhận giao dịch.

Cũng giống như vậy, tất cả các block phía sau block n đều thực hiện thao tác này.

 

Biên tập: Phạm Duy

Theo: moblock.jp

CHIA SẺ ĐỂ LAN TỎA

0Shares
0

Bình Luận

comments

Bài viêt liên quan