Blockchain là gì?

Blockchain là một cơ sở dữ liệu phân tán, nơi bạn chỉ có thể thêm dữ liệu vào nhưng không thể xóa hoặc thay đổi dữ liệu.

Vâng, nó cũng chỉ là một cơ sở dữ liệu thôi các bạn, giống như cái quyển vở dùng để ghi chép thu chi vậy, đặc biệt là không có ai sở hữu cái quyển vở này cả, mọi người đều có thể truy cập vào và xem thông tin ghi chép trong quyển vở.

Mình biết đến đây bạn vẫn chưa thể hiểu hết được đâu, vì thế cứ đọc tiếp nhé.

Mục đích ra đời của Blockchain

Như chúng ta đã biết thì công nghệ phía sau các đồng tiền điện tử là blockchain. Công nghệ này cho phép các giao dịch trong mạng lưới được xảy ra mà không cần tin tưởng lẩn nhau hay trung gian.

Các dấu mốc quan trọng trong lịch sử blockchain

  • 1991: Các nhà nghiên cứu Stuart Haber và W. Scott Stornetta giới thiệu một giải pháp về mặt tính toán để đánh dấu thời gian các văn bản số để chúng không bị đề lùi ngày về trước hoặc can thiệp vào.
  • 1992: Các cây Merkle được tích hợp vào thiết kế trên khiến nó trở nên hiệu quả hơn. Tuy nhiên, cách tiếp cận của Stornetta và Haber là không hoàn hảo, và vẫn cần sự tin tưởng vào các bên thứ ba để thực hiện. Bằng sáng chế này đã hết hạn vào năm 2004. Nhưng đây là tiền đề cho công nghệ blockchain sau này.
  • 2004: nhà khoa học máy tính Hal Finney (Harold Thomas Finney II) đưa ra một hệ thống gọi là RPoW, Proof Of Work Tái sử dụng. RPoW có thể được xem là một thử nghiệm ban đầu và là những bước đầu tiên quan trọng trong lịch sử tiền điện tử.
  • Cuối 2008: Satoshi Nakamoto xuất bản white paper (sách trắng) về hệ thống tiền mặt điện tử mạng ngang hàng, phi tập trung được gọi là Bitcoin. Và người này cũng được coi là cha đẻ của hệ thống blockchain này, blockchain đầu tiên - Bitcoin blockchain.
  • 3/1/2009: Satoshi Nakamoto đào được khối bitcoin đầu tiên đem lại phần thưởng là 50 BTC. Ngày này được coi là ngày Bitcoin ra đời.
  • 2013: Vitalik Buterin - một lập trình viên cũng là đồng sáng lập của Bitcoin Magazine bắt đầu phát triển một blockchain mới gọi là Ethereum nhằm khắc phục những nhược điểm của bitcoin. Ethereum cũng có một tính năng mới gọi là hợp đồng thông minh (smart contract).
  • Ngày nay thì có vô số blockchain khác nhau với nhiều tính năng vượt trội, các blockchain ra sau khắc phục những điểm chưa tốt của blockchain trước đó, và chúng đang đóng góp vào nhiều lĩnh vực trong cuộc sống. Nhiều nhất vẫn là lĩnh vực tiền điện tử cryptocurrency.

Vấn đề của hệ thống giao dịch truyền thống

Ví dụ: Chúng ta muốn chuyển tiền từ người ở Việt Nam sang người bên Mỹ thì bắt buộc phải thông qua trung gian là các ngân hàng Việt Nam và ngân hàng Mỹ, dữ liệu giao dịch sẽ được lưu trữ trên hệ thống các ngân hàng này.

Ưu điểm của hệ thống ngân hàng:

  • Giao dịch được chính phủ, ngân hàng đứng ra đảm bảo
  • Nếu có vấn đề về sai sót có thể được hỗ trợ xử lý

Nhưng nó vẫn tồn tại khuyết điểm đó là:

  • Chính vì là ngân hàng làm trung gian giao dịch nên thông tin của bạn bị ngân hàng nắm giữ, tiền của bạn cũng chạy thông qua họ. Vì thế họ có thể đóng băng tài khoản của bạn ngay lập tức nếu tài khoản của bạn có vấn đề đáng ngờ. Chắc hẳn bạn sẽ không muốn điều này chút nào.
  • Ngân hàng có thể bị phá sản, tiền của bạn có thể bị mất
  • Đôi lúc phí giao dịch cũng là một vấn đề lớn

Vậy nên blockchain ra đời để giải quyết những vấn đề còn tồn đọng của hệ thống tài chính truyền thống. Đó là không cần bên trung gian nắm dữ tiền, vì thế bạn có thể giao dịch toàn thế giới một cách an tâm. Ngoài ra mức phí giao dịch bằng blockchain cũng khá rẻ.

Có thể nói mục đích ra đời của blockchain là hỗ trợ các giao dịch tiền tệ mà không cần bên thứ 3 trung gian như ngân hàng và phân tán cơ sở dữ liệu để giảm thiểu rủi ro bị thay đổi hoặc đánh cắp.

Cơ chế hoạt động của blockchain

Các bạn có thể nghe đâu đó các thông tin ngoài kia rằng blockchain bao gồm các khối nối với nhau tạo thành một chuỗi. Cái này đúng nhưng chưa đủ, nó phức tạp hơn thế rất nhiều. Nó còn bao gồm các node để xác thực giao dịch blockchain cùng với đó là một thuật toán tuyệt vời.

Trước tiên chúng ta sẽ tìm hiểu về block đã nhé.

Block là gì?

Block (khối) là một cấu trúc dữ liệu bên trong cơ sở dữ liệu của blockchain. Khối sẽ ghi lại dữ liệu của các giao dịch blockchain mãi mãi bên trong nó. Một khối có thể ghi lại một số hoặc tất cả các giao dịch gần nhất mà chưa được xác thực bởi mạng lưới blockchain. Khi mà dữ liệu được xác thực, khối này sẽ được đóng. Sau đó, một khối mới được tạo ra để các giao dịch mới ghi vào.

Block là một khối trong 1 chuỗi
Block là một khối trong 1 chuỗi

Vậy thì khi nào thì khối sẽ được đóng?

Ở trên mình có nói là khi dữ liệu được xác thực thì khối sẽ được đóng, có lẽ câu trả lời này đối với các bạn muốn tìm hiểu sâu hơn thì vẫn chưa thõa mãn. Thời gian đóng một khối sẽ được gọi là block time. Thời gian này phụ thuộc vào độ khó hàm băm (hash). Nếu độ khó càng cao thì block time càng lớn.

Với blockchain Bitcoin, block time hiện này khoản 10 phút. Có thể bạn sẽ nghĩ nếu càng nhiều máy đào tham gia vào mạng lưới để đào, lúc này tốc độ tính toán của mạng lưới blockchain sẽ tăng lên, điều này có thể làm cho thời gian xác thực các giao dịch nhanh hơn và thời gian đóng khối sẽ giảm xuống. Nhưng thuật toán blockchain Bitcoin có cái hay là khi sức mạnh tính toán trong mạng lưới tăng lên thì nó sẽ tự điều chỉnh độ khó hàm băm trong mạng tăng lên sao cho block time luôn giữ ở một mức nào đó.

Block time của một blockchain một phải lúc nào cũng giống nhau. Với blockchain bitcoin không phải lúc nào cũng chính xác 10 phút. Với các blockchain khác nhau cũng vậy, block time Bitcoin thì quanh quanh đâu đó 10 phút, trong khi đó thì Ethereum chỉ khoản 14 giây.

Chain là gì?

Chain là một chuỗi các khối liên kết với nhau, các khối này ngoài chứa data về giao dịch thì cũng chứa một thông số quan trọng đó là previous hash hay còn gọi là mã hằm băm của khối trước đó.

Mô phỏng một chain trong blockchain
Mô phỏng một chain trong blockchain

Nhìn hình trên chúng ta có thể thấy chain này có 3 khối. Khối đầu tiên được gọi là Genesis block (khối khởi nguồn). Mỗi khối sẽ chứa một mã hash để định danh khối đó và previous hash để xác định khối trước đó. Khối khởi nguồn không có khối nào trước đó nên previous hash được cho là 0000.

Mình sẽ ví dụ về việc thay đổi thông tin trong blockchain bằng hình bên dưới.

Mô tả các block trong một chain
Mô tả các block trong một chain

Mình sẽ thay đổi thông tin giao dịch của khối thứ 2 => mã hash của nó sẽ bị thay đổi

Mình đang thay đổi thông tin khối 2 làm cho hash khối này bị thay đổi, dẫn đến không khớp với previous hash của khối 3 => không tương thích với blockchain nữa. Lúc này nếu muốn tương thích thì phải sửa lại tất cả các khối tiếp theo phía sau nó, tức là khối 3, 4, 5,... cho đến khối hiện tại.

Oke, máy mình khá mạnh nên việc thay đổi previous hash vài trăm ngàn khối trong 1 blockchain cũng không tốn nhiều thời gian lắm. Sau khi thay đổi xong, blockchain đã tương thích rồi thì có một vấn đề xảy ra đó là mạng lưới blockchain không chấp nhận.

Mạng lưới blockchain bao gồm những máy tính đạng chạy blockchain tương tự máy mình. Các máy này đều lưu trữ cơ sở dữ liệu blockchain giống hệt nhau. Khi mình cho máy "gia nhập" vào mạng lưới thì các máy tính khác không chấp nhận vì các máy đó đang lưu trữ 1 chain với thông tin khác với chain của mình.

Điều này liên quan đến thuật toán đồng thuận. Nếu muốn được cả mạng lưới chấp nhận một điều gì đó thì mình phải có sức mạnh hơn 50% sức mạnh hiện tại toàn hệ thống và việc này rất khó, nhất là với những blockchain lớn như bitcoin hay ethereum.

Nhờ vậy mà blockchain khá là "an toàn". An toàn mình để ngoặc kép vì chỉ những blockchain lớn khó bị chiếm 51% sức mạnh hệ thống, còn mấy blockchain nhỏ nhỏ với vài máy tính chạy thì việc chiếm 51% rất dễ.

Qua ví dụ trên ta có thể thấy blockchain có thể ứng dụng trong việc chống lại việc gian lận hoặc thay đổi dữ liệu.

Node là gì?

Một trong những concept quan trọng nhất của công nghệ blockchain là sự phân tán (hay là tính phi tập trung). Không có một máy tính nào trong hệ thống làm chủ toàn bộ chain. Thay vào đó, nó được phân tán cơ sở dữ liệu và sức mạnh hệ thống qua các node.

Node (nút) là bất cứ thiết bị điện tử nào mà lưu trữ được bản sao của blockchain và chạy các tính năng trong mạng.

Có 2 loại node chính:

  • Full node (node đầy đủ)
  • Lightweight node (node nhẹ)
Full Node & Light Node (Lightweight Node)
Full Node & Light Node (Lightweight Node)

Full node là các node thực sự hỗ trợ và cung cấp tính năng bảo mật trong mạng. Các node này cực kỳ quan trọng, vì chúng lưu trữ bản sao dữ liệu của blockchain và cung cấp tài nguyên tính toán cho mạng.

Ví dụ để chạy full node bitcoin thông qua bitcoin core thì máy tính bạn cần có:

  • Chạy hệ điều hành windows hoặc linux, mac
  • Ít nhất 400 GB dung lượng ổ cứng trống để chứa cơ sở dữ liệu bitcoin blockchain
  • Kết nối internet tốc độ cao
  • Full node nên chạy ít nhất 6 giờ / ngày. Nhưng tốt nhất thì chạy 24/7

Lightweight node còn được biết đến là Simplified Payment Verification (SPV) client, lightwweight client. Đây là những node không tải về toàn bộ mạng blockchain và không tham gia vào việc xác thực giao dịch. Những node này dựa trên thông tin được cung cấp bởi các full node khác.

Việc xuất hiện của SPV client làm cho blockchain dễ tiếp cận hơn với mọi người, vì không phải ai cũng cần hoặc có điều kiện để chạy full node khi tham gia vào một mạng blockchain.

SPV client thường được sử dụng để tạo các ví lạnh (cold wallet) và nhận / gửi tiền điện tử.

Miner là gì?

Miner (thợ đào) là những node tham gia vào quá trình xác thực giao dịch trong mạng lưới blockchain.

Thợ đào là nhân tố quan trọng trong mạng blockchain
Thợ đào là nhân tố quan trọng trong mạng blockchain

Vậy thì thợ đào chạy node gì?

Theo nguyên tắc thì miner node phải chạy full node. Thợ đào chia ra 2 loại là thợ đào làm việc một mình (solo miner)theo nhóm (pool miner).

  • Ưu điểm của solo miner: Nếu miner xác thực block đầu tiên và đóng block đó (hay còn gọi là đào được coin) thì phần thưởng sẽ được trao hết cho solo miner. Solo miner là những máy chạy full node.
  • Nhược điểm của solo miner: Nếu máy càng mạnh thì càng tăng khả năng đào được coin, điều này dẫn đến việc các solo miner với máy yếu hơn sẽ khó có khả năng dành được phần thưởng. Vì vậy họ tham gia vào pool miner để đóng góp sức mạnh tính toán (hashpower) vào một hệ thống miner lớn. Khi pool miner đào được thì phần thưởng sẽ được chia đều cho tất cả các miner trong pool dựa theo tỉ lệ sức mạnh đóng góp. Với pool miner thì chỉ cần 1 máy quản trị viên trong pool chạy full node, còn các máy còn lại chỉ cần đóng góp tài nguyên tính toán là được.

Wallet là gì?

Wallet hay còn gọi là ví, ở trong thị trường blockchain thì ví dùng để lưu trữ các private key (khóa cá nhân).

Nhiều anh em lầm tưởng wallet để lưu trữ coin là sai nhé. Coin của anh em được lưu trữ trên blockchain, ví chỉ lưu trữ khóa cá nhân.

Để dễ hình dung thì một ví trong mạng lưới blockchain sẽ bao gồm public key (khóa công khai)private key (khóa cá nhân). Khóa công khai giống như số tài khoản ngân hàng, khóa cá nhân giống như mật khẩu vậy.

Chúng ta dùng cái private key này truy cập vào tài khoản trong blockchain để thực hiện các giao dịch.

Để tạo và sử dụng một ví crypto thì anh em có thể dùng www.blockchain.com/wallet

Thuật toán đồng thuận của blockchain

Thuật toán đồng thuận là cơ chế giúp mạng lưới blockchain đạt được sự đồng thuận. Trong những mô hình tập trung chỉ có một máy duy nhất thì quyền quyết định thuộc về máy đó. Trong những mô hình phi tập trung thì hoàn toàn khác, làm thế nào để giải quyết vấn đề về một dữ liệu mới được thêm vào để cả hệ thống chấp nhận nó.  Đó là lý do chúng ta cần một thuật toán đồng thuận.

Thuật toán đồng thuận là một yếu tố quan trọng của mỗi mạng lưới blockchain vì chúng chịu trách nhiệm duy trì sự toàn vẹn và bảo mật của hệ thống.

Dưới đây là một số thuật toán đồng thuận phổ biến:

Các thuật toán đồng thuận phổ biến trong blockchain
Các thuật toán đồng thuận phổ biến trong blockchain

1. Proof of Work (PoW):

Proof of work là bằng chứng công việc. Các thợ đào sẽ dùng sức mạnh máy tính để tìm lời giải cho khối bằng cách tìm mã hash phù hợp. Thợ đào nào có tỉ lệ hàm băm càng cao thì tỉ lệ giải được càng lớn.

Dự án sử dụng: Bitcoin (BTC), Ethereum (ETH),...

2. Proof of Stake (PoS):

Proof of Stake là bằng chứng cổ phần. Cơ chế này không có các miner mà thay vào đó là các validator để xác thực giao dịch. Để trở thành một validator bạn phải stake (đặt cược) coin của bạn và chạy một số phần mềm. Những validator không yêu cầu phần cứng mạnh và tiêu tốn điện năng nhiều như POW.

Dự án sử dụng: Cardano (ADA), Celo(CELO),...

Sự thật là những dự án crypto đầu tiên đã áp dụng cơ chế này như Peercoin, Nxt, Blackcoin

3. Delegated Proof of Stake (DPoS):

Delegated Proof of Stake là bằng chứng ủy quyền cổ phần. Người nắm giữ coin cũng đặt cược coin của họ như POS, nhưng khác là họ bỏ phiếu để ủy quyền một node trong mạng thiết lập giao thức và xác thực các giao dịch. Khi có phần thưởng từ mạng thì sẽ được chia cho node ủy quyền và người stake coin.

Dự án sử dụng: Cardano (ADA), Hive (HIVE), Lisk (LSK),...

4. Proof of Authority (PoA):

Proof of Authority là bằng chứng ủy quyền. Đây cũng là biến thể khác của PoS, thay vì tập trung vào giá trị coin được stake thì thuật toán này tập trung vào danh tính và danh tiếng của một node để ủy quyền cho họ thiết lập giao thức và xác thực giao dịch.

Dự án sử dụng: Stratis (STRAX),...

5. Pure Proof of Stake (PPoS):

Pure Proof of Stake là thuần bằng chứng cổ phần. Cơ chế này là biến thể của PoS, được phát triển bởi Algorand blockchain. PPoS được phát triển trên PoS cùng với cơ chế đồng thuận Byzantine, Algorand cho rằng PPoS sẽ mang đến khả năng tiếp cận bình đẳng hơn Proof of Stake (PoS).

Dự án sử dụng: Algorand (ALGO),...

6. Proof of History (PoH):

Proof of History là cơ chế đồng thuận dựa trên Proof of Stake, nhưng với sự khác nhau về cách tính toán thời gian. Các sự kiện lịch sử bây giờ được sử dụng để xác định thời gian trôi qua. Những sự kiện này được chuyển đổi thành một mã hash, mã này chỉ được tạo ra bởi các sự kiện trước đó.

Solana là dự án blockchain sử dụng cơ chế này, vì thế mà blockchain có khả năng mở rộng và tốc độ ấn tượng lên đến 60,000 giao dịch trên giây.

Dự án sử dụng: Solana (SOL),...

7. Proof of Reputation (PoR):

Proof of Reputation là cơ chế đồng thuận dựa vào danh tiếng của một node được xây dựng dựa trên tài sản, hoạt động giao dịch và sự tham gia đồng thuận của nó. Các block trong blockchain được tạo ra bởi những node có danh tiếng cao nhất, sau đó sẽ được xác nhận thông qua việc bỏ phiếu dựa trên danh tiếng trong blockchain.

Dự án sử dụng: GoChain (GO),...

Ưu điểm và nhược điểm của blockchain

Cái gì cũng có 2 mặt và blockchain cũng thế, nó không hề hoàn hảo. Những hệ thống blockchain sau này luôn tìm cách để cải thiện những nhược điểm của các hệ thống trước. Dưới đây là ưu nhược của blockchain mà theo mình nghiên cứu.

Ưu điểm:

  • Blockchain có tính phi tập trung, vậy nên dữ liệu trong blockchain an toàn hơn so với cơ chế tập trung.
  • Dữ liệu trong blockchain có tính ổn định vì chúng khó bị đảo ngược hay thay đổi.
  • Hệ thống không cần sự tin tưởng, vì thế blockchain loại bỏ được rủi ro từ việc đặt niềm tin vào tổ chức nào đó.
  • Các giao dịch trong blockchain được public lên toàn hệ thống, ai cũng có thể kiểm tra. Vì thế blockchain rất minh bạch.

Nhược điểm:

  • Có khả năng bị tấn công 51%, những blockchain mới nổi nếu có khả năng khắc phục được những cuộc tấn công tiềm năng như thế này thì chúng lại bị đánh đổi đi tính phi tập trung.
  • Khó khăn trong việc sửa đổi dữ liệu. Con người luôn có sai lầm, ví dụ chuyển tiền nhầm trong blockchain là khỏi cứu luôn nhé.
  • Bảo mật tài khoản bằng private key (khóa riêng tư), nếu mất khóa riêng tư thì mất luôn tài khoản.
  • Có rất nhiều blockchain hoạt động không hiệu quả, đứng đầu là anh cả Bitcoin vì đang sử dụng cơ chế đồng thuận Proof of Work. Cứ sau 10 phút là có một thợ đào chiến thắng, vậy công sức những thợ đào còn lại là lãng phí. Cơ chế PoW còn làm tăng đáng để lượng tiêu thụ điện năng.
  • Sổ cái blockchain (hay còn gọi là cơ sở dữ liệu blockchain) phát triển theo thời gian và ngày càng phình to. Tốc độ tăng trưởng kích thước của nó vượt xa tốc độ tăng dung lượng của ổ đĩa cứng.
  • Vì tính minh bạch của blockchain nên chúng không được bảo mật thông tin cho lắm. Nếu ai đó biết public key của mình, bây giờ mình chuyển / nhận tiền của ai  thì người ngoài đều biết hết.

Những trường hợp ứng dụng của blockchain

  • Từ thiện: Blockchain giúp minh bạch các hoạt động quản lý tiền như thu chi ra sao. Từ đó cải thiện khả năng quản trị của tổ chức.
  • Chuỗi cung ứng: Blockchain giúp truy xuất thông tin hàng hóa một cách nhanh chóng trên mạng lưới blockchain. Dữ liệu hàng hóa được minh bạch và bất biến, vậy nên sẽ không có chuyện tranh cãi về việc bên nào phải chịu trách nhiệm khi gặp sự cố.
  • Chăm sóc sức khỏe: Theo dõi thuốc qua chuỗi cung ứng và quản lý dữ liệu bệnh nhân. Anh em biết vụ tham ô kit test covid của Việt Á chứ, nếu có blockchain thì sự việc này sẽ khó mà xảy ra.
  • Tiền bản quyền: Tạo ra một hồ sơ bất biến về một tài sản nào đó, nhờ đó mà chống được việc làm giả.
  • Quản trị: Nhờ việc minh bạch và không cần trung gian, blockchain giúp loại bỏ tình trạng gian lận trong việc bầu cử hoặc các quy trình lập hiến khác. Đây là công cụ mạnh mẽ trong việc chống tham nhũng.
  • Giải pháp thanh toán và dApps: Crypto giúp ta có thể gửi tiền cho mọi người trên thế giới với chi phí rẻ hơn. Các ứng dụng phi tập trung (dApps) loại bỏ đối tượng trung gian, mang đến cho người dùng tiềm năng

Góc nhìn về tình hình blockchain hiện nay

Dưới đây là góc nhìn của cá nhân của mình, một lập trình viên tham gia crypto từ 2017 đến nay.

Lúc mình viết bài này thì BTC đang giao động quanh 20.000$, cả thị trường sụp đổ kinh khủng, nhiều đồng coin chia 5, chia 10.

Giá BTC vào thời điểm mình viết bài 15/6/2022
Giá BTC vào thời điểm mình viết bài 15/6/2022

Blockchain hiện tại vẫn còn rất mới và nó cũng không hề dễ hiểu cho những người mới tham gia. Bản thân mình là một người bên lĩnh vực công nghệ nhưng cũng phải tốn kha khá thời gian để tìm hiểu nó, nhưng vẫn còn rất hạn chế so với lượng kiến thức khổng lồ ngoài kia.

Vì nó mới nên có rất nhiều lỗ hổng, các dự án blockchain ngoài kia bị hack rất nhiều, gây nhiều thiệt hại cho người dùng và nhà đầu tư.

Vì khó hiểu nên nhiều người dễ dàng bị lừa đảo bởi những hình thức đơn giản.

Crypto vẫn là ứng dụng đầu tiên và dẫn đầu nền công nghiệp blockchain. Đầu tư crypto cực kỳ rủi ro vì yêu cầu bạn ngoài hiểu biết kiến thức về công nghệ thì còn phải hiểu về tài chính, money game. Bù lại thì nó siêu lợi nhuận.

Các dự án Crypto thường có thời gian sống không được lâu, nhiều dự án bơm xả token rất "ác", nếu bạn là nhà đầu tư thích an toàn hơn trong thị trường này thì nên đầu tư vào các đồng coin uy tín như BTC, ETH, BNB.

Oke, hết rồi đó. Hy vọng bài viết siêu dài này của mình giúp ích cho các bạn hiểu được Blockchain là gì và nó có đáng để các bạn tham gia hay không. Cá nhân mình thì chắc chắn tham gia rồi đó.

Chúc các bạn đầu tư thành công.

Avatar Dư Thanh Được

Thanh Được

Một developer thích nghiên cứu và chia sẻ kiến thức về lập trình, blockchain, marketing. Chuyên code và dạy lập trình website

  • facebook icon