, October 02, 2022

0 kết quả được tìm thấy

Tìm hiểu toàn tập về Blockchain


  •   11 min reads
Tìm hiểu toàn tập về Blockchain

1. Blockchain là gì?

Blockchain là một cơ sở dữ liệu phân tán, thông tin được lưu trữ trong các khối. Các khối liên kết lại với nhau bằng các mã hóa và được sắp xếp trình tự theo thời gian. Blockchain được thiết kế để chống lại việc thay đổi của dữ liệu. Do đó, một khi dữ liệu được thêm vào thì sẽ không thay đổi được.

Điểm khác biệt giữa Database truyền thống và Blockchain là cách cấu trúc cơ sở dữ liệu. Blockchain thu thập thông tin thành các nhóm hay còn được gọi là các khối. Block (khối) có khả năng lưu trữ nhất định và khi đạt đến giới hạn thì nó sẽ đóng lại và liên kết với khối trước đó, tạo thành một chuỗi dữ liệu được gọi là blockchain.

Database truyền thống thường cấu trúc dữ liệu thành các bảng, trong khi Blockchain cấu trúc dữ liệu thành các phần (khối) liên kết lại với nhau.

Những thông tin quan trọng cần ghi nhớ:

  • Blockchain là một cơ sở dữ liệu được chia sẻ công khai (shared database) khác với các database thông thường ở cách mà nó lưu trữ thông tin. Blockchain lưu trữ dữ liệu trong các khối sau đó được liên kết với nhau thông qua Cryptography.
  • Khi dữ liệu mới được thêm vào, nó sẽ được nhập vào các khối (block). Khi khối chứa dữ liệu đạt tới giới hạn, nó sẽ tự động đóng lại và liên kết với khối trước đó. Điều này làm cho dữ liệu trong Blockchain được liên kết chặt chẽ với nhau theo thứ tự thời gian.
  • Blockchain có thể lưu trữ các loại thông tin khác nhau, nhưng cách sử dụng phổ biến nhất hiện nay là sổ cái cho các giao dịch (transactions).
  • Trong trường hợp của Bitcoin, Blockchain được sử dụng theo tính chất phi tập trung để các thông tin giao dịch được minh bạch với tất cả mọi người, chống lại việc các thông tin bị một cá nhân hoặc tổ chức nào đó kiểm soát.
  • Dữ liệu một khi được thêm vào Blockchain sẽ không thể thay đổi được, bất biến theo thời gian.

2. Blockchain hoạt động như thế nào?

Mục đích ra đời của Blockchain là giúp cho các thông tin kỹ thuật số được lưu trữ và chia sẻ rộng rãi đến tất cả mọi người. Tuy nhiên, mọi người chỉ có thể đọc và xem chứ không thể chỉnh sửa, thay đổi gì cả. Vì vậy, bản chất của Blockchain hệt như 1 cuốn sổ cái bất biến theo thời gian. Do đó, các thông tin giao dịch một khi đã ghi chép lại thì sẽ không thể nào làm giả, xoá hay phá huỷ.

Ý tưởng Blockchain được nghiên cứu và đề xuất lần đầu tiên vào năm 1991. Nhưng mãi đến sau này, cụ thể là vào năm 2009, Blockchain và concept về cách mà Blockchain lưu trữ dữ liệu mới thực sự được biết đến rộng rãi thông qua Bitcoin. Những năm sau đó, việc sử dụng Blockchain đã bùng nổ thông qua việc tạo ra nhiều loại tiền điện tử khác nhau, các ứng dụng tài chính phi tập trung (DeFi), Non-Fungible Token (NFT) và hợp đồng thông minh (Smart contract).

2.1 Quy trình thực hiện 1 transaction

Giải thích:

Một giao dịch (transaction) mới được thêm vào -> Giao dịch được truyền đến 1 mạng lưới peer-to-peer nằm rải rác trên toàn thế giới -> Mạng lưới này sẽ giải quyết các phương trình để xác nhận giao dịch hợp lệ -> giao dịch hoàn thành -> các khối được liên kết với nhau tạo ra chuỗi để chứa tất cả các giao dịch -> giao dịch được xác nhận hợp lệ sẽ được nhóm lại với nhau thành các khối.

3. Blockchain Decentralization

Hãy tưởng tượng rằng một công ty sở hữu một trang trại máy tính với 10.000 máy tính được sử dụng nhằm mục đích duy trì cơ sở dữ liệu chứa tất cả thông tin tài khoản của khách hàng. Công ty này sở hữu một tòa nhà chứa tất cả các máy tính này cũng như tất cả các thông tin. Tuy nhiên, việc lưu trữ theo cách này sẽ mang đến nhiều rủi ro có thể xảy ra. Bạn hãy tưởng tượng nếu như nơi đó bị mất điện thì sao? Kết nối Internet bị ngắt? Nếu ai đó bất cẩn gây ra cháy thì sao? Hoặc lỡ có một người xấu muốn xóa đi hết tất cả thông tin, dữ liệu? Trong tất cả các trường hợp trên thì dữ liệu sẽ bị mất hoặc không còn vẹn nguyên nữa.

Những gì Blockchain có thể làm được là cho phép dữ liệu được lưu trữ trong cơ sở dữ liệu đó được trải ra khắp nơi trên thế giới. Điều này không chỉ tạo ra sự dư thừa mà còn duy trì tính trung thực của dữ liệu được lưu trữ. Nếu một ai đó cố tình giả mạo hồ sơ giao dịch của Bitcoin, tất cả các node khác sẽ tham chiếu lẫn nhau và dễ dàng nhận ra node có thông tin không chính xác. Hệ thống này sẽ giúp các sự kiện được thiết lập theo thứ tự chính xác và minh bạch. Bằng cách này, không một node nào trong mạng lưới có thể thay đổi thông tin được lưu trữ bên trong nó.

Do đó, thông tin và lịch sử (chẳng hạn như các giao dịch của tiền điện tử) là không thể thay đổi được. Ngoài ra, Blockchain cũng có thể lưu giữ nhiều loại thông tin khác như hợp đồng pháp lý, danh tính tiểu bang hoặc kho sản phẩm của công ty.

4. Tính minh bạch (Transparency)

Do tính chất phi tập trung của Blockchain, tất cả các giao dịch đều được xem một cách minh bạch. Mọi người có thể sử dụng các trình khám phá chuỗi khối (blockchain explorers) để xem các giao dịch đang diễn ra hoặc đã hoàn thành. Điều này có nghĩa là nếu bạn muốn, bạn có thể theo dõi Bitcoin ở bất kì đâu.

Ví dụ, các sàn giao dịch khi bị tấn công, những người giữ Bitcoin trên sàn giao dịch này sẽ bị mất hết mọi thứ. Dù người tấn công có thể ẩn danh hoàn toàn nhưng với Blockchain, bạn có thể dễ dàng theo dõi mọi thông tin. Nếu Bitcoin được chuyển đi nơi khác hoặc sử dụng thì sẽ bị phát hiện ngay.

Tất nhiên, các bản ghi được lưu trữ trong chuỗi khối Bitcoin (cũng như hầu hết các chuỗi khác) đã được mã hóa. Điều này có nghĩa chỉ chủ sở hữu của bản ghi mới có thể tự giải mã để tiết lộ danh tính của họ (sử dụng cặp public-private key). Do đó, người dùng Blockchain vẫn có thể ẩn danh trong khi vẫn giữ được tính minh bạch.

5. Blockchain có an toàn không?

Công nghệ Blockchain đạt được sự tin cậy và bảo mật theo một số cách khác nhau. Các khối (block) mới luôn được lưu trữ tuyến tính (hàng ngang) và sắp xếp theo thứ tự thời gian. Nghĩa là, chúng được thêm vào liên kết với phần cuối của chuỗi khối trước đó. Sau khi các khối đã được liên kết với nhau thì việc quay lại và thay đổi là vô cùng khó khăn trừ khi phần lớn mạng lưới đồng thuận làm vậy. Ngoài ra, mỗi khối chứa hash riêng của nó, cùng với hash của khối trước đó, cũng như timestamp đã đề cập trước đó. Mã hash được tạo ra bởi một hàm toán học biến thông tin kỹ thuật số thành một chuỗi số và các chữ cái. Nếu thông tin được chỉnh sửa bất kỳ cách nào, thì mã hash cũng sẽ bị thay đổi theo.

Giả sử rằng có một hacker - người cũng điều hành một node trên mạng lưới Blockchain, muốn thay đổi cơ chế Blockchain và ăn cắp tiền điện tử từ những người khác. Nếu hacker đó thay đổi bản sao duy nhất của mình, bản sao đó sẽ không còn phù hợp với bản sao của người khác. Khi người khác tham chiếu chéo các bản sao của họ, họ sẽ thấy bản sao này khác biệt và phiên bản của hacker đó sẽ bị loại bỏ vì nó không còn hợp pháp nữa.

Để thành công với một phi vụ hack như vậy sẽ yêu cầu hacker đồng thời kiểm soát và thay đổi 51% hoặc nhiều hơn số lượng node trong mạng lưới để bản sao mới của chúng trở thành bản sao chính. Một cuộc tấn công như vậy phải tốn một lượng tiền và tài nguyên khổng lồ, vì chúng cần phải thực hiện thay đổi các thông tin chứa trong tất cả các khối. Vì vậy bạn hãy là một thành viên của network đó để phát triển thay vì phải tốn rất nhiều thứ để tấn công nó.

6. Bitcoin vs Blockchain:

Công nghệ Blockchain lần đầu tiên được ra đời vào năm 1991 bởi Stuart HaberW. Scott Stornetta, hai nhà nghiên cứu muốn triển khai một hệ thống mà timestamps của tài liệu không thể bị giả mạo. Nhưng phải đến gần hai thập kỷ sau, với sự ra mắt của Bitcoin vào tháng 1 năm 2009, Blockchain mới có ứng dụng thực tế đầu tiên.

Giao thức của Bitcoin được xây dựng dựa trên công nghệ Blockchain. Trong một bài nghiên cứu giới thiệu về tiền kỹ thuật số, người tạo ra Bitcoin là Satoshi Nakamoto, đã gọi nó là “một hệ thống tiền điện tử mới hoàn toàn ngang hàng ( peer-to-peer ), không có sự xuất hiện của bên thứ 3.”

Điều quan trọng cần hiểu ở đây là Bitcoin chỉ sử dụng Blockchain như một sổ cái để ghi lại lịch sử giao dịch một cách minh bạch, nhưng về lý thuyết, Blockchain có thể được sử dụng để ghi lại bất kỳ dữ liệu nào: phiếu bầu trong một cuộc bầu cử, kiểm kê sản phẩm, thông tin nhận dạng tiểu bang, giấy di chúc,...

Hiện tại, hàng chục nghìn dự án đang tìm cách để triển khai các Blockchain theo nhiều cách khác nhau để giúp ích cho xã hội ngoài việc ghi lại các giao dịch — chẳng hạn như một cách để bỏ phiếu an toàn, hợp lệ trong các cuộc bầu cử dân chủ. Bản chất của Blockchain là tránh việc gian lận. Do dó, một quốc gia bất kỳ có thể tổ chức việc bầu cử sao cho mỗi công dân sẽ được phát hành một loại tiền điện tử hoặc token. Sau đó, mỗi ứng cử viên sẽ được cung cấp một địa chỉ ví cụ thể và những người bỏ phiếu sẽ gửi token hoặc tiền điện tử của họ đến địa chỉ của bất kỳ ứng cử viên nào mà họ muốn bỏ phiếu. Bản chất minh bạch và có thể truy nguồn gốc của Blockchain sẽ loại bỏ cả nhu cầu kiểm phiếu của con người và khả năng những kẻ xấu giả mạo lá phiếu thực.

7. Ưu và nhược điểm của Blockchain:

Ưu điểm:

  • Cải thiện độ chính xác bằng cách loại bỏ sự tham gia của con người trong việc xác minh.
  • Giảm chi phí bằng cách loại bỏ trung gian, bên thứ ba.
  • Vì tính chất phi tập trung làm cho việc giả mạo trở nên phức tạp hơn.
  • Các giao dịch an toàn, "riêng tư" và hiệu quả hơn.
  • Cung cấp một giải pháp thay thế ngân hàng và một cách bảo mật thông tin cá nhân cho công dân của các quốc gia có chính phủ không ổn định hoặc kém phát triển.
  • ...

Nhược điểm

  • Chi phí bỏ ra khá lớn liên quan đến việc mining bitcoin.
  • Lịch sử sử dụng trong các hoạt động bất hợp pháp, chẳng hạn như trên web đen (dark web).
  • Giới hạn lưu trữ dữ liệu.
  • ...

Tóm lại, Blockchain có khả năng ứng dụng rất lớn vào mọi khía cạnh trong cuộc sống của chúng ta. Nếu bạn hiểu về cách thức nó hoạt động và lưu trữ dữ liệu, bạn sẽ thấy việc Blockchain chỉ được áp dụng cho các giao dịch tiền điện tử là hết sức uổng phí.

Bài viết liên quan

Tìm hiểu kiểu dữ liệu Boolean trong Solidity

Trong bài viết này, mình sẽ cùng nhau đi tìm hiểu kiểu dữ liệu Boolean trong Solidity thông qua các demo cơ bản nhé!...

Tìm hiểu kiểu dữ liệu Boolean trong Solidity
Tìm hiểu kiểu dữ liệu (Unsigned) Integer trong Solidity

Trong bài viết này, mình sẽ cùng nhau đi tìm hiểu kiểu dữ liệu (Unsigned) Integer trong Solidity thông qua các demo cơ bản nhé!...

Tìm hiểu kiểu dữ liệu (Unsigned) Integer trong Solidity
Sự khác biệt giữa Blockchain vs Cryptocurrency (Tiền điện tử)

Blockchain và tiền điện tử là hai thuật ngữ thường được sử dụng để thay thế cho nhau. Tuy nhiên, sẽ có sự khác biệt lớn giữa hai điều này. Tiền điện tử là loại tiền kỹ thuật số sử dụng blockchain làm sổ cái để lưu trữ hồ sơ của các giao dịch tiền điện tử....

Sự khác biệt giữa Blockchain vs Cryptocurrency (Tiền điện tử)
13 projects giúp bạn trở thành master với Web3 và Blockchain - Từ cơ bản đến nâng cao

Sau đây là 13 projects giúp bạn xây dựng để nâng cấp kỹ năng Web3 và Blockchain cho dù bạn là người mới bắt đầu hay đã lập trình trước đó....

13 projects giúp bạn trở thành master với Web3 và Blockchain - Từ cơ bản đến nâng cao
Làm sao để trở thành Blockchain Developer?

Dể trở thành Blockchain Developer, thì việc biết tương tác với smart contract là chưa đủ, còn rất nhiều công việc khác mà một Blockchain Dev cần phải đảm nhận. Vậy những công việc khác đó là gì?...

Làm sao để trở thành Blockchain Developer?
You've successfully subscribed to 200Lab Blog
Great! Next, complete checkout for full access to 200Lab Blog
Xin chào mừng bạn đã quay trở lại
OK! Tài khoản của bạn đã kích hoạt thành công.
Success! Your billing info is updated.
Billing info update failed.
Your link has expired.