Tiết lộ Bí ẩn của Khai thác

Người mới bắt đầu7/15/2024, 6:30:04 AM
Bài viết này cung cấp một giới thiệu chi tiết về quá trình "khai thác" trong blockchain. Bằng cách so sánh với hoạt động khai thác truyền thống, nó giải thích khái niệm cơ bản về khai thác kỹ thuật số, bao gồm việc sử dụng tài nguyên tính toán để giải quyết các vấn đề toán học để xác nhận giao dịch và phát hành tiền tệ mới.

forward the original title ‘白话区块链三:揭开挖矿神秘的面纱——挖矿是什么?为什么要挖矿?谁是我们买不起显卡的罪魁祸首?’

Một trong những khái niệm quen thuộc nhất liên quan đến blockchain đối với mọi người có lẽ là khai thác. Rất nhiều người có thể đã nghe nói về khai thác nhiều lần nhưng không chắc chắn về nó nghĩa là gì. Trong phần này, chúng tôi sẽ gián đoạn chương trình thường xuyên của chúng tôi để giới thiệu trước về 'khai thác'.

Tóm tắt nhanh nội dung từ "Plain Blockchain 1: Giới thiệu về Bitcoin (Người tiên phong của cuộc cách mạng blockchain và kẻ thách thức tiền tệ có chủ quyền)", nơi Satoshi Nakamoto thiết kế hệ thống tiền tệ Bitcoin để liên kết phần thưởng cho sổ sách kế toán với phát hành tiền tệ. Cách tiếp cận này cho phép việc phát hành tiền tệ được tự động hóa thông qua quy trình ghi sổ kế toán, giải quyết vấn đề phát hành tiền tệ đồng thời khuyến khích các nhân viên kế toán tích cực tham gia.

1. Khai thác là gì?

Trong thế giới thực, khai thác liên quan đến việc người khai thác sử dụng các công cụ khác nhau để đào ra kim loại quý ẩn trong đá từ mỏ. Người khai thác trích xuất giá trị từ những kim loại hiếm hoi này ẩn trong tự nhiên thông qua lao động vật chất.

Đối với các dự án blockchain có phần thưởng cho việc kế toán sách (thường là các dự án tiền điện tử), các nút mạng tiêu tốn tài nguyên tính toán để giải quyết các vấn đề. Khi họ tìm ra giải pháp, họ đóng gói khối và nhận được phần thưởng dưới dạng tiền tệ mới phát hành. Quá trình này tương tự như việc khai thác các kim loại quý như vàng từ quặng, do đó nó thường được gọi là “khai thác”. Ở đây, các kế toán viên là những người khai thác, họ cạnh tranh để đóng gói các khối bằng phần cứng và điện năng, dẫn đến việc tạo ra tiền tệ mới.

2. tại sao khai thác là cần thiết?

Khai thác có hai mục đích chính: xác minh giao dịch gần đây bằng cách đóng gói chúng thành các khối và liên kết chúng với blockchain, và phát hành tiền tệ mới bằng cách thưởng cho người ghi sổ. Dưới đây là các chức năng chi tiết của khai thác:

  1. lựa chọn người kế toán: cần có một chiến lược để lựa chọn các người kế toán thực tế từ nhiều ứng viên. Kết quả khai thác được sử dụng làm cơ sở cho việc lựa chọn này, đảm bảo rằng mọi giao dịch được công nhận bởi tất cả các bên tham gia, đạt được sự đồng thuận trên mạng lưới.
  2. xác minh giao dịch: mỗi giao dịch bitcoin cần được xác minh bởi các thợ đào trên mạng. quá trình này xác nhận tính hợp lệ của giao dịch, bao gồm:
    • đảm bảo định dạng và kích thước giao dịch đáp ứng các thông số kỹ thuật.
    • xác minh tính hợp lệ của chữ ký giao dịch để đảm bảo rằng nó được khởi tạo bởi người sử dụng sở hữu khóa riêng tư liên quan.
    • kiểm tra xem lượng đầu vào có vượt quá lượng đầu ra (với một phần số tiền được lấy làm phí), đảm bảo rằng các token được sử dụng để thanh toán không bị chi tiêu kép.
    • xác nhận rằng giao dịch chưa được bao giờ được bao gồm trong một khối trước đó.
  3. phát hành tiền tệ mới: khai thác cũng là cách mà bitcoin mới nhập vào lưu thông. khi một thợ mỏ thành công khai thác một khối mới, họ nhận được một số lượng bitcoin nhất định như là phần thưởng. cơ chế thưởng này không chỉ khuyến khích mọi người tham gia khai thác mà còn phục vụ như một phương pháp phát hành bitcoin. phương pháp phát hành tiền tệ này đảm bảo một sự tăng trưởng ổn định và được kiểm soát trong lưu thông tiền tệ, giúp quản lý lạm phát.
  4. khuyến khích sự tham gia: cơ chế phần thưởng thúc đẩy nhiều người tham gia vào việc duy trì hệ thống tiền tệ, thúc đẩy sự phát triển liên tục và mạnh mẽ của nó.
  5. cải thiện bảo mật mạng và phi tập trung: phần thưởng từ việc khai thác dẫn đến một số lượng lớn các thợ mỏ, dẫn đến một lực tính toán phân tán. sự phi tập trung này đảm bảo không có một thực thể duy nhất nào có thể kiểm soát 50% lực tính toán, từ đó cải thiện tính minh bạch và bảo mật của hệ thống. tuân thủ nguyên tắc chuỗi dài nhất cũng cải thiện thêm bảo mật của hệ thống.

3. tại sao người đào coin sẵn lòng tham gia vào khai thác?

Người đào được khuyến khích tham gia vào việc khai thác vì họ nhận được phần thưởng đáng kể cho việc đóng gói một khối vào blockchain thành công. Những phần thưởng này đến từ hai nguồn chính:

  • block rewards (newly issued currency): hệ thống tiền tệ tự động phát hành tiền tệ mới, hoàn toàn thuộc về người khai thác. Ví dụ, trong hệ thống bitcoin, hiện tại, người khai thác nhận được 3.125 bitcoin cho mỗi khối giao dịch họ đóng gói. Với giá trị của mỗi bitcoin khoảng 65.000 đô la, đóng gói một khối giao dịch đơn lẻ có thể mang lại hơn 200.000 đô la, tương đương khoảng 1,47 triệu RMB.
  • phí giao dịch được người dùng thanh toán: do khả năng giới hạn của một khối để chứa các bản ghi giao dịch, một số người dùng thanh toán phí giao dịch để khuyến khích các thợ đào ưu tiên xác nhận giao dịch của họ nhanh hơn. khi chọn giao dịch từ pool để bao gồm trong khối, các thợ đào có xu hướng chọn những giao dịch có phí cao hơn. một khối có thể chứa hàng ngàn giao dịch, và tất cả các phí từ những giao dịch này đều thuộc về thợ đào, đại diện cho một nguồn thu nhập quan trọng khác. khi có nhiều người sử dụng bitcoin cho các giao dịch, cuộc cạnh tranh để được bao gồm trong các khối trở nên gay gắt, dẫn đến phí cao mà người dùng sẵn lòng trả.

Với thời gian, phần thưởng khối sẽ giảm (ví dụ như cơ chế halving của Bitcoin, trong đó phần thưởng được giảm một nửa khoảng mỗi bốn năm). Cuối cùng, sau khi tất cả 21 triệu Bitcoin đã được khai thác, dự kiến vào khoảng năm 2141, phần thưởng khối tự động sẽ ngừng tồn tại và phí giao dịch sẽ trở thành nguồn thu chính của các nhà khai thác.

mẹo

Bitcoin tạo ra một khối mới khoảng 10 phút một lần. Ban đầu, mỗi khối mới tạo ra 50 Bitcoin. Phần thưởng này trải qua một nửa cứ sau bốn năm và cho đến nay, đã có bốn sự kiện giảm một nửa như vậy. Hiện tại, mỗi khối tạo ra 3.125 bitcoin, với đợt giảm một nửa gần đây nhất xảy ra vào tháng 4/2024. Việc giảm một nửa tiếp theo được dự đoán vào khoảng năm 2028. Đến khoảng năm 2141, Bitcoin sẽ đạt đến giới hạn phát hành.

Phí giao dịch không chỉ bị ảnh hưởng bởi cung cầu mà còn bởi kích thước của giao dịch, vì phí được tỷ lệ với không gian mà giao dịch chiếm trong khối.

4. cách tham gia vào khai thác

Đối với những người khai thác, tham gia khai thác rất đơn giản. Tải xuống một trình khách ví tiền điện tử và trong trình khách đó, nhấp vào nút khai thác để bắt đầu khai thác.

đối với các dự án blockchain có phần thưởng khối, thuật toán khai thác thường được viết vào một script tích hợp vào ví. Các thợ đào chỉ cần nhấp vào một nút để bắt đầu script.

thuật toán khai thác là xác định, có nghĩa là miễn là các thợ mỏ liên tục chạy thuật toán, họ sẽ cuối cùng nhận được một kết quả. tuy nhiên, do tài nguyên tính toán thay đổi, thời gian cần thiết để tính toán kết quả này có thể khác nhau giữa các thợ mỏ. khi một nút tính toán giá trị mục tiêu, những nỗ lực của các thợ mỏ khác trong khoảng thời gian đó trở nên vô ích, dẫn đến lợi nhuận âm do tài nguyên vật lý đã tiêu tốn.

Để tránh lãng phí công sức, các thợ đào thường gom nhóm tài nguyên tính toán của họ bằng cách tham gia một nút hồ bơi khai thác. Nút này hoạt động giống như bất kỳ nút nào khác nhưng có sức mạnh tính toán đáng kể hơn. Khi hồ bơi thành công khai thác một khối, phần thưởng được phân phối cho các thợ đào tham gia dựa trên tài nguyên tính toán họ đã đóng góp. Quan trọng phải lưu ý rằng trên blockchain, thợ đào được ghi nhận là đóng gói khối là nút hồ bơi khai thác, trong khi các thợ đào cá nhân nhận được phần thưởng được phân bổ bởi hồ bơi, không phải trực tiếp từ hệ thống tiền tệ.

Bitmain, một công ty chuyên sản xuất chip khai thác chuyên dụng hiệu suất cao, đã củng cố vai trò của các nhóm khai thác, đóng góp vào việc tập trung quyền kiểm soát sổ sách.

5. những chi tiết về câu đố khai thác

Các dự án blockchain khác nhau có thể có các câu đố khai thác khác nhau và mức độ khó khăn khác nhau. Ở đây, chúng ta lấy bitcoin làm ví dụ. Thuật toán khai thác được sử dụng bởi bitcoin được gọi là proof of work (pow). Bản chất của thuật toán này là để đạt được một kết quả, một lượng công việc nhất định phải được tiêu tốn để chứng minh nó.

bài toán khai thác không phải là một vấn đề toán học truyền thống mà liên quan đến việc tìm kiếm một số ngẫu nhiên, được gọi là nonce. nonce này, khi kết hợp với dữ liệu trong khối và xử lý thông qua một hàm băm, phải tạo ra một giá trị băm thỏa mãn một điều kiện cụ thể. Thông thường, điều kiện này yêu cầu giá trị băm phải nhỏ hơn một giá trị mục tiêu (hoặc tương đương, n bit đầu tiên của giá trị băm là không). Phương trình được biểu diễn như sau: hash(nonce+block_data)≤target\text{hash}(\text{nonce} + \text{block_data}) \leq \text{target}hash(nonce+block_data)≤target

Bitcoin sử dụng hàm băm SHA-256, chuyển đổi bất kỳ độ dài đầu vào nào thành đầu ra có độ dài cố định là 256 bit (tương đương với 64 chữ số thập lục phân hoặc 32 byte). Đầu ra gần như ngẫu nhiên nhưng được đảm bảo giống nhau cho cùng một đầu vào. Khai thác liên quan đến việc liên tục thay đổi nonce và băm dữ liệu tiêu đề khối bằng SHA-256 cho đến khi tìm thấy giá trị băm đáp ứng điều kiện mục tiêu.

Ví dụ: giá trị băm SHA-256 với 30 bit đầu tiên là số không: 000000000000000000000000000000111111010000011011000100100110111011000110100010011011000110100010110110101010011101011010100100011011010001111101001111110101001101111101011110011100011110011110000111000100110000001011011010001110011100110010111010010010010001101010110010110000000000000000000000000000000111111010000011011000100100110111011000110100010011011000110100010110110101010011101011010100100011011010001111101001111110101001101111101011110011100011110011110000111000100110000001011011010001110011100110010111010010010010001101010110010110000000000000000000000000000000111111010000011011000100100110111011000110100010011011000110100010110110101010011101011010100100011011010001111101001111110101001101111101011110011100011110011110000111000100110000001011011010001110011100110010111010010010010001101010110010110

chuyển đổi này thành hệ thập lục phân cho kết quả là một giá trị bắt đầu bằng bảy số không: 00000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac9000000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac9000000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac90

Để đơn giản hóa, xác suất tìm thấy một hash với n bit đầu tiên là 0 là 12n\frac{1}{2^n}2n1​. Càng lớn n, càng nhiều bit là 0 và xác suất càng thấp:

  • n = 10n = 10n = 10: 1 trong 1.024
  • n = 20n = 20n = 20: 1 trong 1.048.576
  • n = 30n = 30n = 30: 1 trên 1.073.741.824
  • n = 40: 1 trên 1.099.511.627.776
  • n = 50n = 50n = 50: 1 trong 1.125.899.906.842.624

với n lên đến 256, việc tìm giá trị băm như vậy với sức mạnh tính toán hiện tại của con người, loại trừ máy tính lượng tử, gần như là không thể trước khi trái đất ngừng tồn tại.

do với tính chất của sha-256, phương pháp duy nhất là vét cạn, bao gồm liên tục thử nghiệm các nonce khác nhau cho đến khi điều kiện được đáp ứng. điều này làm cho việc khai thác đòi hỏi thiết bị tính toán hiệu suất cao như vậy.

Vì bạn không thể dự đoán giá trị băm được tạo ra bằng cách thêm nonce vào dữ liệu khối và chuyển nó qua SHA-256, quá trình này hoàn toàn ngẫu nhiên. Ví dụ: nếu giá trị băm mục tiêu là 10.000, bạn không có cách nào biết nonce nào kết hợp với dữ liệu khối sẽ mang lại giá trị băm nhỏ hơn 10.000. Bản chất ngẫu nhiên và không thể đoán trước này có nghĩa là các thợ mỏ phải tiếp tục liệt kê các khả năng cho đến khi điều kiện được thỏa mãn. Nếu nhiều giá trị đáp ứng điều kiện, giá trị băm nhỏ nhất được chọn vì giá trị băm nhỏ hơn cho thấy độ khó cao hơn và xác suất xảy ra thấp hơn.

xác minh xem giá trị băm được tạo ra có đáp ứng yêu cầu dễ dàng, chỉ cần một phép so sánh duy nhất. tuy nhiên, việc tìm một giá trị băm nhỏ hơn hoặc bằng giá trị mục tiêu chỉ có thể đạt được thông qua liệt kê vét cạn. đặc điểm này, trong đó việc xác minh một kết quả dễ dàng nhưng tìm kết quả lại khó, được gọi là bất đối xứng tính toán.

6. mô phỏng mã hóa thuật toán khai thác

Đoạn code sau mô phỏng quá trình khai thác. Nó bắt đầu với một chuỗi dữ liệu tiêu đề khối “geekbang” và tìm kiếm từ một giá trị nonce là 10.000 cho đến khi nó tìm thấy một giá trị nonce thỏa mãn điều kiện cụ thể.

Đây là một tập lệnh Python minh họa quá trình khai thác:

import hashlib

def main():
    base_string = "geekbang"
    nonce = 10000
    count = 0
    while true:
        target_string = base_string + str(nonce)
        pow_hash = hashlib.sha256(target_string.encode()).hexdigest()
        count += 1
        if pow_hash.startswith("0000"):  # first 4 hex digits are 0, equivalent to the first 16 bits being 0
            print("hash:", pow_hash)
            print("nonce:", nonce, "scan times:", count)
            break
        nonce += 1

if __name__ == '__main__':
    main()

Khi yêu cầu là 4 chữ số thập lục phân đầu tiên của kết quả băm là 0 (tương đương với 16 bit đầu tiên là 0), số lần tính toán là khoảng 58.000. Nếu yêu cầu được nâng lên thành 5 chữ số đầu tiên là 0, số lần tính toán tăng lên đến 1,23 triệu. Khi yêu cầu là 7 chữ số đầu tiên là 0, số lần tính toán đạt đến 160 triệu. Điều này cho thấy mỗi chữ số 0 bổ sung vào tiền tố băm tăng số lần tính toán khoảng 16 lần.

Dưới đây là kết quả cho các điều kiện mục tiêu khác nhau:

4 chữ số hex đầu tiên là không (16 bit):

import hashlib

def main():

base_string = "geekbang"nonce = 10000count = 0trong khi đó:    target_string = base_string + str(nonce)    pow_hash = hashlib.sha256(target_string).hexdigest()    count = count + 1    if pow_hash.startswith("0000"): # Four first hexadecimal digits are 0, equivalent to the first 16 bits are 0    print pow_hash    print "nonce: https://s3.ap-northeast-1.amazonaws.com/gimg.gateimg.com/learn/51d786353cf4ac886dbb869fc7abf883dac67ceb.png"  scan times: https://s3.ap-northeast-1.amazonaws.com/gimg.gateimg.com/learn/4ebdb22f10c27f8797a1c2ae7bbbd78f40220ed4.png"" % (nonce, count)    break    nonce = nonce + 1

nếutên== ‘chính‘:

main()

như đã thấy, việc tăng số lượng số không đầu tiên cần thiết trong băm tăng đáng kể số lượng lần cần thử, theo một mô hình tăng theo cấp số mũ. điều này chứng tỏ sự khó khăn về tính toán và tài nguyên cần thiết cho việc khai thác, nhấn mạnh sự cần thiết của các thiết bị tính toán hiệu suất cao trong quá trình khai thác.

7. điều chỉnh độ khó động

Để đảm bảo rằng một khối được tạo ra khoảng 10 phút một lần, hệ thống Bitcoin điều chỉnh độ khó khai thác bằng cách thay đổi số lượng số không đứng đầu cần thiết trong giá trị băm. Cơ chế điều chỉnh độ khó này là một phần quan trọng của hệ thống Bitcoin. Nó đánh giá thời gian cần thiết để tạo các khối 2016 cuối cùng, lý tưởng nhất là khoảng hai tuần. Nếu các khối này được khai thác trong vòng chưa đầy hai tuần, độ khó sẽ tăng lên bằng cách thêm nhiều số không đứng đầu (giảm giá trị mục tiêu). Ngược lại, nếu mất hơn hai tuần, độ khó sẽ giảm bằng cách giảm số lượng số không đứng đầu (tăng giá trị mục tiêu). Cơ chế này đảm bảo rằng thời gian để tạo một khối vẫn còn khoảng 10 phút, ngay cả khi tổng tỷ lệ băm của mạng dao động.

Cơ chế điều chỉnh khó khăn này, được thiết kế bởi người sáng tạo của bitcoin Satoshi Nakamoto, đã được lên kế hoạch từ đầu để tự động thích ứng với tổng công suất tính toán của mạng. Nó duy trì một tốc độ khai thác ổn định và ngăn ngừa việc phát hành tiền tệ quá nhanh, có thể làm đảo lộn nền kinh tế thị trường.

8. quá trình thực hiện thuật toán khai thác

Các dự án blockchain khác nhau có thể có các thuật toán khai thác khác nhau. Ở đây, chúng tôi mô tả thuật toán khai thác nổi tiếng nhất: thuật toán khai thác bitcoin.

quy trình thực hiện thuật toán khai thác cơ bản của bitcoin như sau:

  1. chọn giao dịch: chọn một số giao dịch từ bộ nhớ giao dịch (thường ưu tiên những giao dịch có phí cao hơn). tự động tạo ra một giao dịch đặc biệt (thường được gọi là giao dịch coinbase) với người nhận là người khai thác, và số tiền giao dịch là phần thưởng khối cộng với tất cả các phí giao dịch được chọn. đặt giao dịch đặc biệt này ở đầu các giao dịch được chọn để tạo thành tập hợp giao dịch cho khối được đóng gói.
  2. xây dựng cây merkle: xây dựng một cây băm merkle từ tập hợp giao dịch. một cây merkle là một cây nhị phân trong đó mỗi nút lá lưu trữ băm của một giao dịch, định danh và chỉ mục duy nhất nó. mỗi nút trên lưu trữ băm kết hợp của các nút con của nó, cuối cùng là nút gốc. nút gốc định danh duy nhất cây merkle và, qua mở rộng, tất cả các giao dịch.
  3. xây dựng phần đầu khối: lắp ráp phần đầu khối từ giá trị gốc merkle, một nonce, phiên bản khối, hash khối trước đó, timestamp, mục tiêu khó, và nonce. kích thước phần đầu khối là 80 byte.
  4. băm tiêu đề khối: liên tục thay đổi giá trị nonce trong tiêu đề khối và thực hiện một băm double sha-256 trên nội dung tiêu đề khối (tức là sha256 (sha256 (block_header))). so sánh giá trị băm thu được với giá trị mục tiêu hiện tại của mạng. nếu kết quả nhỏ hơn giá trị mục tiêu (chỉ ra rằng n bit đầu tiên là số không), câu đố được giải quyết và chứng minh công việc được hoàn thành.
  5. phát sóng khối: gửi khối mới khai thác được đến các nút láng giềng, thông báo cho họ rằng khối đã được khai thác thành công.
  6. xác minh và truyền tải: khi nhận được khối mới, các nút khác thực hiện double hash trên phần đầu của khối để lấy hash của khối. họ xác minh rằng n bit đầu tiên của hash của khối bằng không, xác nhận khối, ngừng tính toán cho khối này và truyền tải nó đến các nút láng giềng của họ.

kích thước của mỗi trường trong tiêu đề khối như sau:

https://time.geekbang.org/column/article/5963

alt="">

cấu trúc cây merkle như sau:

大后端私房菜]. alt="">

9. tranh cãi trong khai thác

Sự tranh luận chính về việc khai thác liên quan đến các thuật toán chứng minh công việc (POW) được sử dụng bởi bitcoin và các dẫn xuất của nó. Các thuật toán này đòi hỏi người khai thác phải cấp phát nguồn lực tính toán đáng kể để giải quyết các vấn đề mà mạng đồng ý. Rất nhiều người đang làm việc trên những tính toán này cùng một lúc, nhưng chỉ người đầu tiên giải quyết vấn đề được thưởng. Các người tham gia khác cũng cấp phát nguồn lực tính toán và điện hiệu quả nhưng không tạo thêm giá trị gì.

có hai con đường chính để tối ưu hóa lãng phí tài nguyên này:

  1. chuyển sang các thuật toán ít tài nguyên hơn: ví dụ, Ethereum đã chuyển từ thuật toán POW sang thuật toán POS, giảm đáng kể lãng phí tài nguyên.
  2. sử dụng tài nguyên điện không hoạt động: các nút khai thác đang thử nghiệm việc sử dụng nguồn năng lượng tái tạo, như năng lượng gió, cho hoạt động khai thác. một phát triển đáng kể khác là việc sử dụng khí tự nhiên bị lãng phí. Ngoài ra, một số tổ chức đang khám phá cách tái chế nhiệt độ quá mức được tạo ra bởi việc khai thác bitcoin.

10. câu hỏi

Giá trị của việc khai thác là gì? Nó dường như là lãng phí tài nguyên và không có ý nghĩa đối với xã hội.

trong việc xem xét lại phần 'tại sao khai thác là cần thiết?' của bài viết này, ý nghĩa trực tiếp của việc khai thác là hỗ trợ việc phát hành tiền điện tử. các phần thưởng khai thác khuyến khích nhiều người hơn tham gia vào việc duy trì tiền điện tử, khiến chúng trở nên ổn định hơn. Ngoài ra, các thuật toán khai thác duy trì tính nhất quán của giao dịch trong các hệ thống tiền điện tử, khiến chúng trở nên mạnh mẽ hơn và ít dễ bị tấn công từ bên trong và bên ngoài.

Ý nghĩa gián tiếp của việc khai thác được suy ra từ chính các loại tiền điện tử. Tiền điện tử tạo ra một hệ thống tiền tệ toàn cầu, không tin cậy, nơi mà các giao dịch an toàn có thể diễn ra mà không cần đến các tổ chức tập trung, tránh được nhược điểm của tập trung. Tính toàn cầu của chúng cũng cho phép các giao dịch vượt biên hiệu quả và chi phí thấp.

Sự giảm lợi nhuận từ việc khai thác có thể dẫn đến việc chi phí vượt quá thu nhập, khiến cho người khai thác dừng việc khai thác và giao dịch ngừng diễn ra?

Điều đáng lo ngại thông thường là lợi nhuận khai thác chỉ phụ thuộc vào phần thưởng hệ thống, điều này giảm dần theo thời gian. Tuy nhiên, khai thác cũng tạo ra thu nhập đáng kể từ phí giao dịch. Khi các loại tiền điện tử được chấp nhận rộng rãi, thị trường giao dịch tiền điện tử sẽ mở rộng. Khối lượng giao dịch tăng lên này sẽ làm gia tăng cạnh tranh để bao gồm khối, dẫn đến việc thu phí cao hơn mà người dùng sẵn lòng trả để ưu tiên giao dịch của họ. Do đó, người khai thác có thể tiếp tục kiếm được khoản phí giao dịch đáng kể, đảm bảo tính khả thi liên tục của việc xử lý giao dịch.

nếu chi phí khai thác vượt quá phí blockchain, liệu khai thác có tiếp tục không?

Phí giao dịch có đền bù được chi phí khai thác không?

Vâng, phí giao dịch có thể giúp bù đắp chi phí khai thác. Khi phần thưởng khối giảm dần theo thời gian, phí giao dịch trở thành nguồn thu quan trọng đối với các nhà khai thác. Điều này đảm bảo rằng ngay cả khi chi phí điện cao, các nhà khai thác vẫn có thể duy trì hoạt động thông qua các khoản phí được người dùng trả để xử lý giao dịch.

Nếu nhiều nhà khai thác giải quyết câu đố đồng thời thì điều gì sẽ xảy ra?

Nhiều người khai thác có chia sẻ phần thưởng khai thác nếu họ cùng lúc phát sóng các khối mới của họ không?

không, nếu nhiều thợ đào giải quyết được câu đố và phát sóng khối mới của họ cùng một lúc, nó tạo ra một cái cào tạm thời trong chuỗi khối. đây là cách nó hoạt động:

  1. các nhánh tạm thời: khi một số nút nhận được hai khối hợp lệ cùng mức độ cao, chúng tạm thời lưu trữ cả hai khối, gây ra một nhánh tạm thời trong chuỗi khối.
  2. giải quyết nhánh: khi khai thác các khối mới, các nút sẽ tiếp tục xây dựng trên chuỗi dài nhất. Cuối cùng mạng lưới hội tụ thành một chuỗi duy nhất và loại bỏ những chuỗi ngắn hơn.
  3. Lựa chọn chuỗi chính: các nút sẽ theo chuỗi dài nhất (chuỗi có nhiều nhất bằng chứng tích luỹ của công việc). Người đào mỏ tạo ra khối kết thúc trên chuỗi dài nhất sẽ nhận được phần thưởng, trong khi khối còn lại trở thành khối “mồ côi”.

ví dụ:

  • Miner A và Miner B đều khai thác một khối ở cùng độ cao và phát sóng nó.
  • Một số nút nhận được khối của người khai thác a trước, trong khi những người khác nhận được khối của người khai thác b.
  • cả hai chuỗi đều tồn tại tạm thời.
  • Khi khối tiếp theo được khai thác, nếu nó được thêm vào chuỗi của người đào a, chuỗi đó sẽ trở thành dài nhất và các nút sẽ chấp nhận nó là chuỗi chính.
  • miner a nhận phần thưởng, và khối của miner b bị loại bỏ.

Tại sao các nút có sức mạnh hash trên 50% không gian lận?

Cuộc tấn công 51% là gì và tại sao siêu nút không gian lận?

Cuộc tấn công 51% xảy ra khi một thực thể hoặc nhóm kiểm soát hơn 50% sức mạnh tính toán của mạng. Đây là lý do tại sao siêu nút thường không gian lận:

  1. không thể thực hiện: sở hữu 51% tổng lực hash mạng là rất khó xảy ra do quy mô lớn và tính phân tán của các loại tiền điện tử lớn như bitcoin.
  2. validación de red: incluso si un super nodo intenta hacer trampa, todos los nodos validan cada bloque de forma independiente. Las transacciones inválidas o intentos de doble gasto son rechazados por la red, lo que hace que los esfuerzos del super nodo sean inútiles.
  3. Danh tiếng và khuyến khích kinh tế: Các siêu nút thu được nhiều hơn từ việc duy trì tính toàn vẹn của blockchain hơn là tấn công nó. Các cuộc tấn công thành công có thể làm giảm giá trị tiền điện tử, gây tổn hại cho khoản đầu tư của kẻ tấn công.
  4. các loại tấn công:
    • double spend: cố gắng chi tiêu hai lần những đồng xu giống nhau.
    • Khóa giao dịch: ngăn chặn một số giao dịch được bao gồm trong các khối.
    • khai thác ích kỷ: cố gắng giành được nhiều phần thưởng khai thác hơn bằng cách chọn lọc các khối để tiết lộ.
    • sửa đổi timestamp: thay đổi timestamp block để có lợi thế trong khai thác.
    • cuộc tấn công khối trống: khai thác các khối mà không có giao dịch để làm chậm mạng.

tại sao blockchain cho rằng không cần người ghi sổ cố định để ngăn chặn giao dịch gian lận

Làm thế nào blockchain ngăn chặn sự cố cố ý và giao dịch gian lận?

  1. Xác minh bởi các nút lân cận: Khi một khối được phân phối đến các nút lân cận, các nút này sẽ kiểm tra các giao dịch trong khối. Nếu họ tìm thấy bất kỳ giao dịch không hợp lệ nào, họ sẽ từ chối chặn và không propaGate.io thêm.
  2. Cơ chế đồng thuận: Cơ chế đồng thuận của Bitcoin dựa trên nguyên tắc của chuỗi dài nhất. Tất cả các nút mạng cố gắng mở rộng chuỗi hợp lệ dài nhất. Nếu ai đó cố gắng thay đổi các bản ghi lịch sử (ví dụ: xóa giao dịch), họ phải sửa đổi tất cả các khối tiếp theo liên kết với khối bị chỉnh sửa và đảm bảo chuỗi được sửa đổi dài hơn chuỗi chính hiện tại. Điều này đòi hỏi tài nguyên tính toán rất lớn, làm cho nó gần như không thể thực hiện được.

ngăn chặn phân phối khối không nhất quán bởi các nhà khai thác

  1. sự nhất quán trong phân phối khối: một người đào không thể tìm thấy nhiều giá trị nonce hợp lệ trong khoảng thời gian ngắn, ngăn chặn họ phân phối các khối hợp lệ khác nhau đến các nút khác nhau đồng thời. bất kỳ khối bất hợp pháp nào sẽ bị các nút lân cận loại bỏ.

Transaction pool (mempool) là gì?

định nghĩa và chức năng: trong mạng blockchain, tất cả các giao dịch phát sóng chưa được bao gồm trong một khối được tạm thời lưu trữ trong bộ nhớ cache (mempool) của các nút mạng. các nhà khai thác theo dõi mempool của họ để chọn giao dịch để xây dựng các khối mới.

Chiến lược lựa chọn giao dịch: những người khai thác có thể chọn giao dịch từ bộ nhớ đệm dựa trên chiến lược của họ. Thông thường, họ ưu tiên các giao dịch có phí cao hơn, nhưng một số người cũng có thể xem xét các yếu tố khác, như tuổi của giao dịch (thời gian nó đã dành trong bộ nhớ đệm).

nguồn thu trong hệ thống Bitcoin

Ai tham gia và cách họ kiếm tiền: Ngoài người dùng, ba người tham gia chính trong hệ thống Bitcoin là thợ mỏ, nhà phát triển và nhà khai thác nút.

  1. Khai thác viên: kiếm phần thưởng và phí giao dịch qua khai thác.
  2. Nhà phát triển và người điều hành node: thường không nhận trực tiếp từ hệ thống Bitcoin. Đóng góp của họ thường là mục tiêu lý tưởng, nhằm duy trì tính toàn vẹn của hệ thống. Họ có thể nhận thu nhập thông qua các phương tiện khác như quyên góp và tài trợ. Sự tham gia của họ trong việc khai thác phụ thuộc vào sở thích cá nhân.

Tại sao giá GPU tăng? Tại sao GPU khai thác không được ưa chuộng?

tăng giá GPU: nhu cầu cao về GPU từ phía các thợ mỏ để khai thác đã dẫn đến thiếu hụt nguồn cung, làm tăng giá.

Thẻ đồ họa khai thác: Thẻ đồ họa khai thác là những thẻ đã được sử dụng trước đây để khai thác tiền điện tử. Những thẻ đồ họa này trải qua tính toán mạnh, dẫn đến hao mòn đáng kể. Do hiệu suất giảm sút, hầu hết mọi người thích không mua các thẻ đồ họa khai thác đã qua sử dụng.

Các thợ đào có cần lưu trữ toàn bộ dữ liệu sổ cái không?

Yêu cầu lưu trữ dự phòng đầy đủ: Có, các thợ đào cần lưu trữ toàn bộ sổ cái blockchain để xác minh xem mã thông báo đã được chi tiêu trước đó hay chưa và để đảm bảo tính bảo mật và tính toàn vẹn của sổ cái. Tuy nhiên, đối với các khối rất sớm, các thợ đào chỉ cần lưu trữ các tiêu đề khối, không phải nội dung khối đầy đủ. Điều này giúp duy trì hiệu quả của blockchain trong khi vẫn bảo vệ tính bảo mật của nó.

Khi giới hạn cung cấp Bitcoin đạt đến thì điều gì sẽ xảy ra?

không có phần thưởng tự động vượt quá 21 triệu bitcoin: khi tổng cung cấp bitcoin đạt đến giới hạn là 21 triệu, hệ thống sẽ không còn phát hành bitcoin mới như phần thưởng cho các nhà khai thác. Nếu người dùng cũng không sẵn lòng trả phí giao dịch, lý thuyết, hệ thống giao dịch có thể đối mặt với những thách thức hoạt động. Tuy nhiên, có khả năng người dùng sẽ sẵn lòng trả phí giao dịch để giao dịch của họ được xử lý, đảm bảo sự tiếp tục của hệ thống.

chiều cao khối sẽ tiếp tục tăng: ngay cả sau khi đạt đến cung cấp tối đa là 21 triệu bitcoin, chiều cao khối (tổng số khối) sẽ tiếp tục tăng lên miễn là các nhà khai thác vẫn sẵn lòng khai thác và đóng gói giao dịch vào các khối mới. chiều cao khối không bị giới hạn bởi giới hạn cung cấp bitcoin.

Tiềm năng thay đổi đồng thuận: cộng đồng có thể đề xuất thay đổi các quy tắc đồng thuận, như tăng tổng nguồn cung bitcoin, để cho phép tạo ra đồng coin mới nếu cần thiết.

Miners được thưởng như thế nào?

Giao dịch Coinbase: Trong chuỗi khối Bitcoin, phần thưởng thợ đào được phân phối thông qua một giao dịch đặc biệt được gọi là "Giao dịch Coinbase" hoặc "Phần thưởng khối". Giao dịch này có các đặc điểm độc đáo:

  1. không yêu cầu phát sóng: giao dịch coinbase là giao dịch đầu tiên trong mỗi khối, được tự động tạo ra bởi thuật toán khai thác và không cần phải được phát sóng đến các nút khác.
  2. Không có đầu vào: Không giống như các giao dịch Bitcoin thông thường, giao dịch Coinbase không có đầu vào (không có người gửi). Nó tạo ra Bitcoin mới được thưởng cho người khai thác.
  3. outputs: giao dịch coinbase xuất ra phần thưởng đến địa chỉ ví của người đào, bao gồm các bitcoin mới được đúc và tất cả các phí giao dịch từ các giao dịch được bao gồm trong khối.

Lợi nhuận của người khai thác được tính như thế nào?

tính toán doanh thu từng khối: doanh thu của người đào được tính toán mỗi khi một khối được đào thành công và được xác nhận bởi cơ chế đồng thuận của mạng. người đào (hoặc nhóm đào) khai thác khối nhận phần thưởng khối và phí giao dịch tích lũy từ tất cả các giao dịch được bao gồm trong khối.

Quy trình nhận phần thưởng: Khi thợ đào hoặc nhóm khai thác khai thác thành công một khối và được mạng xác nhận, họ sẽ nhận được phần thưởng khối và phí giao dịch. Điều này được thực hiện thông qua giao dịch Coinbase, chuyển đổi phí và phần thưởng thành đầu ra giao dịch chưa sử dụng (UTXO) được ghi có vào tài khoản của thợ đào.

Các khối được tạo tuần tự hay song song?

sự tạo ra tuần tự: các khối được tạo ra tuần tự trong blockchain. một khối mới chỉ có thể được tạo ra sau khi khối trước đó đã được khai thác thành công và thêm vào chuỗi.

đóng gói các giao dịch

Nhiều giao dịch trên mỗi khối: Các khối thường chứa nhiều giao dịch. Các thợ đào bao gồm càng nhiều giao dịch càng tốt để tối đa hóa thu nhập phí giao dịch của họ, thay vì đóng gói các giao dịch riêng lẻ.

Sử dụng không gian khối

Các khối được điền một phần: hầu hết các khối không được sử dụng đầy đủ. Các thợ đào bắt đầu làm việc trên khối tiếp theo ngay khi họ tìm thấy một giá trị băm hợp lệ đáp ứng yêu cầu độ khó, bất kể khối có đầy đủ hay không.

Khai thác mà không cần giao dịch

các khối rỗng: các khối có thể được khai thác ngay cả khi không có giao dịch để bao gồm. Những khối này, gọi là khối rỗng, vẫn cung cấp phần thưởng hệ thống cho người khai thác.

Xử lý nhánh blockchain

quy tắc chuỗi dài nhất: khi xảy ra fork, mạng sẽ theo chuỗi có số lượng chứng minh công việc tích lũy nhiều nhất, thường là chuỗi dài nhất. các nút chuyển sang chuỗi dài hơn khi trở nên rõ ràng rằng chuỗi nào có nhiều công việc được đầu tư hơn.

ngăn chặn chi tiêu gấp đôi

giải quyết double-spend:

  • nếu một khối chứa các giao dịch xung đột (double spend), chỉ giao dịch hợp lệ đầu tiên được xem là hợp lệ và được bao gồm trong một khối. các giao dịch xung đột khác sẽ bị loại bỏ.
  • nếu hai giao dịch xung đột được bao gồm trong các khối khác nhau, thì giao dịch trong khối được xác nhận trước sẽ được coi là hợp lệ.

Xử lý chi tiết gấp đôi chi tiêu

Quy trình xác nhận:

  • Giữa các khối: Nếu hai giao dịch cố gắng chi tiêu cùng một đồng tiền được bao gồm trong các khối riêng biệt, giao dịch trong khối được xác nhận đầu tiên sẽ được coi là hợp lệ. Khối chứa giao dịch xung đột sẽ bị từ chối.
  • trong một khối duy nhất: nếu hai giao dịch xung đột được bao gồm trong cùng một khối, người khai thác chỉ sẽ bao gồm một. người khai thác thường chọn dựa trên phí giao dịch (phí cao được ưu tiên) hoặc tuổi của giao dịch (giao dịch trước được ưu tiên).

Làm thế nào để người dùng kiểm soát số tiền phí giao dịch họ phải trả?

tính phí giao dịch: người dùng có thể kiểm soát phí giao dịch để đẩy nhanh quá trình xác nhận giao dịch của họ. Phí được xác định bằng công thức sau:

Phí giao dịch = Tổng đầu vào − Tổng sản lượng − thay đổi

Người dùng đặt phí giao dịch bằng cách điều chỉnh số tiền đầu vào, số tiền đầu ra và số tiền thay đổi.

quá trình khai thác tiền ảo số

  1. Chuẩn bị thiết bị khai thác: Thiết lập phần cứng khai thác hoặc thiết bị tính toán hiệu suất cao.
  2. đảm bảo truy cập internet: kết nối thiết bị khai thác mỏ vào internet.
  3. Tải xuống Ví kỹ thuật số: Nhận Ví kỹ thuật số và tạo khóa riêng tư và khóa công khai của bạn.
  4. Bắt đầu khai thác: nhấp vào nút khai thác trong ví để bắt đầu khai thác.

khai thác trong một hồ

Phân phối thu nhập: Khi khai thác trong một nhóm, nút nhóm sẽ nhận được phần thưởng khối. Nhóm sau đó phân phối thu nhập cho các thành viên dựa trên sức mạnh tính toán đóng góp của họ. Việc phân phối này được thực hiện thông qua chuyển khoản vào ví của thợ mỏ.

selfish mining là gì?

Đào coin ích kỷ: Đào coin ích kỷ là chiến lược mà một nhà đào (hoặc hồ bơi đào coin) tìm thấy một khối mới nhưng không phát sóng ngay. Thay vào đó, họ tiếp tục đào coin riêng tư trên chuỗi của họ (chuỗi ẩn). Khi họ tìm thấy thêm khối, họ phát sóng tất cả cùng một lúc. Điều này có thể vô hiệu hóa công việc của các nhà đào khác và làm nghiêng sức mạnh tính toán và phần thưởng về phía nhà đào ích kỷ. Bitcoin có thể giảm thiểu tác động của đào coin ích kỷ bằng cách cải thiện giao thức phát sóng.

xác thực node khi nhận giao dịch và khối

Xác thực giao dịch: Khi một giao dịch được phát tới một nút, nó sẽ trải qua một số kiểm tra để xác định xem nó có nên được thêm vào Mempool hay không:

  1. định dạng giao dịch: xác minh tính chính xác của cấu trúc dữ liệu giao dịch.
  2. chữ ký giao dịch: xác thực tính xác thực của chữ ký giao dịch.
  3. double-spending: đảm bảo rằng đầu vào chưa được chi tiêu trước đó trong mempool hoặc blockchain.
  4. inputs và outputs: xác nhận rằng tổng số lượng đầu vào lớn hơn hoặc bằng tổng số lượng đầu ra.
  5. Tập lệnh giao dịch: Thực thi và xác minh các tập lệnh (chủ yếu trong các hợp đồng thông minh).
  6. locktime: kiểm tra xem điều kiện locktime (chiều cao khối hoặc thời gian) đã được đáp ứng hay chưa.
  7. Quy mô và phí giao dịch: Đảm bảo quy mô và phí giao dịch là đủ.

xác thực khối: khi một nút khai thác nhận được một khối mới, nó thực hiện các kiểm tra kỹ lưỡng trên khối và các giao dịch của nó:

  1. Hiệu lực giao dịch: Xác thực từng giao dịch trong khối (kiểm tra giống như xác thực giao dịch).
  2. Kiểm tra cụ thể theo khối:
    • kích thước khối: đảm bảo kích thước khối trong giới hạn cho phép.
    • Phần thưởng khối: Xác minh phần thưởng khối (bitcoin mới được đúc và phí giao dịch) là chính xác.
    • merkle root: tính toán và xác minh merkle root của khối.
    • timestamp: xác nhận rằng timestamp khối nằm trong một phạm vi hợp lý.
    • Mục tiêu độ khó: Kiểm tra xem khối có đáp ứng mục tiêu độ khó hiện tại hay không.

11. references

[1] bài giảng 12 | công nghệ blockchain sâu (4): khai thác đồng thuận sâu rộng giải thích về công nghệ blockchain-geek thời gian:Disclaimer:

  1. bài viết này được tái in từ[Gate.io họcđội ngũ, và họ sẽ xử lý nó ngay lập tức.
  2. miễn trừ trách nhiệm: quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không đại diện cho bất kỳ lời khuyên đầu tư nào.
  3. Bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate.io Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài báo đã dịch đều bị cấm.

Tiết lộ Bí ẩn của Khai thác

Người mới bắt đầu7/15/2024, 6:30:04 AM
Bài viết này cung cấp một giới thiệu chi tiết về quá trình "khai thác" trong blockchain. Bằng cách so sánh với hoạt động khai thác truyền thống, nó giải thích khái niệm cơ bản về khai thác kỹ thuật số, bao gồm việc sử dụng tài nguyên tính toán để giải quyết các vấn đề toán học để xác nhận giao dịch và phát hành tiền tệ mới.

forward the original title ‘白话区块链三:揭开挖矿神秘的面纱——挖矿是什么?为什么要挖矿?谁是我们买不起显卡的罪魁祸首?’

Một trong những khái niệm quen thuộc nhất liên quan đến blockchain đối với mọi người có lẽ là khai thác. Rất nhiều người có thể đã nghe nói về khai thác nhiều lần nhưng không chắc chắn về nó nghĩa là gì. Trong phần này, chúng tôi sẽ gián đoạn chương trình thường xuyên của chúng tôi để giới thiệu trước về 'khai thác'.

Tóm tắt nhanh nội dung từ "Plain Blockchain 1: Giới thiệu về Bitcoin (Người tiên phong của cuộc cách mạng blockchain và kẻ thách thức tiền tệ có chủ quyền)", nơi Satoshi Nakamoto thiết kế hệ thống tiền tệ Bitcoin để liên kết phần thưởng cho sổ sách kế toán với phát hành tiền tệ. Cách tiếp cận này cho phép việc phát hành tiền tệ được tự động hóa thông qua quy trình ghi sổ kế toán, giải quyết vấn đề phát hành tiền tệ đồng thời khuyến khích các nhân viên kế toán tích cực tham gia.

1. Khai thác là gì?

Trong thế giới thực, khai thác liên quan đến việc người khai thác sử dụng các công cụ khác nhau để đào ra kim loại quý ẩn trong đá từ mỏ. Người khai thác trích xuất giá trị từ những kim loại hiếm hoi này ẩn trong tự nhiên thông qua lao động vật chất.

Đối với các dự án blockchain có phần thưởng cho việc kế toán sách (thường là các dự án tiền điện tử), các nút mạng tiêu tốn tài nguyên tính toán để giải quyết các vấn đề. Khi họ tìm ra giải pháp, họ đóng gói khối và nhận được phần thưởng dưới dạng tiền tệ mới phát hành. Quá trình này tương tự như việc khai thác các kim loại quý như vàng từ quặng, do đó nó thường được gọi là “khai thác”. Ở đây, các kế toán viên là những người khai thác, họ cạnh tranh để đóng gói các khối bằng phần cứng và điện năng, dẫn đến việc tạo ra tiền tệ mới.

2. tại sao khai thác là cần thiết?

Khai thác có hai mục đích chính: xác minh giao dịch gần đây bằng cách đóng gói chúng thành các khối và liên kết chúng với blockchain, và phát hành tiền tệ mới bằng cách thưởng cho người ghi sổ. Dưới đây là các chức năng chi tiết của khai thác:

  1. lựa chọn người kế toán: cần có một chiến lược để lựa chọn các người kế toán thực tế từ nhiều ứng viên. Kết quả khai thác được sử dụng làm cơ sở cho việc lựa chọn này, đảm bảo rằng mọi giao dịch được công nhận bởi tất cả các bên tham gia, đạt được sự đồng thuận trên mạng lưới.
  2. xác minh giao dịch: mỗi giao dịch bitcoin cần được xác minh bởi các thợ đào trên mạng. quá trình này xác nhận tính hợp lệ của giao dịch, bao gồm:
    • đảm bảo định dạng và kích thước giao dịch đáp ứng các thông số kỹ thuật.
    • xác minh tính hợp lệ của chữ ký giao dịch để đảm bảo rằng nó được khởi tạo bởi người sử dụng sở hữu khóa riêng tư liên quan.
    • kiểm tra xem lượng đầu vào có vượt quá lượng đầu ra (với một phần số tiền được lấy làm phí), đảm bảo rằng các token được sử dụng để thanh toán không bị chi tiêu kép.
    • xác nhận rằng giao dịch chưa được bao giờ được bao gồm trong một khối trước đó.
  3. phát hành tiền tệ mới: khai thác cũng là cách mà bitcoin mới nhập vào lưu thông. khi một thợ mỏ thành công khai thác một khối mới, họ nhận được một số lượng bitcoin nhất định như là phần thưởng. cơ chế thưởng này không chỉ khuyến khích mọi người tham gia khai thác mà còn phục vụ như một phương pháp phát hành bitcoin. phương pháp phát hành tiền tệ này đảm bảo một sự tăng trưởng ổn định và được kiểm soát trong lưu thông tiền tệ, giúp quản lý lạm phát.
  4. khuyến khích sự tham gia: cơ chế phần thưởng thúc đẩy nhiều người tham gia vào việc duy trì hệ thống tiền tệ, thúc đẩy sự phát triển liên tục và mạnh mẽ của nó.
  5. cải thiện bảo mật mạng và phi tập trung: phần thưởng từ việc khai thác dẫn đến một số lượng lớn các thợ mỏ, dẫn đến một lực tính toán phân tán. sự phi tập trung này đảm bảo không có một thực thể duy nhất nào có thể kiểm soát 50% lực tính toán, từ đó cải thiện tính minh bạch và bảo mật của hệ thống. tuân thủ nguyên tắc chuỗi dài nhất cũng cải thiện thêm bảo mật của hệ thống.

3. tại sao người đào coin sẵn lòng tham gia vào khai thác?

Người đào được khuyến khích tham gia vào việc khai thác vì họ nhận được phần thưởng đáng kể cho việc đóng gói một khối vào blockchain thành công. Những phần thưởng này đến từ hai nguồn chính:

  • block rewards (newly issued currency): hệ thống tiền tệ tự động phát hành tiền tệ mới, hoàn toàn thuộc về người khai thác. Ví dụ, trong hệ thống bitcoin, hiện tại, người khai thác nhận được 3.125 bitcoin cho mỗi khối giao dịch họ đóng gói. Với giá trị của mỗi bitcoin khoảng 65.000 đô la, đóng gói một khối giao dịch đơn lẻ có thể mang lại hơn 200.000 đô la, tương đương khoảng 1,47 triệu RMB.
  • phí giao dịch được người dùng thanh toán: do khả năng giới hạn của một khối để chứa các bản ghi giao dịch, một số người dùng thanh toán phí giao dịch để khuyến khích các thợ đào ưu tiên xác nhận giao dịch của họ nhanh hơn. khi chọn giao dịch từ pool để bao gồm trong khối, các thợ đào có xu hướng chọn những giao dịch có phí cao hơn. một khối có thể chứa hàng ngàn giao dịch, và tất cả các phí từ những giao dịch này đều thuộc về thợ đào, đại diện cho một nguồn thu nhập quan trọng khác. khi có nhiều người sử dụng bitcoin cho các giao dịch, cuộc cạnh tranh để được bao gồm trong các khối trở nên gay gắt, dẫn đến phí cao mà người dùng sẵn lòng trả.

Với thời gian, phần thưởng khối sẽ giảm (ví dụ như cơ chế halving của Bitcoin, trong đó phần thưởng được giảm một nửa khoảng mỗi bốn năm). Cuối cùng, sau khi tất cả 21 triệu Bitcoin đã được khai thác, dự kiến vào khoảng năm 2141, phần thưởng khối tự động sẽ ngừng tồn tại và phí giao dịch sẽ trở thành nguồn thu chính của các nhà khai thác.

mẹo

Bitcoin tạo ra một khối mới khoảng 10 phút một lần. Ban đầu, mỗi khối mới tạo ra 50 Bitcoin. Phần thưởng này trải qua một nửa cứ sau bốn năm và cho đến nay, đã có bốn sự kiện giảm một nửa như vậy. Hiện tại, mỗi khối tạo ra 3.125 bitcoin, với đợt giảm một nửa gần đây nhất xảy ra vào tháng 4/2024. Việc giảm một nửa tiếp theo được dự đoán vào khoảng năm 2028. Đến khoảng năm 2141, Bitcoin sẽ đạt đến giới hạn phát hành.

Phí giao dịch không chỉ bị ảnh hưởng bởi cung cầu mà còn bởi kích thước của giao dịch, vì phí được tỷ lệ với không gian mà giao dịch chiếm trong khối.

4. cách tham gia vào khai thác

Đối với những người khai thác, tham gia khai thác rất đơn giản. Tải xuống một trình khách ví tiền điện tử và trong trình khách đó, nhấp vào nút khai thác để bắt đầu khai thác.

đối với các dự án blockchain có phần thưởng khối, thuật toán khai thác thường được viết vào một script tích hợp vào ví. Các thợ đào chỉ cần nhấp vào một nút để bắt đầu script.

thuật toán khai thác là xác định, có nghĩa là miễn là các thợ mỏ liên tục chạy thuật toán, họ sẽ cuối cùng nhận được một kết quả. tuy nhiên, do tài nguyên tính toán thay đổi, thời gian cần thiết để tính toán kết quả này có thể khác nhau giữa các thợ mỏ. khi một nút tính toán giá trị mục tiêu, những nỗ lực của các thợ mỏ khác trong khoảng thời gian đó trở nên vô ích, dẫn đến lợi nhuận âm do tài nguyên vật lý đã tiêu tốn.

Để tránh lãng phí công sức, các thợ đào thường gom nhóm tài nguyên tính toán của họ bằng cách tham gia một nút hồ bơi khai thác. Nút này hoạt động giống như bất kỳ nút nào khác nhưng có sức mạnh tính toán đáng kể hơn. Khi hồ bơi thành công khai thác một khối, phần thưởng được phân phối cho các thợ đào tham gia dựa trên tài nguyên tính toán họ đã đóng góp. Quan trọng phải lưu ý rằng trên blockchain, thợ đào được ghi nhận là đóng gói khối là nút hồ bơi khai thác, trong khi các thợ đào cá nhân nhận được phần thưởng được phân bổ bởi hồ bơi, không phải trực tiếp từ hệ thống tiền tệ.

Bitmain, một công ty chuyên sản xuất chip khai thác chuyên dụng hiệu suất cao, đã củng cố vai trò của các nhóm khai thác, đóng góp vào việc tập trung quyền kiểm soát sổ sách.

5. những chi tiết về câu đố khai thác

Các dự án blockchain khác nhau có thể có các câu đố khai thác khác nhau và mức độ khó khăn khác nhau. Ở đây, chúng ta lấy bitcoin làm ví dụ. Thuật toán khai thác được sử dụng bởi bitcoin được gọi là proof of work (pow). Bản chất của thuật toán này là để đạt được một kết quả, một lượng công việc nhất định phải được tiêu tốn để chứng minh nó.

bài toán khai thác không phải là một vấn đề toán học truyền thống mà liên quan đến việc tìm kiếm một số ngẫu nhiên, được gọi là nonce. nonce này, khi kết hợp với dữ liệu trong khối và xử lý thông qua một hàm băm, phải tạo ra một giá trị băm thỏa mãn một điều kiện cụ thể. Thông thường, điều kiện này yêu cầu giá trị băm phải nhỏ hơn một giá trị mục tiêu (hoặc tương đương, n bit đầu tiên của giá trị băm là không). Phương trình được biểu diễn như sau: hash(nonce+block_data)≤target\text{hash}(\text{nonce} + \text{block_data}) \leq \text{target}hash(nonce+block_data)≤target

Bitcoin sử dụng hàm băm SHA-256, chuyển đổi bất kỳ độ dài đầu vào nào thành đầu ra có độ dài cố định là 256 bit (tương đương với 64 chữ số thập lục phân hoặc 32 byte). Đầu ra gần như ngẫu nhiên nhưng được đảm bảo giống nhau cho cùng một đầu vào. Khai thác liên quan đến việc liên tục thay đổi nonce và băm dữ liệu tiêu đề khối bằng SHA-256 cho đến khi tìm thấy giá trị băm đáp ứng điều kiện mục tiêu.

Ví dụ: giá trị băm SHA-256 với 30 bit đầu tiên là số không: 000000000000000000000000000000111111010000011011000100100110111011000110100010011011000110100010110110101010011101011010100100011011010001111101001111110101001101111101011110011100011110011110000111000100110000001011011010001110011100110010111010010010010001101010110010110000000000000000000000000000000111111010000011011000100100110111011000110100010011011000110100010110110101010011101011010100100011011010001111101001111110101001101111101011110011100011110011110000111000100110000001011011010001110011100110010111010010010010001101010110010110000000000000000000000000000000111111010000011011000100100110111011000110100010011011000110100010110110101010011101011010100100011011010001111101001111110101001101111101011110011100011110011110000111000100110000001011011010001110011100110010111010010010010001101010110010110

chuyển đổi này thành hệ thập lục phân cho kết quả là một giá trị bắt đầu bằng bảy số không: 00000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac9000000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac9000000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac90

Để đơn giản hóa, xác suất tìm thấy một hash với n bit đầu tiên là 0 là 12n\frac{1}{2^n}2n1​. Càng lớn n, càng nhiều bit là 0 và xác suất càng thấp:

  • n = 10n = 10n = 10: 1 trong 1.024
  • n = 20n = 20n = 20: 1 trong 1.048.576
  • n = 30n = 30n = 30: 1 trên 1.073.741.824
  • n = 40: 1 trên 1.099.511.627.776
  • n = 50n = 50n = 50: 1 trong 1.125.899.906.842.624

với n lên đến 256, việc tìm giá trị băm như vậy với sức mạnh tính toán hiện tại của con người, loại trừ máy tính lượng tử, gần như là không thể trước khi trái đất ngừng tồn tại.

do với tính chất của sha-256, phương pháp duy nhất là vét cạn, bao gồm liên tục thử nghiệm các nonce khác nhau cho đến khi điều kiện được đáp ứng. điều này làm cho việc khai thác đòi hỏi thiết bị tính toán hiệu suất cao như vậy.

Vì bạn không thể dự đoán giá trị băm được tạo ra bằng cách thêm nonce vào dữ liệu khối và chuyển nó qua SHA-256, quá trình này hoàn toàn ngẫu nhiên. Ví dụ: nếu giá trị băm mục tiêu là 10.000, bạn không có cách nào biết nonce nào kết hợp với dữ liệu khối sẽ mang lại giá trị băm nhỏ hơn 10.000. Bản chất ngẫu nhiên và không thể đoán trước này có nghĩa là các thợ mỏ phải tiếp tục liệt kê các khả năng cho đến khi điều kiện được thỏa mãn. Nếu nhiều giá trị đáp ứng điều kiện, giá trị băm nhỏ nhất được chọn vì giá trị băm nhỏ hơn cho thấy độ khó cao hơn và xác suất xảy ra thấp hơn.

xác minh xem giá trị băm được tạo ra có đáp ứng yêu cầu dễ dàng, chỉ cần một phép so sánh duy nhất. tuy nhiên, việc tìm một giá trị băm nhỏ hơn hoặc bằng giá trị mục tiêu chỉ có thể đạt được thông qua liệt kê vét cạn. đặc điểm này, trong đó việc xác minh một kết quả dễ dàng nhưng tìm kết quả lại khó, được gọi là bất đối xứng tính toán.

6. mô phỏng mã hóa thuật toán khai thác

Đoạn code sau mô phỏng quá trình khai thác. Nó bắt đầu với một chuỗi dữ liệu tiêu đề khối “geekbang” và tìm kiếm từ một giá trị nonce là 10.000 cho đến khi nó tìm thấy một giá trị nonce thỏa mãn điều kiện cụ thể.

Đây là một tập lệnh Python minh họa quá trình khai thác:

import hashlib

def main():
    base_string = "geekbang"
    nonce = 10000
    count = 0
    while true:
        target_string = base_string + str(nonce)
        pow_hash = hashlib.sha256(target_string.encode()).hexdigest()
        count += 1
        if pow_hash.startswith("0000"):  # first 4 hex digits are 0, equivalent to the first 16 bits being 0
            print("hash:", pow_hash)
            print("nonce:", nonce, "scan times:", count)
            break
        nonce += 1

if __name__ == '__main__':
    main()

Khi yêu cầu là 4 chữ số thập lục phân đầu tiên của kết quả băm là 0 (tương đương với 16 bit đầu tiên là 0), số lần tính toán là khoảng 58.000. Nếu yêu cầu được nâng lên thành 5 chữ số đầu tiên là 0, số lần tính toán tăng lên đến 1,23 triệu. Khi yêu cầu là 7 chữ số đầu tiên là 0, số lần tính toán đạt đến 160 triệu. Điều này cho thấy mỗi chữ số 0 bổ sung vào tiền tố băm tăng số lần tính toán khoảng 16 lần.

Dưới đây là kết quả cho các điều kiện mục tiêu khác nhau:

4 chữ số hex đầu tiên là không (16 bit):

import hashlib

def main():

base_string = "geekbang"nonce = 10000count = 0trong khi đó:    target_string = base_string + str(nonce)    pow_hash = hashlib.sha256(target_string).hexdigest()    count = count + 1    if pow_hash.startswith("0000"): # Four first hexadecimal digits are 0, equivalent to the first 16 bits are 0    print pow_hash    print "nonce: https://s3.ap-northeast-1.amazonaws.com/gimg.gateimg.com/learn/51d786353cf4ac886dbb869fc7abf883dac67ceb.png"  scan times: https://s3.ap-northeast-1.amazonaws.com/gimg.gateimg.com/learn/4ebdb22f10c27f8797a1c2ae7bbbd78f40220ed4.png"" % (nonce, count)    break    nonce = nonce + 1

nếutên== ‘chính‘:

main()

như đã thấy, việc tăng số lượng số không đầu tiên cần thiết trong băm tăng đáng kể số lượng lần cần thử, theo một mô hình tăng theo cấp số mũ. điều này chứng tỏ sự khó khăn về tính toán và tài nguyên cần thiết cho việc khai thác, nhấn mạnh sự cần thiết của các thiết bị tính toán hiệu suất cao trong quá trình khai thác.

7. điều chỉnh độ khó động

Để đảm bảo rằng một khối được tạo ra khoảng 10 phút một lần, hệ thống Bitcoin điều chỉnh độ khó khai thác bằng cách thay đổi số lượng số không đứng đầu cần thiết trong giá trị băm. Cơ chế điều chỉnh độ khó này là một phần quan trọng của hệ thống Bitcoin. Nó đánh giá thời gian cần thiết để tạo các khối 2016 cuối cùng, lý tưởng nhất là khoảng hai tuần. Nếu các khối này được khai thác trong vòng chưa đầy hai tuần, độ khó sẽ tăng lên bằng cách thêm nhiều số không đứng đầu (giảm giá trị mục tiêu). Ngược lại, nếu mất hơn hai tuần, độ khó sẽ giảm bằng cách giảm số lượng số không đứng đầu (tăng giá trị mục tiêu). Cơ chế này đảm bảo rằng thời gian để tạo một khối vẫn còn khoảng 10 phút, ngay cả khi tổng tỷ lệ băm của mạng dao động.

Cơ chế điều chỉnh khó khăn này, được thiết kế bởi người sáng tạo của bitcoin Satoshi Nakamoto, đã được lên kế hoạch từ đầu để tự động thích ứng với tổng công suất tính toán của mạng. Nó duy trì một tốc độ khai thác ổn định và ngăn ngừa việc phát hành tiền tệ quá nhanh, có thể làm đảo lộn nền kinh tế thị trường.

8. quá trình thực hiện thuật toán khai thác

Các dự án blockchain khác nhau có thể có các thuật toán khai thác khác nhau. Ở đây, chúng tôi mô tả thuật toán khai thác nổi tiếng nhất: thuật toán khai thác bitcoin.

quy trình thực hiện thuật toán khai thác cơ bản của bitcoin như sau:

  1. chọn giao dịch: chọn một số giao dịch từ bộ nhớ giao dịch (thường ưu tiên những giao dịch có phí cao hơn). tự động tạo ra một giao dịch đặc biệt (thường được gọi là giao dịch coinbase) với người nhận là người khai thác, và số tiền giao dịch là phần thưởng khối cộng với tất cả các phí giao dịch được chọn. đặt giao dịch đặc biệt này ở đầu các giao dịch được chọn để tạo thành tập hợp giao dịch cho khối được đóng gói.
  2. xây dựng cây merkle: xây dựng một cây băm merkle từ tập hợp giao dịch. một cây merkle là một cây nhị phân trong đó mỗi nút lá lưu trữ băm của một giao dịch, định danh và chỉ mục duy nhất nó. mỗi nút trên lưu trữ băm kết hợp của các nút con của nó, cuối cùng là nút gốc. nút gốc định danh duy nhất cây merkle và, qua mở rộng, tất cả các giao dịch.
  3. xây dựng phần đầu khối: lắp ráp phần đầu khối từ giá trị gốc merkle, một nonce, phiên bản khối, hash khối trước đó, timestamp, mục tiêu khó, và nonce. kích thước phần đầu khối là 80 byte.
  4. băm tiêu đề khối: liên tục thay đổi giá trị nonce trong tiêu đề khối và thực hiện một băm double sha-256 trên nội dung tiêu đề khối (tức là sha256 (sha256 (block_header))). so sánh giá trị băm thu được với giá trị mục tiêu hiện tại của mạng. nếu kết quả nhỏ hơn giá trị mục tiêu (chỉ ra rằng n bit đầu tiên là số không), câu đố được giải quyết và chứng minh công việc được hoàn thành.
  5. phát sóng khối: gửi khối mới khai thác được đến các nút láng giềng, thông báo cho họ rằng khối đã được khai thác thành công.
  6. xác minh và truyền tải: khi nhận được khối mới, các nút khác thực hiện double hash trên phần đầu của khối để lấy hash của khối. họ xác minh rằng n bit đầu tiên của hash của khối bằng không, xác nhận khối, ngừng tính toán cho khối này và truyền tải nó đến các nút láng giềng của họ.

kích thước của mỗi trường trong tiêu đề khối như sau:

https://time.geekbang.org/column/article/5963

alt="">

cấu trúc cây merkle như sau:

大后端私房菜]. alt="">

9. tranh cãi trong khai thác

Sự tranh luận chính về việc khai thác liên quan đến các thuật toán chứng minh công việc (POW) được sử dụng bởi bitcoin và các dẫn xuất của nó. Các thuật toán này đòi hỏi người khai thác phải cấp phát nguồn lực tính toán đáng kể để giải quyết các vấn đề mà mạng đồng ý. Rất nhiều người đang làm việc trên những tính toán này cùng một lúc, nhưng chỉ người đầu tiên giải quyết vấn đề được thưởng. Các người tham gia khác cũng cấp phát nguồn lực tính toán và điện hiệu quả nhưng không tạo thêm giá trị gì.

có hai con đường chính để tối ưu hóa lãng phí tài nguyên này:

  1. chuyển sang các thuật toán ít tài nguyên hơn: ví dụ, Ethereum đã chuyển từ thuật toán POW sang thuật toán POS, giảm đáng kể lãng phí tài nguyên.
  2. sử dụng tài nguyên điện không hoạt động: các nút khai thác đang thử nghiệm việc sử dụng nguồn năng lượng tái tạo, như năng lượng gió, cho hoạt động khai thác. một phát triển đáng kể khác là việc sử dụng khí tự nhiên bị lãng phí. Ngoài ra, một số tổ chức đang khám phá cách tái chế nhiệt độ quá mức được tạo ra bởi việc khai thác bitcoin.

10. câu hỏi

Giá trị của việc khai thác là gì? Nó dường như là lãng phí tài nguyên và không có ý nghĩa đối với xã hội.

trong việc xem xét lại phần 'tại sao khai thác là cần thiết?' của bài viết này, ý nghĩa trực tiếp của việc khai thác là hỗ trợ việc phát hành tiền điện tử. các phần thưởng khai thác khuyến khích nhiều người hơn tham gia vào việc duy trì tiền điện tử, khiến chúng trở nên ổn định hơn. Ngoài ra, các thuật toán khai thác duy trì tính nhất quán của giao dịch trong các hệ thống tiền điện tử, khiến chúng trở nên mạnh mẽ hơn và ít dễ bị tấn công từ bên trong và bên ngoài.

Ý nghĩa gián tiếp của việc khai thác được suy ra từ chính các loại tiền điện tử. Tiền điện tử tạo ra một hệ thống tiền tệ toàn cầu, không tin cậy, nơi mà các giao dịch an toàn có thể diễn ra mà không cần đến các tổ chức tập trung, tránh được nhược điểm của tập trung. Tính toàn cầu của chúng cũng cho phép các giao dịch vượt biên hiệu quả và chi phí thấp.

Sự giảm lợi nhuận từ việc khai thác có thể dẫn đến việc chi phí vượt quá thu nhập, khiến cho người khai thác dừng việc khai thác và giao dịch ngừng diễn ra?

Điều đáng lo ngại thông thường là lợi nhuận khai thác chỉ phụ thuộc vào phần thưởng hệ thống, điều này giảm dần theo thời gian. Tuy nhiên, khai thác cũng tạo ra thu nhập đáng kể từ phí giao dịch. Khi các loại tiền điện tử được chấp nhận rộng rãi, thị trường giao dịch tiền điện tử sẽ mở rộng. Khối lượng giao dịch tăng lên này sẽ làm gia tăng cạnh tranh để bao gồm khối, dẫn đến việc thu phí cao hơn mà người dùng sẵn lòng trả để ưu tiên giao dịch của họ. Do đó, người khai thác có thể tiếp tục kiếm được khoản phí giao dịch đáng kể, đảm bảo tính khả thi liên tục của việc xử lý giao dịch.

nếu chi phí khai thác vượt quá phí blockchain, liệu khai thác có tiếp tục không?

Phí giao dịch có đền bù được chi phí khai thác không?

Vâng, phí giao dịch có thể giúp bù đắp chi phí khai thác. Khi phần thưởng khối giảm dần theo thời gian, phí giao dịch trở thành nguồn thu quan trọng đối với các nhà khai thác. Điều này đảm bảo rằng ngay cả khi chi phí điện cao, các nhà khai thác vẫn có thể duy trì hoạt động thông qua các khoản phí được người dùng trả để xử lý giao dịch.

Nếu nhiều nhà khai thác giải quyết câu đố đồng thời thì điều gì sẽ xảy ra?

Nhiều người khai thác có chia sẻ phần thưởng khai thác nếu họ cùng lúc phát sóng các khối mới của họ không?

không, nếu nhiều thợ đào giải quyết được câu đố và phát sóng khối mới của họ cùng một lúc, nó tạo ra một cái cào tạm thời trong chuỗi khối. đây là cách nó hoạt động:

  1. các nhánh tạm thời: khi một số nút nhận được hai khối hợp lệ cùng mức độ cao, chúng tạm thời lưu trữ cả hai khối, gây ra một nhánh tạm thời trong chuỗi khối.
  2. giải quyết nhánh: khi khai thác các khối mới, các nút sẽ tiếp tục xây dựng trên chuỗi dài nhất. Cuối cùng mạng lưới hội tụ thành một chuỗi duy nhất và loại bỏ những chuỗi ngắn hơn.
  3. Lựa chọn chuỗi chính: các nút sẽ theo chuỗi dài nhất (chuỗi có nhiều nhất bằng chứng tích luỹ của công việc). Người đào mỏ tạo ra khối kết thúc trên chuỗi dài nhất sẽ nhận được phần thưởng, trong khi khối còn lại trở thành khối “mồ côi”.

ví dụ:

  • Miner A và Miner B đều khai thác một khối ở cùng độ cao và phát sóng nó.
  • Một số nút nhận được khối của người khai thác a trước, trong khi những người khác nhận được khối của người khai thác b.
  • cả hai chuỗi đều tồn tại tạm thời.
  • Khi khối tiếp theo được khai thác, nếu nó được thêm vào chuỗi của người đào a, chuỗi đó sẽ trở thành dài nhất và các nút sẽ chấp nhận nó là chuỗi chính.
  • miner a nhận phần thưởng, và khối của miner b bị loại bỏ.

Tại sao các nút có sức mạnh hash trên 50% không gian lận?

Cuộc tấn công 51% là gì và tại sao siêu nút không gian lận?

Cuộc tấn công 51% xảy ra khi một thực thể hoặc nhóm kiểm soát hơn 50% sức mạnh tính toán của mạng. Đây là lý do tại sao siêu nút thường không gian lận:

  1. không thể thực hiện: sở hữu 51% tổng lực hash mạng là rất khó xảy ra do quy mô lớn và tính phân tán của các loại tiền điện tử lớn như bitcoin.
  2. validación de red: incluso si un super nodo intenta hacer trampa, todos los nodos validan cada bloque de forma independiente. Las transacciones inválidas o intentos de doble gasto son rechazados por la red, lo que hace que los esfuerzos del super nodo sean inútiles.
  3. Danh tiếng và khuyến khích kinh tế: Các siêu nút thu được nhiều hơn từ việc duy trì tính toàn vẹn của blockchain hơn là tấn công nó. Các cuộc tấn công thành công có thể làm giảm giá trị tiền điện tử, gây tổn hại cho khoản đầu tư của kẻ tấn công.
  4. các loại tấn công:
    • double spend: cố gắng chi tiêu hai lần những đồng xu giống nhau.
    • Khóa giao dịch: ngăn chặn một số giao dịch được bao gồm trong các khối.
    • khai thác ích kỷ: cố gắng giành được nhiều phần thưởng khai thác hơn bằng cách chọn lọc các khối để tiết lộ.
    • sửa đổi timestamp: thay đổi timestamp block để có lợi thế trong khai thác.
    • cuộc tấn công khối trống: khai thác các khối mà không có giao dịch để làm chậm mạng.

tại sao blockchain cho rằng không cần người ghi sổ cố định để ngăn chặn giao dịch gian lận

Làm thế nào blockchain ngăn chặn sự cố cố ý và giao dịch gian lận?

  1. Xác minh bởi các nút lân cận: Khi một khối được phân phối đến các nút lân cận, các nút này sẽ kiểm tra các giao dịch trong khối. Nếu họ tìm thấy bất kỳ giao dịch không hợp lệ nào, họ sẽ từ chối chặn và không propaGate.io thêm.
  2. Cơ chế đồng thuận: Cơ chế đồng thuận của Bitcoin dựa trên nguyên tắc của chuỗi dài nhất. Tất cả các nút mạng cố gắng mở rộng chuỗi hợp lệ dài nhất. Nếu ai đó cố gắng thay đổi các bản ghi lịch sử (ví dụ: xóa giao dịch), họ phải sửa đổi tất cả các khối tiếp theo liên kết với khối bị chỉnh sửa và đảm bảo chuỗi được sửa đổi dài hơn chuỗi chính hiện tại. Điều này đòi hỏi tài nguyên tính toán rất lớn, làm cho nó gần như không thể thực hiện được.

ngăn chặn phân phối khối không nhất quán bởi các nhà khai thác

  1. sự nhất quán trong phân phối khối: một người đào không thể tìm thấy nhiều giá trị nonce hợp lệ trong khoảng thời gian ngắn, ngăn chặn họ phân phối các khối hợp lệ khác nhau đến các nút khác nhau đồng thời. bất kỳ khối bất hợp pháp nào sẽ bị các nút lân cận loại bỏ.

Transaction pool (mempool) là gì?

định nghĩa và chức năng: trong mạng blockchain, tất cả các giao dịch phát sóng chưa được bao gồm trong một khối được tạm thời lưu trữ trong bộ nhớ cache (mempool) của các nút mạng. các nhà khai thác theo dõi mempool của họ để chọn giao dịch để xây dựng các khối mới.

Chiến lược lựa chọn giao dịch: những người khai thác có thể chọn giao dịch từ bộ nhớ đệm dựa trên chiến lược của họ. Thông thường, họ ưu tiên các giao dịch có phí cao hơn, nhưng một số người cũng có thể xem xét các yếu tố khác, như tuổi của giao dịch (thời gian nó đã dành trong bộ nhớ đệm).

nguồn thu trong hệ thống Bitcoin

Ai tham gia và cách họ kiếm tiền: Ngoài người dùng, ba người tham gia chính trong hệ thống Bitcoin là thợ mỏ, nhà phát triển và nhà khai thác nút.

  1. Khai thác viên: kiếm phần thưởng và phí giao dịch qua khai thác.
  2. Nhà phát triển và người điều hành node: thường không nhận trực tiếp từ hệ thống Bitcoin. Đóng góp của họ thường là mục tiêu lý tưởng, nhằm duy trì tính toàn vẹn của hệ thống. Họ có thể nhận thu nhập thông qua các phương tiện khác như quyên góp và tài trợ. Sự tham gia của họ trong việc khai thác phụ thuộc vào sở thích cá nhân.

Tại sao giá GPU tăng? Tại sao GPU khai thác không được ưa chuộng?

tăng giá GPU: nhu cầu cao về GPU từ phía các thợ mỏ để khai thác đã dẫn đến thiếu hụt nguồn cung, làm tăng giá.

Thẻ đồ họa khai thác: Thẻ đồ họa khai thác là những thẻ đã được sử dụng trước đây để khai thác tiền điện tử. Những thẻ đồ họa này trải qua tính toán mạnh, dẫn đến hao mòn đáng kể. Do hiệu suất giảm sút, hầu hết mọi người thích không mua các thẻ đồ họa khai thác đã qua sử dụng.

Các thợ đào có cần lưu trữ toàn bộ dữ liệu sổ cái không?

Yêu cầu lưu trữ dự phòng đầy đủ: Có, các thợ đào cần lưu trữ toàn bộ sổ cái blockchain để xác minh xem mã thông báo đã được chi tiêu trước đó hay chưa và để đảm bảo tính bảo mật và tính toàn vẹn của sổ cái. Tuy nhiên, đối với các khối rất sớm, các thợ đào chỉ cần lưu trữ các tiêu đề khối, không phải nội dung khối đầy đủ. Điều này giúp duy trì hiệu quả của blockchain trong khi vẫn bảo vệ tính bảo mật của nó.

Khi giới hạn cung cấp Bitcoin đạt đến thì điều gì sẽ xảy ra?

không có phần thưởng tự động vượt quá 21 triệu bitcoin: khi tổng cung cấp bitcoin đạt đến giới hạn là 21 triệu, hệ thống sẽ không còn phát hành bitcoin mới như phần thưởng cho các nhà khai thác. Nếu người dùng cũng không sẵn lòng trả phí giao dịch, lý thuyết, hệ thống giao dịch có thể đối mặt với những thách thức hoạt động. Tuy nhiên, có khả năng người dùng sẽ sẵn lòng trả phí giao dịch để giao dịch của họ được xử lý, đảm bảo sự tiếp tục của hệ thống.

chiều cao khối sẽ tiếp tục tăng: ngay cả sau khi đạt đến cung cấp tối đa là 21 triệu bitcoin, chiều cao khối (tổng số khối) sẽ tiếp tục tăng lên miễn là các nhà khai thác vẫn sẵn lòng khai thác và đóng gói giao dịch vào các khối mới. chiều cao khối không bị giới hạn bởi giới hạn cung cấp bitcoin.

Tiềm năng thay đổi đồng thuận: cộng đồng có thể đề xuất thay đổi các quy tắc đồng thuận, như tăng tổng nguồn cung bitcoin, để cho phép tạo ra đồng coin mới nếu cần thiết.

Miners được thưởng như thế nào?

Giao dịch Coinbase: Trong chuỗi khối Bitcoin, phần thưởng thợ đào được phân phối thông qua một giao dịch đặc biệt được gọi là "Giao dịch Coinbase" hoặc "Phần thưởng khối". Giao dịch này có các đặc điểm độc đáo:

  1. không yêu cầu phát sóng: giao dịch coinbase là giao dịch đầu tiên trong mỗi khối, được tự động tạo ra bởi thuật toán khai thác và không cần phải được phát sóng đến các nút khác.
  2. Không có đầu vào: Không giống như các giao dịch Bitcoin thông thường, giao dịch Coinbase không có đầu vào (không có người gửi). Nó tạo ra Bitcoin mới được thưởng cho người khai thác.
  3. outputs: giao dịch coinbase xuất ra phần thưởng đến địa chỉ ví của người đào, bao gồm các bitcoin mới được đúc và tất cả các phí giao dịch từ các giao dịch được bao gồm trong khối.

Lợi nhuận của người khai thác được tính như thế nào?

tính toán doanh thu từng khối: doanh thu của người đào được tính toán mỗi khi một khối được đào thành công và được xác nhận bởi cơ chế đồng thuận của mạng. người đào (hoặc nhóm đào) khai thác khối nhận phần thưởng khối và phí giao dịch tích lũy từ tất cả các giao dịch được bao gồm trong khối.

Quy trình nhận phần thưởng: Khi thợ đào hoặc nhóm khai thác khai thác thành công một khối và được mạng xác nhận, họ sẽ nhận được phần thưởng khối và phí giao dịch. Điều này được thực hiện thông qua giao dịch Coinbase, chuyển đổi phí và phần thưởng thành đầu ra giao dịch chưa sử dụng (UTXO) được ghi có vào tài khoản của thợ đào.

Các khối được tạo tuần tự hay song song?

sự tạo ra tuần tự: các khối được tạo ra tuần tự trong blockchain. một khối mới chỉ có thể được tạo ra sau khi khối trước đó đã được khai thác thành công và thêm vào chuỗi.

đóng gói các giao dịch

Nhiều giao dịch trên mỗi khối: Các khối thường chứa nhiều giao dịch. Các thợ đào bao gồm càng nhiều giao dịch càng tốt để tối đa hóa thu nhập phí giao dịch của họ, thay vì đóng gói các giao dịch riêng lẻ.

Sử dụng không gian khối

Các khối được điền một phần: hầu hết các khối không được sử dụng đầy đủ. Các thợ đào bắt đầu làm việc trên khối tiếp theo ngay khi họ tìm thấy một giá trị băm hợp lệ đáp ứng yêu cầu độ khó, bất kể khối có đầy đủ hay không.

Khai thác mà không cần giao dịch

các khối rỗng: các khối có thể được khai thác ngay cả khi không có giao dịch để bao gồm. Những khối này, gọi là khối rỗng, vẫn cung cấp phần thưởng hệ thống cho người khai thác.

Xử lý nhánh blockchain

quy tắc chuỗi dài nhất: khi xảy ra fork, mạng sẽ theo chuỗi có số lượng chứng minh công việc tích lũy nhiều nhất, thường là chuỗi dài nhất. các nút chuyển sang chuỗi dài hơn khi trở nên rõ ràng rằng chuỗi nào có nhiều công việc được đầu tư hơn.

ngăn chặn chi tiêu gấp đôi

giải quyết double-spend:

  • nếu một khối chứa các giao dịch xung đột (double spend), chỉ giao dịch hợp lệ đầu tiên được xem là hợp lệ và được bao gồm trong một khối. các giao dịch xung đột khác sẽ bị loại bỏ.
  • nếu hai giao dịch xung đột được bao gồm trong các khối khác nhau, thì giao dịch trong khối được xác nhận trước sẽ được coi là hợp lệ.

Xử lý chi tiết gấp đôi chi tiêu

Quy trình xác nhận:

  • Giữa các khối: Nếu hai giao dịch cố gắng chi tiêu cùng một đồng tiền được bao gồm trong các khối riêng biệt, giao dịch trong khối được xác nhận đầu tiên sẽ được coi là hợp lệ. Khối chứa giao dịch xung đột sẽ bị từ chối.
  • trong một khối duy nhất: nếu hai giao dịch xung đột được bao gồm trong cùng một khối, người khai thác chỉ sẽ bao gồm một. người khai thác thường chọn dựa trên phí giao dịch (phí cao được ưu tiên) hoặc tuổi của giao dịch (giao dịch trước được ưu tiên).

Làm thế nào để người dùng kiểm soát số tiền phí giao dịch họ phải trả?

tính phí giao dịch: người dùng có thể kiểm soát phí giao dịch để đẩy nhanh quá trình xác nhận giao dịch của họ. Phí được xác định bằng công thức sau:

Phí giao dịch = Tổng đầu vào − Tổng sản lượng − thay đổi

Người dùng đặt phí giao dịch bằng cách điều chỉnh số tiền đầu vào, số tiền đầu ra và số tiền thay đổi.

quá trình khai thác tiền ảo số

  1. Chuẩn bị thiết bị khai thác: Thiết lập phần cứng khai thác hoặc thiết bị tính toán hiệu suất cao.
  2. đảm bảo truy cập internet: kết nối thiết bị khai thác mỏ vào internet.
  3. Tải xuống Ví kỹ thuật số: Nhận Ví kỹ thuật số và tạo khóa riêng tư và khóa công khai của bạn.
  4. Bắt đầu khai thác: nhấp vào nút khai thác trong ví để bắt đầu khai thác.

khai thác trong một hồ

Phân phối thu nhập: Khi khai thác trong một nhóm, nút nhóm sẽ nhận được phần thưởng khối. Nhóm sau đó phân phối thu nhập cho các thành viên dựa trên sức mạnh tính toán đóng góp của họ. Việc phân phối này được thực hiện thông qua chuyển khoản vào ví của thợ mỏ.

selfish mining là gì?

Đào coin ích kỷ: Đào coin ích kỷ là chiến lược mà một nhà đào (hoặc hồ bơi đào coin) tìm thấy một khối mới nhưng không phát sóng ngay. Thay vào đó, họ tiếp tục đào coin riêng tư trên chuỗi của họ (chuỗi ẩn). Khi họ tìm thấy thêm khối, họ phát sóng tất cả cùng một lúc. Điều này có thể vô hiệu hóa công việc của các nhà đào khác và làm nghiêng sức mạnh tính toán và phần thưởng về phía nhà đào ích kỷ. Bitcoin có thể giảm thiểu tác động của đào coin ích kỷ bằng cách cải thiện giao thức phát sóng.

xác thực node khi nhận giao dịch và khối

Xác thực giao dịch: Khi một giao dịch được phát tới một nút, nó sẽ trải qua một số kiểm tra để xác định xem nó có nên được thêm vào Mempool hay không:

  1. định dạng giao dịch: xác minh tính chính xác của cấu trúc dữ liệu giao dịch.
  2. chữ ký giao dịch: xác thực tính xác thực của chữ ký giao dịch.
  3. double-spending: đảm bảo rằng đầu vào chưa được chi tiêu trước đó trong mempool hoặc blockchain.
  4. inputs và outputs: xác nhận rằng tổng số lượng đầu vào lớn hơn hoặc bằng tổng số lượng đầu ra.
  5. Tập lệnh giao dịch: Thực thi và xác minh các tập lệnh (chủ yếu trong các hợp đồng thông minh).
  6. locktime: kiểm tra xem điều kiện locktime (chiều cao khối hoặc thời gian) đã được đáp ứng hay chưa.
  7. Quy mô và phí giao dịch: Đảm bảo quy mô và phí giao dịch là đủ.

xác thực khối: khi một nút khai thác nhận được một khối mới, nó thực hiện các kiểm tra kỹ lưỡng trên khối và các giao dịch của nó:

  1. Hiệu lực giao dịch: Xác thực từng giao dịch trong khối (kiểm tra giống như xác thực giao dịch).
  2. Kiểm tra cụ thể theo khối:
    • kích thước khối: đảm bảo kích thước khối trong giới hạn cho phép.
    • Phần thưởng khối: Xác minh phần thưởng khối (bitcoin mới được đúc và phí giao dịch) là chính xác.
    • merkle root: tính toán và xác minh merkle root của khối.
    • timestamp: xác nhận rằng timestamp khối nằm trong một phạm vi hợp lý.
    • Mục tiêu độ khó: Kiểm tra xem khối có đáp ứng mục tiêu độ khó hiện tại hay không.

11. references

[1] bài giảng 12 | công nghệ blockchain sâu (4): khai thác đồng thuận sâu rộng giải thích về công nghệ blockchain-geek thời gian:Disclaimer:

  1. bài viết này được tái in từ[Gate.io họcđội ngũ, và họ sẽ xử lý nó ngay lập tức.
  2. miễn trừ trách nhiệm: quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không đại diện cho bất kỳ lời khuyên đầu tư nào.
  3. Bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate.io Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài báo đã dịch đều bị cấm.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500