Một số cây hỏi và trả lời thắc mắc hay về Blockchain

Một số thống kê gần đây cho thấy Việt Nam là một trong những quốc gia có sự quan tâm đến tiền ảo top đầu thế giới. Nhưng sự hiểu biết về tiền ảo của đại đa số còn rất hạn chế.

Một vấn đề nữa là các nguồn, page, group chia sẻ kiến thức thì nhiều nội dung không chính xác. Với chút kiến thức nhỏ bé, mình hi vọng có thể chia sẽ và cập nhật kiến thức chính xác cho cộng đồng.

Blockchain là gì? Vì sao Blockchain lại hot đến như vậy?

Hiểu đơn giản, blockchain là một cấu trúc dữ liệu phi tập trung. Đây là một hình thức lưu trữ dữ liệu mới. Dữ liệu được lưu trữ trong từng block, block mới sinh ra có sự móc nối đến block trước đó, tạo thành một chuỗi (chain).

Chuổi khối này có sự liên kết vững chắc dựa vào hàm băm mật mã. Nếu muốn thay đổi dữ liệu trong một khối nào đó, sẽ gây ra sự đổ vỡ hoàn toàn của các khối sau đó.

Blockchain sẽ ko khác gì với các cấu trúc dữ liệu thông thường nếu nó ko được vận hành theo mô hình phi tập trung (decentralized). Nhờ tính phi tập trung, nên ko dễ gì thay đổi dữ liệu đã lưu trong blockchain (phải thay đổi dữ liệu ở tất cả các nút trên hệ thống).

Tại sao blockchain lại hot? Vì nó đã mở kỉ nguyên của hình thức lưu trữ dữ liệu phi tập trung. Không phải chịu sự kiểm soát của tổ chức cá nhân nào cả.
Và chìa khóa cho mô hình này chính là cơ chế đồng thuận.

Blockchain có vai trò như thế nào trong giao dịch bitcoin?

Thay vì dùng các cấu trúc dữ liệu tập trung truyền thống, hệ thống giao dịch bitcoin sử dụng blockchain để lưu trữ tất cả các giao dịch diễn ra theo trục thời gian.

Nếu bạn đã đọc qua paper gốc khi công bố Bitcoin của Satoshi, thì có thể thấy rằng vấn đề Satoshi đang cố gắng giải quyết đó là một hệ thống giao dịch ngang hàng (peer-to-peer) chống được vấn đề double-spending (tạm dịch: gửi đúp – gửi 2 lần) mà không cần sự có mặt của một tổ chức tài chính nào cả.

Blockchain + cơ chế đồng thuận giúp Satoshi đạt được mục đích này.

Double-spending: A có một số tiền, sau khi gửi toàn bộ tiền cho B, A phủ nhận việc đó, và thực hiện một giao dịch gửi tiền khác cho C. Cùng một số tiền, A đã gửi lần lượt cho B và C.

Tính phi tập trung ở đây là gì?

Phi tập trung nghĩa là không có tổ chức nào quản lý hay có quyền quyết định về nội dung của blockchain. Do đó, cần phải có một “bộ luật” để mọi người có thể thống nhất trong việc ra quyết định, duy trì tính toàn vẹn của dữ liệu trong blockchain.

Trong hệ thống bitcoin, mỗi người dùng sẽ tự lưu trữ và duy trì một bản copy nội dung của blockchain trên máy tính của mình. Vấn đề cần giải quyết là làm sao tất cả có thể cập nhật và thống nhất nội dung mới nhất của dữ liệu trong blockchain. Câu trả lời chính là cơ chế đồng thuận.

Nội dung lưu trữ trong blockchain là gì?

Tất tần tật các giao dịch bitcoin giữa người dùng chuyển cho nhau, và ghi lại thông tin bitcoin mới được tạo ra như là phần thưởng cho người tìm ra block đó. Ngoài ra còn có thông tin liên kết đến block trước đó.

Trong hệ thống bitcoin, người ta hay gọi blockchain là sổ cái (ledger) vì nó là cuốn sổ ghi chép lịch sử giao dịch. Bất kì ai cũng có thể đọc cuốn sổ cái này và có thể biết được toàn bộ lịch sử giao dịch của bất kì người dùng nào (đại diện bởi địa chỉ ví)

Ban đầu, blockchain được tạo ra như thế nào?

Ban đầu, hệ thống bitcoin cần tạo ra một lượng coin nhất định. Vài chục nghìn block đầu tiên của blockchain chỉ ghi nhận việc tạo ra 50 btc như là phần thưởng cho miner. Lúc này chưa có giao dịch nào giữa người dùng với nhau. Có thể gọi quá trình này là pre-mine.

Khi một cá nhân muốn tham gia vào hệ thống giao dịch chuyển và nhận bitcoin, họ sẽ phải copy nội dung hiện tại của blockchain về máy tính cá nhân.
Sau đó, tất cả mọi người cùng update lại blockchain mỗi khi có một block mới thêm vào.

Một block mới được thêm vào như thế nào?

Như đã biết, blockchain lưu trữ các giao dịch bitcoin. Khi các giao dịch chuyển nhận bitcoin được khởi tạo từ người dùng. Các miner sẽ gom tất cả các giao dịch chưa được xác nhận vào một block tạm thời. Và bắt đầu giải bài toán băm mật mã có tính chất ngẫu nhiên.

Sau khi tìm được lời giải (quá trình mine hoàn thành), block này sẽ được thông báo trên toàn mạng lưới và thêm vào blockchain. Tất cả người dùng trên hệ thống sẽ xác nhận và copy về máy cá nhân của mình.

Làm cách nào để duy tri nội dung blockchain giống nhau khi mỗi người giữ một bản copy của blockchain?

Sử dụng cơ chế đồng thuận. Hiểu nôm na đây là cách thức để thống nhất dữ liệu lưu trữ trong blockchain. Khi tất cả mọi người đều tuân thủ theo luật chơi, thì dữ liệu luôn được thống nhất.

Bitcoin sử dụng PoW (tạm dịch: chứng minh nỗ lực) để tạo ra sự đồng thuận và thống nhất nội dung của blockchain. Luật chơi ở đây là chuỗi nào dài nhất (đóng góp nhiều công sức nhất) sẽ là chuỗi blockchain được công nhận.

Làm thế nào mà PoW tạo ra được sự đồng thuận?

PoW tạo ra sự đồng thuận bằng cách giải một bài toán băm mật mã mang tính ngẫu nhiên. Ai tìm ra lời giải trước thì được quyền xác nhận giao dịch và tao ra một block mới và ghi vào chuỗi blockchain.

Vì là người tìm ra đầu tiên, nên mọi người còn lại sẽ phải chấp bằng cách kiểm tra lại kết quả đúng hay sai. Nếu đúng, tất cả sẽ cập nhật phiên bản mới nhất của blockchain về máy tính cá nhân.

Có khi nào sự không đồng thuận xảy ra?

Có, vì độ trễ đường truyên giữa các nút, có khả năng 2 nút đang lưu trữ 2 chuỗi blockchain khác nhau. Việc mâu thuẫn này có thể dễ dàng giải quyết khi 1 hoặc 2 hoặc nhiều block mới được tạo ra. Nguyên tắc là chuỗi blockchain nào dài hơn sẽ được chọn.

Đây là một trong những lý do phải đợi 2,3 hoặc 6 xác nhận thì giao dịch bitcoin mới được coi là hoàn thành.

Xác nhận giao dịch bitcoin là như thế nào?

Có 2 vấn đề cần xác nhận:

  1. Xác nhận giao dịch hợp lệ bằng cách kiểm tra số dư của ví gửi (truy xuất lại các giao dịch trước đó).
  2. Xác nhận block là hợp lệ và block đó được ghi nhận vào blockchain.

Tuy nhiên, việc xác nhận này là chưa đủ. Có khả năng xảy ra sự không đồng thuận nêu trên. Nên cần phải đợi sau khi 2,3 hoặc tối đa 6 block mới được thêm vào blockchain thì lúc đó mới đảm bảo giao dịch đó là hợp lệ, và khả năng bị loại bỏ khỏi blockchain là rất thấp.

Đây chính là “confirmation” trong giao dịch bitcoin mà các bạn hay thấy. Số lượng confirmation chính là số lượng block mới được tìm ra và lưu trữ đè lên block có chứa giao dịch của bạn. Bằng xác suất, người ta chứng minh được rằng 6 là con số an toàn.

Khả năng tấn công vào hệ thống bitcoin là như thế nào?

Tất cả các nhân tố trong hệ thống bitcoin đều sử dụng phương pháp mã hóa an toàn (hệ thống khóa công khai, chữ kí số, hàm băm mật mã). Tuy nhiên, duy nhất một mặt xích yếu nhất lại nằm ở chìa khóa của hệ thống bitcoin: cơ chế đồng thuận.

Đơn giản vì cơ chế đồng thuận có sự can thiệp của yếu tố con người. Đây chính là phần yếu nhất trong tất cả các hệ thống bảo mật. Vì không ai có thể đảm bảo rằng hành vi con người là xác định, ko thay đổi!

Khả năng tấn công vào cơ chế đồng thuận như thế nào?

Để tạo nên một cuộc tấn công, kẻ tấn công phải có phần lớn sức mạnh trọng cộng đồng.

Điều này giúp kẻ tấn công có thể chiếm quyền điều khiển và ra quyết định.

Sức mạnh ở đây là khả năng tính toán, khả năng giải bài toán PoW nhanh nhất có thể.

Việc tấn công có hai hình thức: gửi đúp (double-spending) và từ chối dịch vụ (DOS). Gửi đúp đã giải thích ở trên, còn DOS là kẻ tấn công sẽ từ chối giao dịch xuất phát từ địa chỉ nào đó, hoặc từ chối giao dịch đến ví nào đó.

Kịch bản tấn công 51% là gì?

51% là con số tượng trưng cho kẻ tấn công có được 51% (quá bán) sực mạnh tính toán của toàn mạng lưới. Do đó, chúng có quyền điều khiển vá ra quyết định nội dung lưu trữ của blockchain.

Chi tiết cách tấn công sẽ được mô tả chi tiết ở bài sau !!!

Tấn công 51% có đáng lo ngại?

Có thể có! Có thể không!

Có thể có bởi vì khả năng này là hiện hữu. Với các pool lớn, việc liên kết để chiếm 51% sức mạnh là hoàn toàn có thể. Trong lịch sử, tháng 6 năm 2014, mỏ đào Ghash.io đã chiếm tới 50% sức mạnh hệ thống.

Có thể không có bởi vì sức mạnh của cộng đồng trong hệ thống phi tập trung. Khi một mỏ đào nào cố tính tạo gửi đúp thì giao dịch đó phải sử dụng ví xuất phát từ mỏ đào đó. Khi đó, cả cộng đồng có thể lên tiếng để bảo vệ bitcoin và quyền lợi của mình. Mỏ đào cố tình gian lận có thể bị loại khỏi cuộc chơi.