Blockchain từ A-Z Phần 1
Xin chào mọi người. Chắc hẳn đôí với chúng ta thì Blockchain là một từ không còn mấy xa lạ, tuy nghe nói đến nhiều là thế nhưng thực sự chúng ta đã hiểu rõ bản chất của Blockchain hay chưa và cách nó triển khai như thế nào ? Nếu chưa thì bạn đã đến đúng nơi rồi đấy =)), hãy ngồi xuống cùng Bắc làm tách trà và cùng nhau đàm đạo về chủ đề này nhé !
Bài viết này được chia làm 3 phần và hôm nay chúng ta sẽ đi vào phần 1 với các nội dung :
- Cha đẻ và lịch sử hình thành của Blockchain
- Blockchain là gì ?
- Network là gì ?
- Thuộc tính Blockchain
- Các thành phần của mạng Blockchain
- Cách thức hoạt động của Blockchain
- Các loại Blockchain
Cha đẻ và lịch sử hình thành của Blockchain
Khi tìm hiểu một người thì chúng ta không thể thiếu bước tìm hiểu bố mẹ người đã sinh người đó đúng không 😀. Nhiều nguồn cho rằng Blockchain được khai sinh bởi cha đẻ Bitcoin Satoshi Nakamoto. Thực tế thì khái niệm Blockchain đã có từ những năm 90 và sự kiện được xem là đặt nền móng ban đầu cho Blockchain đó là mô hình cây Merkle, được đặt tên theo tên của nhà khoa học Ralph Merkle. Trong luận án của mình Merkle đã mô tả cách tiếp cận nhằm phân phối chữ ký số và cung cấp một cấu trúc dữ liệu để có thể xác minh các bản ghi dữ liệu riêng lẻ
Blockchain là gì ?
Để trả lời cho câu hỏi này chúng ta cùng phân tích tên gọi của nó "Block" và "chain" Block là các khối, chain là chuỗi. Hiểu đơn giản Blockchain là một chuỗi khối chứa các giao dịch được liên kết với các khối trước đó. Trong các khối đó mọi thông tin được lưu trữ và truyền tải một cách minh bạch, toàn vẹn, không thể nào thay đổi hay gian lận được Đây được xem là cách lưu trữ và truyền tải dữ liệu thông minh, an toàn, minh bạch bậc nhất hiện nay. Chính sự ra đời của blockchain, đã tạo ra một hơi hướng mới mẻ cho ngành công nghệ – tài chính thế giới, thế giới của công nghệ blockchain Một cách định nghĩa hàn lầm hơn thì Blockchain là một database phân tán mà trong đó các dữ liệu được lưu trữ dưới dạng các blocks. Body của một block mang theo các transactions trên dữ liệu. các blocks được nối với nhau dưới dạng mã hóa SHA256
Network là gì?
Tiếp theo chúng ta cùng tìm hiêủ về khái niệm Network. Nói về Network chúng ta hãy hiểu đơn giản như là hệ mạng LAN mà chúng ta đang dùng đó. Các máy tính trong quán Net thường được thiết kế theo mô hình mạng LAN, mình còn nhớ ngày xưa đi ra quán net tải phim mỗi lần tải phim là cả quán đều lag =))) vì cả quán đang xài chung một Network. Ví dụ như trong Game Liên Quân 10 người tham gia một trận đấu là đang cùng tham gia 1 Network Trong một Network thì các thiết bị và ứng dụng có thể giao tiếp và chia sẻ dữ liệu với nhau tương tự trong Blockchain trong cùng 1 Network mỗi node có thể truyền thông tin và dữ liệu về các giao dịch, khối mới và các thông báo khác trên Network chung
Các thuộc tính của Blockchain
Bất biến và phân tán (Immutable, Distributed) là hai thuộc tính cơ bản của Blockchain
Đúng như cái tên Bất biến thì nó được thể hiện trong Blockchain ở việc khi có thông tin được thêm vào một block thì nó rất khó để có thể sửa hay là xóa đi. Mỗi khi một transaction mới được thêm vào, nó sẽ được viết vào một block mới và sau đó block sẽ được "đóng kín", có nghĩa là không thể chỉnh sửa hoặc xóa các thông tin transaction đã được thêm
Tính phân tán (Distributed) của blockchain được thể hiện qua việc dữ liệu trong Blockchain được lưu trữ trên nhiều nút trong một Network thay chỉ lưu ở điểm duy nhất. Mỗi nút trong Network đều sẽ giữ một bản sao của toàn bộ dữ liệu blockchain. có nghĩa là dữ liệu** không phụ thuộc** vào một máy chủ trung tâm hay tổ chức duy nhất nào mà nó được phân phối trên nhiều nút khác nhau trên toàn cầu
=> Nhờ vào 2 tính chất quan trọng trên của Blockchain khiến nó trở nên tính đáng tin cậy và an toàn bảo mật
Các thành phần của mạng Blockchain
Muốn hiểu được Blockchain hoạt động như thế nào thì chúng ta phải biết bên trong nó có các thành phần gì hãy cùng mình tìm hiểu ngay nhé. Gét Goooo 😀
Trong Blockchain có 5 thành phần chủ yếu đó là:
-
Sổ cái phân tán (Distributed Ledger): Cái này là một hệ thống lưu trữ dữ liệu chứa thông tin giao dịch (transactions) được phân tán trên nhiều máy tính hoặc nút mạng trong một mạng lưới Blockchain Khi có giao dịch mới được thêm vào sổ cái phân tán thì phải được xác nhận bởi một số lượng lớn các nút trong mạng lưới trước khi được chấp nhận
-
Mạng lưới ngang hàng (Peer-to-peer network – P2P): Đây là một mạng lưới trong đó mỗi nút trong mạng lưới có thể hoạt động như cả một máy chủ và một máy khách, cho phép truyền dữ liệu trực tiếp giữa các nút mà không cần thông qua máy chủ trung gian Chức năng: Tăng tính khả dụng và bảo mật bằng cách loại bỏ sự phụ thuộc vào một máy chủ trung gian
-
Cơ chế đồng thuận (Consensus Mechanism): Đây là quá trình mà các nút trong mạng lưới Blockchain đạt được sự thỏa thuận về trạng thái của sổ cái phân tán và xác nhận các giao dịch mới Chức năng: Đảm bảo rằng mọi nút trong mạng lưới đồng thuận về trạng thái của Blockchain, ngăn chặn các cuộc tấn công và đảm bảo tính toàn vẹn của dữ liệu.
-
Mật mã học (Cryptography): Mật mã học đảm bảo tính bảo mật của thông tin trên Blockchain bằng cách mã hóa dữ liệu để ngăn chặn việc truy cập trái phép Mỗi giao dịch và khối dữ liệu trên Blockchain được mã hóa bằng các phương pháp mật mã hóa như mã hash, chữ ký số, và mã hóa khóa công khai Chức năng: Bảo vệ thông tin cá nhân và đảm bảo tính an toàn của hệ thống khỏi các cuộc tấn công và thất thoát dữ liệu.
-
Máy ảo (Virtual Machine): Máy ảo Blockchain là một môi trường chạy các hợp đồng thông minh (smart contracts), cho phép các ứng dụng được triển khai và thực thi trên Blockchain mà không cần một máy chủ trung gian Máy ảo thực thi các hợp đồng thông minh bằng cách sử dụng ngôn ngữ lập trình Turing-complete, như Solidity trong Ethereum, và chạy trên mỗi nút trong mạng lưới Chức năng: Tạo ra một môi trường phát triển ứng dụng phi tập trung và an toàn, cho phép triển khai các ứng dụng phi cần trung gian trên Blockchain
Cách thức hoạt động của Blockchain
Sau khi đã tìm hiểu những thành phần liên quan tới Blockchain thì bây giờ chúng ta sẽ xem cơ chế hoạt động của nó như thế nào nhé Blockchain chủ yếu hoạt động bằng cách tạo ra và xác nhận các giao dịch, đưa các giao dịch vào các khối (block), mã hóa và thêm vào sổ cái phân tán và thực hiện các hợp đồng thông minh. Về cơ bản theo mình hiểu nó sẽ hoạt động như sau:
1.Tạo giao dịch: Quá trình bắt đầu với việc tạo ra các giao dịch. Mỗi giao dịch chứa thông tin về số tiền, chữ ký mã hóa, thông tin về người gửi và người nhận. Nguồn gốc của các giao dịch trên Blockchain có thể đến từ người dùng chuyển tiền, ký kết hợp đồng thông minh hoặc thực hiện các hoạt động khác mà Blockchain hỗ trợ
2.Tạo Block: Sau khi đã có các giao dịch ( transaction ) các giao dịch được gom lại thành các khối (blocks). Mỗi khối chứa một tập hợp các giao dịch cũng như thông tin về khối trước đó.
3.Mã hóa khối: Mỗi khối sau khi được tạo ra sẽ được mã hóa bằng mã hash và sau đó được thêm vào sổ cái phân tán, đến đây chúng ta đã có một chuỗi khối (blockchain). Mỗi khối chứa một liên kết đến khối trước đó thông qua mã hash của nó. ( Trong phần tiếp theo mình sẽ đề cập tới cách mã hóa và xác thực như thế nào nhé )
4.Xác nhận Block và cơ chế đồng thuận: Trước khi một khối mới được thêm vào chuỗi, các node trong network phải đồng thuận rằng thông tin trong khối là hợp lệ. Quá trình này được thực hiện thông qua cơ chế đồng thuận, cơ bản sẽ có 2 cơ chế là Proof of Work hoặc Proof of Stake trong phần tiếp theo mình sẽ nói rõ hơn về 2 thằng này. Khi một khối mới được chấp nhận nó sẽ được thêm vào chuỗi và công việc đồng thuận tiếp tục với các khối tiếp theo
5.Thực thi Smart contracts: Nếu một Blockchain hỗ trợ hợp đồng thông minh, sau khi một khối được thêm vào, các hợp đồng thông minh có thể được thực thi trên một máy ảo Blockchain
6.Phân phối thưởng và cập nhật trạng thái Block: Trong một số Blockchain sử dụng Proof of Work, các thợ đào hay được gọi với cái tên coin thủ sẽ được thưởng với tiền điện tử (ví dụ: Bitcoin) hoặc phí giao dịch. Các trạng thái của tài sản được cập nhật và phân phối đến các nút trong mạng lưới
Các loại Blockchain
Cuối cùng trong phần 1 này mình sẽ giới thiệu tới các bạn 3 loại blockchain chính
Public Blockchain: Loại này xuất hiện phổ biến nhất các loại tiền ảo như Bitcoin, Ethereum, Binance Smart Chain .. đều được xem là Public Blockchain. Loại này thì bất kì ai cũng có thể xem được các giao dịch diễn ra, bất kỳ ai cũng có thể tham gia vào cơ chế đồng thuận của mạng lưới
Private Blockchain: Loại này có các quy tắc về việc những ai có thể tham gia và ghi dữ liệu vào blockchain. Private Blockchain không phải là hệ thống phi tập trung vì blockchain riêng tư được kiểm soát bởi tổ chức như tập đoàn hay chính phủ, ứng dụng của private blockchain trong việc quản lý chuỗi cung ứng, lưu trữ giữ liệu, biểu quyết nội bộ hay sở hữu tài sản.
Permissioned Blockchain: Cũng là 1 dạng Private Blockchain nhưng người dùng được cung cấp 1 số tính năng đặc quyền khác tùy thuộc bên thứ 3 cung cấp
Kết luận
Trên đây là những chia sẻ của mình về Blockchain trong phần 1. Hy vọng qua đó giúp các bạn hiểu được cơ bản về Blockchain và các thành phần của nó Rất mong được mọi người comment góp ý nếu còn điều gì sai sót nhé 😊
To be continued
All rights reserved