Blockchain là gì? Giải thích chi tiết về Blockchain

Written on December 12, 2021

Blockchain là gì?

Blockchain là một cơ sở dữ liệu phân tán, được mã hóa để ghi lại dữ liệu như các giao dịch, hợp đồng,… theo cơ chế lưu trữ thông tin gây khó khăn cho việc thay đổi dữ liệu, hack hoặc gian lận hệ thống. Về cơ bản, blockchain là một sổ cái kỹ thuật số (digital ledger) ghi lại các giao dịch và được sao chép, phân phối trên toàn bộ mạng lưới hệ thống máy tính của blockchain. Mỗi khối (block) trong chuỗi (chain) chứa một số giao dịch và mỗi khi một giao dịch (transaction) mới xảy ra trên blockchain, bản ghi của giao dịch đó sẽ được thêm vào sổ cái của mọi người tham gia. Blockchain là một loại sổ cái phân tán. Sổ cái phân tán sử dụng các máy tính độc lập (gọi là node) để ghi, chia sẻ và đồng bộ hóa các giao dịch trong sổ cái điện tử (electronic ledger) tương ứng của chúng (thay vì lưu dữ liệu tập trung như trong sổ cái truyền thống). Cơ sở dữ liệu phi tập trung (decentralised database) được quản lý bởi nhiều người tham gia trên nhiều node có tên gọi là Công nghệ sổ cái phân tán (Distributed Ledger Technology - DLT).

Các thành phần chính của hệ thống Blockchain
Các thành phần chính của hệ thống Blockchain

Công nghệ blockchain cho phép xây dựng các ứng dụng trong đó nhiều bên có thể ghi lại các giao dịch (transaction) trực tiếp mà không cần cơ quan trung ương (central authority) được tin tưởng để đảm bảo rằng các giao dịch đã được xác minh. Blockchain sử dụng mạng ngang hàng (peer-to-peer network) với mỗi bên tham gia trong mạng có thể truy cập sổ cái được chia sẻ. Sổ cái này chính là nơi ghi lại các giao dịch đã thực hiện. Những giao dịch này được thiết kế để không thể chỉnh sửa, thay đổi và có thể xác minh thông qua mật mã. Nhìn ở góc độ tổng quan, công nghệ blockchain bao gồm các thành phần:

  • Các giao dịch (transaction): Các giao dịch là thông tin có chữ ký được tạo bởi các node tham gia trong mạng sau đó sao chép đến các node khác còn lại trong mạng.
  • Các khối (block): Các khối là tập hợp các giao dịch được nối vào chuỗi (chain) sau khi được xác thực. Blockchain dựa trên Khóa công khai (Public keys) để kết nối các khối khác nhau lại thành một danh sách liên kết.
  • Sổ cái phân tán (distributed ledger): Sổ cái là một nhật ký ghi lại các giao dịch, lưu giữ toàn bộ lịch sử thay đổi dữ liệu. Sổ cái là không thể chỉnh sửa, các giao dịch đã xác nhận có thể được xác minh độc lập bởi mọi thành viên trong mạng. Mỗi thành viên của mạng đều duy trì một bản sao của sổ cái. Blockchain là một loại sổ cái phân tán của tất cả các khối (block) tạo thành mạng và được sử dụng bởi Bitcoin.
  • Thuật toán đồng thuận (consensus algorithm): Các thuật toán đồng thuật giúp thống nhất chung một phương pháp giữa các thành viên trong mạng để cho phép các giao dịch và dữ liệu được ghi vào sổ cái và thực thi các đoạn mã smart contract. Nếu các yêu cầu đồng thuận không được đáp ứng thì các giao dịch hoặc hoạt động được xem là không hợp lệ. Blockchain sử dụng thuật toán đồng thuận để quyết định khối (block) nào sẽ được thêm vào chuỗi (chain).
  • Hợp đồng thông minh (smart contract): Hợp đồng thông minh là các đoạn mã lập trình được thực thi trên mạng blockchain. Thông thường thì hợp đồng thông minh xác định các quy tắc của hợp đồng kinh doanh và được thực thi khi các điều kiện tiên quyết của hợp đồng đáp ứng. Ví dụ trong Bitcoin, hợp đồng thông minh sẽ thiết lập một tập hợp các điều kiện phải được đáp ứng để chuyển Bitcoin giữa những người dùng trên mạng.

Blockchain tổ chức dữ liệu thành danh sách liên kết các khối. Các khối được kết nối với nhau bằng cách sử dụng mã băm và mỗi khối tham chiếu đến khối trước đó trong chuỗi. Dữ liệu trong blockchain liên kết với nhau trong chế độ chỉ cho phép nối thêm khối mới vào các khối đã được ghi. Điều này khiến cho nội dung của khối khó có thể bị giả mạo vì bất kỳ thay đổi nào của khối sẽ làm cho tất cả các khối kế thừa tiếp theo trở nên không hợp lệ.

Sổ cái phân tán (distributed ledger)

Sổ cái phân tán là một cơ sở dữ liệu được chia sẻ và đồng bộ hóa trên các tổ chức hoặc khu vực địa lý khác nhau và nhiều người có thể truy cập được. Nó cho phép các giao dịch đều có bằng chứng công khai. Người tham gia tại mỗi node của mạng có thể truy cập các bản ghi được chia sẻ trên mạng đó và có thể sở hữu một bản sao giống hệt. Bất kỳ thay đổi hoặc bổ sung nào được thực hiện đối với sổ cái đều được phản ánh và sao chép lại cho tất cả những người tham gia khác chỉ trong vòng vài giây hoặc vài phút.

Sổ cái phân tán trái ngược với sổ cái tập trung. Sổ cái tập trung dễ bị tấn công mạng và gian lận hơn, vì nó chỉ có một điểm lỗi duy nhất (SPOF). Các sổ cái phân tán về cơ bản đều là một công nghệ tương tự được sử dụng bởi blockchain.

Thuật toán đồng thuận (consensus algorithm)

Không có cơ quan trung ương nào xác thực và xác minh các giao dịch trong mạng blockchain. Nhưng mọi giao dịch trong blockchain đều được coi là hoàn toàn bảo mật và đều được xác minh. Thuật toán đồng thuận là một cơ chế mà thông qua đó toàn bộ mạng blockchain đạt được thỏa thuận về trạng thái hiện tại của sổ cái phân tán. Thông qua cơ chế này, mạng blockchain thiết lập sự tin tưởng giữa các peer chưa biết nhau trong môi trường lưu trữ phân tán. Mạng blockchain dựa trên thuật toán đồng thuận PoW và được sử dụng bởi các thợ đào để tạo ra các khối mới. Các khối mới này sau đó được phát đi yêu cầu vào trong mạng để xác minh sự đồng thuận và ghi vào sổ cái.

Hợp đồng thông minh (smart contract)

Hợp đồng thông minh có thể xem là các chương trình máy tính (computer programs) được lưu trữ và thực thi trên mạng blockchain. Mỗi hợp đồng thông minh bao gồm đoạn mã xác định các điều kiện tiên quyết, khi được đáp ứng sẽ được thực thi tạo ra kết quả. Bằng cách chạy trên một chuỗi khối phi tập trung thay vì một máy chủ tập trung, các hợp đồng thông minh cho phép nhiều bên đi đến kết quả được chia sẻ với nhau một cách chính xác và chống giả mạo.

Cấu trúc dữ liệu của Blockchain

Cấu trúc dữ liệu của mỗi block trong Blockchain
Cấu trúc dữ liệu của mỗi block trong Blockchain

Cấu trúc dữ liệu của mỗi block trong blockchain bao gồm header section và body section.

Các block được liên kết với nhau theo dạng khá tương đồng với cấu trúc dữ liệu của danh sách liên kết. Trong danh sách liên kết, liên kết từ node trước trỏ đến node sau được gọi là con trỏ (pointer). Con trỏ là các biến lưu trữ địa chỉ của node tiếp theo. Nó được sử dụng để chuyển tiếp sang node tiếp theo trong danh sách liên kết. Node cuối cùng trong danh sách được liên kết có một con trỏ lưu giá trị là null biểu diễn danh sách đã kết thúc.

Trong cấu trúc dữ liệu của blockchain, liên kết từ block sau trỏ đến block trước được gọi là hash pointer. Hash pointer được sử dụng để tra cứu block trước đó của giao dịch và còn được sử dụng để xác minh rằng các giao dịch được lưu trữ trong block trước đó không bị giả mạo. Hash pointer là giá trị băm header data của block trước đó.

Cấu trúc dữ liệu phần body của mỗi block trong Blockchain
Cấu trúc dữ liệu phần body của mỗi block trong Blockchain

Các loại công nghệ Blockchain

Hiện tại có 3 nhóm công nghệ blockchain chính:

  • Public blockchain: Tất cả các bản ghi đều có thể xem được công khai trong loại blockchain này. Mọi người đều có thể tham gia vào quy trình đồng thuận, kiểm tra và còn có thể xác minh các giao dịch. Một chuỗi khối công khai có thể được đọc và ghi bởi tất cả mọi người trên toàn cầu. Tiền điện tử được xây dựng dựa trên public blockchain.
  • Private blockchain: Các node thuộc về một tổ chức cụ thể sẽ được cấp phép tham gia vào quá trình đồng thuận. Một private blockchain được coi là một mạng tập trung, do thực tế là chỉ có một tổ chức duy nhất kiểm soát nó hoàn toàn. Private blockchain thiết lập các giới hạn cho những người có thể đọc hoặc ghi chuỗi khối.
  • Consortium blockchain: Loại blockchain này được xây dựng kết hợp bao gồm cả private blockchainpublic blockchain. Nó thường cho phép các quan hệ đối tác như giữa doanh nghiệp với doanh nghiệp tương tác với nhau. Dữ liệu trong mạng bao gồm cả riêng tư hoặc công khai, được xem như một phần phi tập trung. Chỉ một tập hợp các node đã được chọn trước đó sẽ tham gia vào quy trình đồng thuận của chuỗi khối. Một số consortium blockchain tiêu biểu bao gồm R3CEV và Hyperledger.

Ứng dụng của công nghệ Blockchain

Các ứng dụng của công nghệ blockchain khá đa dạng trên nhiều lĩnh vực như dịch vụ tài chính, y tế, du lịch, bán lẻ, nhà hàng, khách sạn,… .

Dịch vụ tài chính: Công nghệ blockchain đã nhanh chóng được chấp nhận trong ngành tài chính và được triển khai ứng dụng theo nhiều cách khác nhau. Đối với các công ty dịch vụ tài chính, công nghệ này có thể cung cấp các yếu tố cho phép các giao dịch diễn ra nhanh hơn và tốn ít chi phí hơn, đảm bảo tính bảo mật cao hơn. Công nghệ blockchain đơn giản hóa toàn bộ quy trình liên quan đến quản lý tài sản và thanh toán bằng cách cung cấp các giao dịch tự động và tất cả những người tham gia sẽ có quyền truy cập vào cùng một dữ liệu chính xác về giao dịch. Điều này giúp giảm thiểu nhu cầu vào các nhà môi giới trung gian và đảm bảo tính minh bạch, quản lý hiệu quả dữ liệu của các giao dịch.

Dịch vụ y tế: Blockchain có thể tạo ra các giải pháp quan trọng trong lĩnh vực y tế bằng cách tăng tính riêng tư, bảo mật và khả năng tương tác của dữ liệu. Blockchain giải quyết nhiều thách thức về khả năng tương tác trong lĩnh vực này, cho phép chia sẻ an toàn dữ liệu chăm sóc sức khỏe giữa các thực thể khác nhau và những người có tham gia trong các quy trình y tế, chăm sóc sức khoẻ. Nó loại bỏ sự can thiệp của bên thứ ba và cũng tránh các chi phí phát sinh khác. Hồ sơ cá nhân hoặc bệnh án có thể được lưu trữ trong các cơ sở dữ liệu phân tán của mạng blockchain bằng cách mã hóa nó và sử dụng chữ ký số để đảm bảo tính riêng tư và tính xác thực.

Dịch vụ bán lẻ: Trong vòng vài năm gần đây, có một sự thay đổi trong tư duy về công nghệ blockchain với việc ngày càng nhiều tổ chức lớn trong lĩnh vực bán lẻ nhận ra tiềm năng của công nghệ này. Tính minh bạch của công nghệ blockchain có ý nghĩa trong việc truy xuất sản phẩm có nguồn gốc đến từ đâu, chúng có phải là hàng thật hay không và chúng ở tình trạng như thế nào. Nếu một sản phẩm bị lỗi, blockchain cho phép các nhà quản lý trong doanh nghiệp có truy xuất thông tin sản phẩm và trả lại thông qua chuỗi cung ứng, xác định các nhà cung cấp, nhà sản xuất và các lô hàng có liên quan. Các nhà bán lẻ có thể đảm bảo tính xác thực của sản phẩm đối với các sản phẩm được theo dõi trên nền tảng blockchain vì hàng giả sẽ thiếu lịch sử xác minh. Nhờ vào công nghệ này, các nhà bán lẻ có thể dễ dàng thu hồi sản phẩm và khắc phục các vấn đề của chuỗi cung ứng. Ngoài ra để ngăn chặn gian lận trong hoạt động mua bán, các công ty bán lẻ có thể lưu hóa đơn trên blockchain để đảm bảo chúng không bị thay đổi thông tin giữa người bán và người mua hàng.

Tài liệu tham khảo

Written by Nguyen Truong Long