Các khái niệm cơ bản của Blockchain


Các khái niệm cơ bản của Blockchain (Phần 1)
Bài viết giải thích một cách đơn giản các khái niệm cơ bản về Blockchain.
Blockchain dịch nghĩa là chuỗi (Chain) khối tức một chuỗi các khối (Blocks) liên kết chặt chẽ với nhau như sợi xích rất khó tách rời.
Vậy hiển nhiên thành phần chính của Blockchain là các Blocks. Vậy Block có những gì và dùng để làm gì.


Các thành phần của Block:

1.  Block có thể hình dung như một hộp chứa dữ liệu cần lưu trữ trên hệ thống Blockchain. Dữ liệu này có thể là các thông tin về giao dịch của người dùng (transactions) trong hệ thống, hay các dạng dữ liệu khác như hợp đồng thông minh Smart Contract trong Ethereum…
2.    Block Hash: Các dữ liệu trong Block sẽ được mã hóa bằng các thuật toán để đảm báo tính bảo mật của hệ thống. Kết quả trả về là các đoạn mã Hash. Khi có bất kĩ thay đổi nào về dữ liệu của Block đoạn mã Hash này sẽ bị thay đổi.
3.    Prev_Hash: Để tạo ra Hash cho một Block, Prev_Hash hay Hash của Block trước đó là một thành phần quan trọng. Điều là là hết sức quan trọng trong việc bảo đảm tính an toàn của hệ thống. Giả sử khi Hash của Block số 10 ở trên bị thay đổi, sẽ làm cho dữ liệu về Prev_hash của Block số 11 thay đổi theo khiến cho Hash của block số 11 và 12 và các Blocks sau đó bị thay đổi. Do đó, gần như không thể tấn công để thay đổi dữ liệu của Blockchain vì số lượng Blocks trong một Blockchain là rất lớn. (Với Bitcoin cứ 10 phút sinh ra 1 Block mới, với nhiều Chain khác có thể là từ 5 – 10s / Block)
4.    Timestamp: Mác thời gian là dữ liệu ghi lại thời điểm Block được tạo và cũng là một trong 4 yếu tố để tạo ra Hash của Block.
5.     Tx_root: Là dữ liệu về các giao dịch phát sinh trong thời điểm Block 101 đó được tạo ra, ví dụ với Bitcoin trong khoảng thời gian từ 10h30 – 10h40 có 100 giao dịch (transactions) được hoàn thành thì thông tin của 100 giao dịch này sẽ được đẩy vào Block 101 này. Do đó, số lượng giao dịch trong các Block là không giống nhau. Đây cũng là một trong 4 yếu tố để tạo ra Hash của hệ thống.
6.     Nonce: Là một giá trị số ví dụ Nonce = 10982 là một con số ngẫu nhiên. 3 thông số về Prev_Hash, timestamp, Tx_Root là các thông số cần thiết của Block, tuy nhiên để Block được tạo ra (được đào) sẽ nhờ các máy đào. Tuy nhiên, do sẽ có nhiều máy đào tham gia quá trình đào, và để đảm bảo Block time (là 10 phút với Bitcoin ở trên) giái trị Nonce được đưa ra. Các máy đào sẽ lựa chọn ngẫu nhiên số Nonce của mình để kết hợp với 3 thông số Prev_Hash, timestamp, Tx_Root cho đến khi nào chọn được số Nonce chuẩn của Block. Điều này dẫn đến tính may mắn cho các máy đào trong quá trình đào Block.






Nhận xét

Bài đăng phổ biến từ blog này

#7 Phương pháp xác định nhanh 6 mẫu âm giai trong Guitar Lead

Làm Chủ 7 Mode Trong Guitar Lead [Chơi ở tất cả các Tone]

Hướng dẫn Django - Python - Day 5: Static Files