Cách thức hoạt động của blockchain

0
130

Một phần chủ đạo trong mỗi blockchain là thuật toán đào, chúng ta hãy lấy thuật toán của bitcoin làm ví dụ. Thuật toán này có tên gọi là SHA-256, viết tắt của “Secure hash algorithm 256 bits”, trong đó đầu vào có thể là bất kỳ thứ gì như văn bản, các con số hoặc thậm chí là một tập tin máy tính có độ dài bất kỳ. Đầu ra được tạo ra được gọi là một “hash” (băm) và sẽ có cùng độ dài mỗi lần, 256 bit.

Một đầu vào sẽ cho ra một đầu ra tương ứng, không phải ngẫu nhiên. Nhưng nếu bạn thực hiện một thay đổi nhỏ cho đầu vào, đầu ra sẽ thay đổi hoàn toàn.

Nó cũng được gọi là hàm một chiều, có nghĩa là nếu bạn chỉ có đầu ra, bạn không thể tính được đầu vào là gì. Bạn chỉ có thể đoán đầu vào là gì, và tỷ lệ đoán đúng là 1/2^256 – việc đoán đúng là không thể, nói cách khác, nó được bảo mật.

Chúng ta đã biết thuật toán làm gì, giờ thì hãy xem cách một blockchain làm việc với một ví dụ giao dịch đơn giản.

Ở đây chúng ta có Alice và Bob cùng với số dư bitcoin của họ. Giả sử Alice nợ Bob 2 bitcoin.

Khi Alice gửi cho Bob 2 bitcoin, Alice phát đi một thông điệp tới tất cả thợ mỏ trong mạng rằng cô muốn thực hiện giao dịch.

Trong nội dung phát đi, Alice cung cấp cho các thợ đào địa chỉ công khai của Bob, số lượng bitcoin mà cô muốn gửi, cùng với chữ ký số và khóa công khai của cô. Chữ ký được thực hiện bằng chìa khóa riêng của Alice và các thợ đào có thể xác nhận rằng Alice chính là chủ sở hữu của lượng bitcoin và cô muốn thực hiện giao dịch.

Một khi các thợ đào chắc chắn rằng giao dịch là hợp lệ, họ sẽ đưa nó vào trong một khối cùng với nhiều giao dịch khác và cố gắng đào khối đó. Điều này được thực hiện bằng cách đưa khối chạy qua thuật toán SHA-256. Đầu ra cần phải bắt đầu với một số lượng số 0 nhất định để được coi là hợp lệ. Số lượng số 0 cần thiết phụ thuộc vào “độ khó” mà sẽ thay đổi tùy thuộc vào sức mạnh điện toán trên mạng lưới.

Để tạo ra một đầu ra hash với số lượng số 0 mong muốn lúc ban đầu, các thợ đào sẽ thêm “số nonce” vào khối trước khi cho chạy qua thuật toán. Vì chỉ một thay đổi nhỏ đối với đầu vào sẽ hoàn toàn thay đổi đầu ra, các thợ đào sẽ thử các nonce ngẫu nhiên cho đến khi tìm thấy một đầu ra hash hợp lệ.

Một khi khối được đào thành công, thợ đào sẽ phát thông điệp tới các thợ đào khác rằng khối mới được đào thành công. Sau đó, họ sẽ kiểm tra để đảm bảo rằng khối mới đào được là hợp lệ để có thể thêm nó vào bản sao của blockchain và giao dịch sẽ hoàn tất. Nhưng trong khối, các thợ đào cũng cần phải đưa vào đầu ra hash từ khối trước đó để tất cả các khối được gắn với nhau, do đó có cái tên block-CHAIN. Đây là một phần quan trọng để đảm bảo hoạt động tín cậy trong hệ thống.

Mỗi thợ đào có bản sao blockchain riêng trên máy tính của họ và blockchain nào có chứa nhiều công việc tính toán nhất, chính là blockchain dài nhất, sẽ được mọi người tin tưởng. Nếu một thợ đào thay đổi một giao dịch trong một khối trước đó, đầu ra hash cho khối đó sẽ thay đổi, dẫn đến tất cả các hash kế sau đó cũng thay đổi do các khối được liên kết với các hash. Thợ đào sẽ phải làm lại tất cả các công việc để mọi người chấp nhận blockchain của anh ta. Vì vậy, nếu một thợ mỏ muốn gian lận, anh ta sẽ cần nhiều hơn 50% sức mạnh điện toán của mạng lưới, điều rất khó xảy ra. Các cuộc tấn công mạng như thế này được gọi là tấn công 51%.

Mô hình khiến cho các máy tính hoạt động để tạo ra các khối được gọi là Proof-of-Work (PoW). Ngoài ra còn có các mô hình khác như Proof-of-Stake (PoS) không đòi hỏi nhiều sức mạnh điện toán, đồng nghĩa với việc cần ít điện năng hơn trong khi vẫn có thể mở rộng đến nhiều người dùng hơn.

Và đó là những điều cơ bản về cách một blockchain hoạt động!

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây