Categories
Blockchain

Cơ chế của Bitcoin 4: Khối Bitcoin

3.4. Khối Bitcoin

Cho đến nay trong chương này, chúng ta đã xem xét cách các giao dịch riêng lẻ được xây dựng và quy đổi. Nhưng như được mô tả trong Chương 2, các giao dịch được nhóm lại với nhau thành các khối. Tại sao thế này? Về cơ bản, nhóm chúng là một cách tối ưu hóa. Nếu các thợ đào phải đạt được sự đồng thuận đối với từng giao dịch riêng lẻ, thì tỷ lệ các giao dịch mới có thể được hệ thống chấp nhận sẽ thấp hơn nhiều. Ngoài ra, chuỗi khối băm ngắn hơn nhiều so với chuỗi giao dịch băm, vì một số lượng lớn giao dịch có thể được đưa vào mỗi khối. Điều này làm cho việc xác minh cấu trúc dữ liệu chuỗi khối hiệu quả hơn.

Chuỗi khối là sự kết hợp nhuần nhuyễn của hai cấu trúc dữ liệu dựa trên băm khác nhau. Đầu tiên là một chuỗi khối băm. Mỗi khối có một tiêu đề khối, một con trỏ băm tới một số dữ liệu giao dịch và một con trỏ băm tới khối trước đó trong chuỗi. Cấu trúc dữ liệu thứ hai là một cây mỗi khối của tất cả các giao dịch được bao gồm trong khối đó. Cấu trúc này là một cây Merkle và cho phép chúng ta có một bản tóm tắt hiệu quả về tất cả các giao dịch trong khối. Như đã thảo luận trong Chương 1, để chứng minh rằng một giao dịch được bao gồm trong một khối cụ thể, chúng ta có thể cung cấp một đường dẫn qua cây có độ dài là logarit của số lượng giao dịch trong khối. Tóm lại, một khối bao gồm dữ liệu tiêu đề theo sau là danh sách các giao dịch được sắp xếp theo cấu trúc cây (Hình 3.7).

Tiêu đề chủ yếu chứa thông tin liên quan đến câu đố khai thác, chúng ta thảo luận ngắn gọn trong Chương 2 và xem lại trong Chương 5. Nhớ lại rằng băm của tiêu đề khối phải bắt đầu bằng một số lượng lớn các số không để khối hợp lệ. Tiêu đề cũng chứa một nonce mà người khai thác có thể thay đổi, dấu thời gian và các bit (một dấu hiệu cho thấy khối này khó tìm như thế nào). Chỉ tiêu đề được băm trong quá trình khai thác. Vì vậy, để xác minh một chuỗi khối, tất cả những gì chúng ta cần làm là xem xét các tiêu đề. Dữ liệu giao dịch duy nhất được bao gồm trong tiêu đề là gốc của cây giao dịch—trường mrkl_root.

HÌNH 3.7. Chuỗi khối bitcoin.

HÌNH 3.7. Chuỗi khối bitcoin. Chuỗi khối Bitcoin chứa hai cấu trúc băm khác nhau. Đầu tiên là một chuỗi khối băm liên kết các khối khác nhau với nhau. Thứ hai là nội bộ của mỗi khối và là một cây Merkle của các giao dịch trong khối.

Một điều thú vị khác về các khối là chúng có một giao dịch đặc biệt trong cây Merkle được gọi là giao dịch coinbase (Hình 3.8). Nó tương tự như CreateCoins trong Scroogecoin. Đồng tiền mới được tạo ra bằng Bitcoin với giao dịch này. Nó khác với một giao dịch thông thường theo một số cách:

  1. Nó luôn có một đầu vào duy nhất và một đầu ra duy nhất.
  2. Đầu vào không quy đổi đầu ra trước đó và do đó chứa một con trỏ băm null, vì giao dịch đang đào bitcoin mới và không sử dụng các đồng hiện có.
  3. Giá trị của đầu ra hiện lớn hơn 25 BTC một chút. Giá trị đầu ra là doanh thu của người khai thác từ khối. Doanh thu này bao gồm hai thành phần: phần thưởng khai thác cố định, được đặt bởi hệ thống và giảm một nửa sau mỗi 210.000 khối (khoảng 4 năm) và phí giao dịch thu được từ mọi giao dịch được bao gồm trong khối.
  4. Nó có một tham số “coinbase” đặc biệt, hoàn toàn tùy ý—người khai thác có thể đặt bất cứ thứ gì họ muốn vào đó.

HÌNH 3.8. Giao dịch Coinbase.

HÌNH 3.8. Giao dịch Coinbase. Giao dịch coinbase tạo ra các đồng tiền mới. Nó không quy đổi kết quả đầu ra trước đó và nó có một con trỏ băm null chỉ ra điều này. Nó có một tham số coinbase, có thể chứa dữ liệu tùy ý. Giá trị của giao dịch coinbase là phần thưởng khối cộng với tất cả phí giao dịch được bao gồm trong khối.

Nổi tiếng, trong khối đầu tiên từng được khai thác bằng Bitcoin, thông số coinbase đã đề cập đến một câu chuyện trên tờ Times of London liên quan đến việc thủ tướng cứu trợ các ngân hàng. Tài liệu tham khảo này đã được hiểu là bình luận chính trị về động lực để bắt đầu Bitcoin. Nó cũng đóng vai trò như một loại bằng chứng rằng khối đầu tiên đã được khai thác sau khi câu chuyện ra mắt vào ngày 3 tháng 1 năm 2009. Một cách mà thông số coinbase đã được sử dụng kể từ đó là để báo hiệu sự hỗ trợ của các thợ đào đối với các tính năng mới khác nhau.

Cách tốt nhất để làm quen với định dạng khối và định dạng giao dịch là tự khám phá chuỗi khối. Nhiều trang web làm cho những dữ liệu này có thể truy cập được, chẳng hạn như blockchain.info. Bạn có thể xem biểu đồ giao dịch, xem giao dịch nào quy đổi giao dịch nào khác, tìm kiếm giao dịch có tập lệnh phức tạp và kiểm tra cấu trúc khối và xem cách khối tham chiếu đến các khối khác. Vì chuỗi khối là một cấu trúc dữ liệu công khai, các nhà phát triển đã xây dựng các trình bao bọc đẹp mắt để khám phá nó bằng đồ thị.

Leave a Reply

Your email address will not be published. Required fields are marked *