Blockchain làm việc như thế nào?

Để tìm hiểu Blockchain là gì, các bạn có thể xem tại link

Khi một khối lưu trữ dữ liệu mới, nó sẽ được thêm vào blockchain. Blockchain, như tên gọi của nó, bao gồm nhiều khối được xâu chuỗi lại với nhau. Tuy nhiên, để một khối được thêm vào blockchain, có bốn điều phải xảy ra:

  1. Một giao dịch bắt buộc phải xảy ra. Hãy tiếp tục với ví dụ về việc mua hàng trên Amazon của bạn. Sau khi nhanh chóng click qua nhiều bước xác minh và thanh toán, bạn đã quyết định mua hàng. Như chúng ta đã thảo luận ở bài trước, trong nhiều trường hợp, một khối sẽ chứa hàng ngàn giao dịch, do đó, giao dịch mua hàng trên Amazon của bạn cũng sẽ được đóng gói trong một khối cùng với thông tin giao dịch của người dùng khác.
  2. Giao dịch đó phải được xác minh. Sau khi thực hiện mua hàng, giao dịch của bạn phải được xác minh. Với các hồ sơ lưu trữ thông tin mua hàng công khai khác, như tại Ủy ban giao dịch chứng khoán, Wikipedia hoặc thư viện địa phương của bạn, có một người phụ trách kiểm tra các mục nhập dữ liệu mới. Tuy nhiên, với blockchain, công việc đó được thực hiện bởi một mạng máy tính. Khi bạn mua hàng từ Amazon, mạng máy tính đó sẽ kiểm tra xem giao dịch của bạn có xảy ra theo đúng đơn hàng của bạn không. Đó là, họ xác nhận các chi tiết của giao dịch mua, bao gồm thời gian giao dịch, số tiền và người tham gia giao dịch. (Những bước xác minh này thường xảy ra chỉ trong một giây.)
  3. Giao dịch đó phải được lưu trữ trong một khối. Sau khi giao dịch của bạn được xác minh là chính xác, nó sẽ được bật đèn xanh. Số tiền của giao dịch, chữ ký kỹ thuật số của bạn và chữ ký kỹ thuật số của Amazon, tất cả được lưu trữ trong một khối. Trong một khối đó, có hàng trăm, hàng ngàn các giao dịch tương tự được lưu trữ.
  4. Khối đó phải được cung cấp một hàm băm. Một khi tất cả các giao dịch khối đã được xác minh, nó phải được cung cấp một mã nhận dạng duy nhất, được gọi là băm. Khối này cũng sẽ được cấp hàm băm của khối gần đây nhất được thêm vào blockchain. Sau khi đã được cho mật mã nhận dạng, khối này có thể được thêm vào blockchain.

Khi khối mới đó được thành công thêm vào blockchain, nó sẽ trở nên công khai cho mọi người xem ngay cả bạn. Nếu bạn xem qua blockchain của Bitcoin, bạn sẽ thấy rằng bạn có quyền truy cập vào dữ liệu giao dịch, cùng với thông tin về thời điểm (Time), trong đó (Height) và bởi ai (Relayed By) được thêm vào blockchain.

Blockchain có riêng tư không?

Bất cứ ai cũng có thể xem nội dung của blockchain, nhưng người dùng cũng có thể chọn kết nối máy tính của họ với mạng blockchain dưới dạng các nút (Nodes). Khi làm như vậy, máy tính của họ nhận được một bản copy của blockchain được cập nhật tự động mỗi khi một khối mới được thêm vào, giống như thông báo của Facebook cập nhật trực tiếp mỗi khi có trạng thái mới được đăng.

Mỗi máy tính trong mạng blockchain có bản copy riêng của blockchain, có nghĩa là có hàng ngàn bản copy. Trong trường hợp của Bitcoin, chúng sẽ có hàng triệu bản sao của cùng một blockchain. Mặc dù mỗi bản sao của blockchain là giống hệt nhau, nhưng việc truyền đi thông tin qua một mạng máy tính khiến thông tin khó bị thao túng. Với blockchain, không có bất kỳ một dữ liệu nào có thể bị thao túng, vì hacker sẽ cần phải thao túng mọi bản sao của blockchain đó trên mạng. Điều này cũng có nghĩa là blockchain là một sổ cái “phân tán”.

Tuy nhiên, nhìn khi xét đến blockchain Bitcoin, bạn sẽ nhận thấy rằng bạn không có quyền truy cập để xác định thông tin về người dùng thực hiện giao dịch. Mặc dù các giao dịch trên blockchain không hoàn toàn ẩn danh, thông tin cá nhân về người dùng bị giới hạn ở chữ ký kỹ thuật số hoặc tên người dùng của họ.

Điều này đặt ra một câu hỏi quan trọng: nếu bạn không thể biết ai đang thêm các khối vào blockchain, làm thế nào bạn có thể tin tưởng vào blockchain hoặc mạng máy tính duy trì nó?

Blockchain có an toàn không?

Công nghệ blockchain giải quyết các vấn đề về bảo mật và niềm tin theo nhiều cách. Đầu tiên, các khối mới luôn được lưu trữ tuyến tính và theo thời gian. Đó là, chúng luôn được thêm vào phần cuối của chuỗi blockchain. Nếu bạn nhìn vào blockchain Bitcoin, bạn sẽ thấy rằng mỗi khối có một vị trí trên chuỗi, được gọi là Height (chiều cao) của chuỗi. Tính đến tháng 1 năm 2020, Height của các khối đã đạt 615.400.

Sau khi một khối đã được thêm vào cuối blockchain, rất khó để quay lại và thay đổi nội dung của khối. Bởi vì mỗi khối chứa hàm băm riêng của nó, cùng với hàm băm của khối trước nó. Mã băm được tạo 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à chữ cái. Nếu thông tin đó được chỉnh sửa theo bất kỳ cách nào, mã băm cũng thay đổi.

Bây giờ chúng ta hãy tìm hiểu lý do tại sao sự bảo mật lại cực kì quan trọng nhé. Ví dụ rằng một hacker đang cố gắng chỉnh sửa giao dịch của bạn từ Amazon để bạn phải trả tiền cho việc mua hàng của mình hai lần. Ngay sau khi họ chỉnh sửa số tiền trong giao dịch của bạn, hàm băm của khối sẽ thay đổi. Khối tiếp theo trong chuỗi vẫn sẽ chứa hàm băm cũ và Hacker sẽ cần cập nhật khối đó để che dấu vết của chúng. Tuy nhiên, khi làm như vậy lại sẽ thay đổi mã băm của khối đó. Và điều này sẽ cứ tiếp diễn mãi như vậy.

Sau đó, để thay đổi dù chỉ một khối, một hacker sẽ cần thay đổi mọi khối đơn sau khối đó. Tính toán lại tất cả các giá trị mã băm đó sẽ mất một lượng tính toán khổng lồ và không thể thực hiện được. Nói cách khác, một khi một khối được thêm vào blockchain, nó trở nên rất khó chỉnh sửa và không thể nào xóa được.

Để giải quyết vấn đề về niềm tin, các mạng lưới blockchain đã triển khai các thử nghiệm cho các máy tính muốn tham gia và quá trình thêm các khối vào chuỗi. Các thử nghiệm, được gọi là mô hình đồng thuận của người dùng, trực tiếp yêu cầu người dùng phải chứng minh bản thân trước khi họ có thể tham gia vào mạng lưới  blockchain. Một trong những ví dụ phổ biến nhất được sử dụng bởi Bitcoin được gọi là “bằng chứng về công việc” (proof of work).

Trong hệ thống “Proof of work”, các máy tính phải chứng minh được rằng họ đã thực hiện công việc bằng cách giải một bài toán tính toán phức tạp. Nếu một máy tính giải được một trong những vấn đề này, nó đạt đủ điều kiện để thêm một khối vào blockchain. Nhưng quá trình thêm các khối vào blockchain, điều mà thế giới tiền mã hóa gọi là khai thác trên mạng, không dễ dàng gì. Trên thực tế, tỷ lệ giải quyết một trong những vấn đề này trên mạng Bitcoin là khoảng một trong 15,5 nghìn tỷ vào tháng 1 năm 2020. Để giải quyết các vấn đề toán học phức tạp với tỷ lệ đó, máy tính phải chạy các chương trình tiêu tốn của chúng một lượng hiệu suất và năng lượng đáng kể.

“Proof of work” không vô hiệu hóa tất cả các cuộc tấn công của hacker, nhưng biến chúng trở nên vô dụng theo một cách khác. Nếu một hacker muốn tổ chức một cuộc tấn công vào blockchain, họ sẽ cần kiểm soát hơn 50% toàn bộ thuật toán tính toán trên blockchain để có thể áp đảo tất cả những người tham gia khác trong mạng. Với kích thước khổng lồ của blockchain Bitcoin, một cuộc tấn công được gọi là 51% gần như chắc chắn không đáng để nỗ lực và nhiều khả năng là không thể. 

Nguồn