Logo Zephyrnet

Bằng chứng công việc của Bitcoin — Bài viết duy nhất bạn phải đọc

Ngày:

Khai thác bằng chứng công việc hoạt động chính xác như thế nào? Vâng, nó thực sự khá đơn giản. Hãy để tôi cho bạn một manh mối: thợ mỏ không cần phải giải một bài toán “phức tạp”. Einstein đã từng giải quyết các vấn đề toán học phức tạp. Những người khai thác chỉ đang cố gắng đoán xổ số.

Henrique Centieiro

Nếu bạn đã đọc các bài viết của tôi, bạn sẽ biết rằng tôi thích đi thẳng vào vấn đề. Đây không phải là một cuốn tiểu thuyết và tôi không muốn lãng phí thời gian của độc giả. Tuy nhiên bài viết này khá dài mong các bạn thông cảm!

Khai thác là phương pháp được sử dụng trong blockchain để nhóm các giao dịch thành một khối, nối khối này vào blockchain và phát khối mới lên mạng. Việc khai thác đảm bảo cơ chế đồng thuận được duy trì và giữ cho chuỗi khối được phân cấp.

Chúng ta sẽ tìm hiểu sâu hơn về cách hoạt động của hoạt động khai thác trong bài viết này. Đây sẽ là bài viết duy nhất bạn phải đọc về bằng chứng về sự đồng thuận trong công việc. Thật sự. Tất cả đều ở đây.

Chuỗi khối bằng chứng công việc có các thuật toán khai thác hoặc hàm băm mật mã lấy một khối làm đầu vào và tạo ra một đầu ra nhỏ. Hàm băm được thiết kế sao cho người khai thác phải giữ các khối băm cho đến khi đạt được đầu ra mong muốn. Hãy tiếp tục đọc và tôi sẽ cho bạn thấy điều này xảy ra như thế nào. Để hoàn thành nhiệm vụ này, người khai thác cần thử nhiệm vụ tương tự hàng triệu hoặc hàng tỷ lần, đòi hỏi phần cứng, điện và thời gian.

Đối với Bitcoin, hàm băm khai thác là SHA256 và Bitcoin áp dụng quy trình SHA256 kép để tăng tính bảo mật. Ethereum sử dụng Ethash hoặc Dagger-Hashimoto Keccak. Các chuỗi khối bằng chứng công việc khác nhau sử dụng các thuật toán khác nhau, nhưng những thuật toán được biết đến nhiều nhất là:

  • SHA256–256 bit “Thuật toán băm an toàn” có thể được khai thác bằng các CPU đa năng và được sử dụng bởi các loại tiền điện tử như Bitcoin, Bytecoin, Peercoin, Namecoin và một số loại khác. SHA256 là một hàm rất dễ dàng, tức là nó là một phép toán boolean đơn giản và phép cộng 32 bit. Các chức năng đơn giản như thế này có thể được triển khai bằng logic kỹ thuật số trong chip ASIC, tạo ra phần cứng khai thác rất hiệu quả.
  • Ethash — Ethash là thuật toán khai thác bằng chứng công việc của Ethereum. Vì cần nhiều bộ nhớ hơn nên GPU cung cấp tốc độ băm hiệu quả hơn. Công cụ khai thác ASIC cũng được phát triển để khai thác Ethash. Một số blockchain sử dụng thuật toán này, bao gồm Etehreum và Ethereum Classic.
  • X11 — Các nhà phát triển Dash đã tạo ra thuật toán X11 và nó được coi là một trong những thuật toán an toàn nhất. Công cụ khai thác ASIC cũng được phát triển để khai thác X11. Một số loại tiền điện tử sử dụng nó là Dash, Karmacoin và MoneyUnit.
  • Scrypt - Scrypt cũng là một thuật toán khai thác được sử dụng rộng rãi. Nó nhanh hơn SHA256 và các blockchain hàng đầu sử dụng nó là dogecoin 🐶, Litecoin, Potcoin, MidasCoin và Gulden. Nói về Scrypt, tôi đã thực hiện Khóa học Dogecoin đầu tiên. Kiểm tra nó ra!
  • Cryptonight - đây là một thuật toán bằng chứng công việc khác có cái tên hay. Nó được thiết kế để khai thác CPU hiệu quả hơn. Các loại tiền điện tử sử dụng nó là Monero, Dashcoin, DigitalNote, Bytecoin, trong số những thứ khác.

Khai thác CPU, Khai thác GPU và Khai thác ASIC

Khai thác CPU, GPU và ASIC phản ứng theo những cách khác nhau đối với các thuật toán blockchain khác nhau. Một số thuật toán được khai thác dễ dàng hơn (tức là có tốc độ băm tốt hơn) với CPU — có mục đích chung hơn — GPU — sử dụng nhiều tài nguyên hơn cho các phép tính đơn giản và tốt hơn cho các thuật toán sử dụng nhiều bộ nhớ — hoặc ASIC — được thiết kế cho các mục đích cụ thể. Máy khai thác ASIC, mặc dù rất hiệu quả nhưng cũng có một số nhược điểm. Một số nhà phát triển blockchain đã cố gắng cập nhật các giao thức để làm cho chúng có khả năng kháng ASIC, tức là không thể khai thác bằng thiết bị ASIC. Khi điều này xảy ra, các công cụ khai thác ASIC trở nên vô dụng vì chúng được thiết kế với một thuật toán cụ thể và không thể thực hiện bất kỳ nhiệm vụ nào khác. Một số nhà phát triển blockchain tin rằng các thiết bị ASIC có thể tăng tính tập trung.

Lưu ý rằng điều này chỉ áp dụng cho chuỗi khối bằng chứng công việc chứ không phải bằng chứng cổ phần hoặc chuỗi khối cấp phép.

Hãy bắt đầu bằng cách xem xét bằng chứng công việc, cơ chế đồng thuận của Bitcoin và hầu hết các chuỗi khối thế hệ đầu tiên. Bằng chứng công việc là một cơ chế đồng thuận dựa trên người lãnh đạo. Nhân tiện, nếu bạn muốn giải mã giao dịch coinbase khối khởi nguyên của Bitcoin, kiểm tra bài viết này.

Những người khai thác cần tính toán một bài toán xổ số hoặc toán học đầy thách thức trong chuỗi khối Bitcoin và các chuỗi khối khác bằng cách sử dụng cơ chế đồng thuận bằng chứng công việc. Nó hơi giống việc đoán số của tờ vé số 🎲. Khi một nút giải quyết xổ số, anh ta sẽ phát kết quả đến các nút khác và một khối mới sẽ được thêm vào chuỗi khối.

The lottery’s difficulty is adjusted to make sure that all the miner’s computing power generates one Bitcoin block on average every 10 minutes. Suppose the number of miners or computational power in the network increases, the difficulty of calculating the mathematical problem will increase to keep the coin distribution/supply and the block production predictable. In that case, proof of work difficulty is adjusted when more people join or leave the network.

Trong các chuỗi khối khác như Ethereum, các khối có thể được thêm vào với tần suất khác nhau. Ví dụ: trong Ethereum, cứ sau 15 giây lại có một khối mới được thêm vào.

Bạn có thể xem bằng chứng công việc như một chuỗi dữ liệu khó tạo ra (tốn thời gian và tốn nhiều tài nguyên) nhưng một khi được phát hiện và người khác có thể dễ dàng xác minh nó.

Một trong những lý do khiến việc thêm một khối mới vào blockchain đòi hỏi phải thực hiện một số công việc là để làm cho nó an toàn hơn. Mỗi người khai thác cần phải giải một phép xổ số khó để thêm một khối mới, nhưng nếu việc đó quá dễ thì bất kỳ hacker nào cũng có thể dễ dàng thử thêm các khối mới hoặc thay đổi chuỗi khối để có lợi cho mình. Bằng chứng về sự đồng thuận trong công việc là điều khiến Bitcoin trở thành mạng công cộng an toàn nhất từng được tạo ra trong lịch sử loài người.

Vấn đề toán học không gì khác hơn là đoán một khâm mạng, một chuỗi số dài với hàng triệu hoặc hàng tỷ lần thử và sai. Nói theo thứ tự, vũ phu ép buộc kết quả. Người khai thác phải đoán nonce, thêm nó vào hàm băm của tiêu đề hiện tại, thử lại giá trị và so sánh kết quả với hàm băm mục tiêu.

Tôi chắc rằng bạn cũng đã nghe nói về độ khó khai thác. Độ khó khai thác chủ yếu là thước đo mức độ khó để tìm thấy một khối mới trong chuỗi khối hay nói cách khác, hiếm khi xảy ra trường hợp các thợ mỏ phải dùng sức mạnh để tìm ra hàm băm nhỏ hơn hàm băm mục tiêu.

Tôi luôn nghĩ rằng thật buồn cười khi mọi người nói rằng những gì thợ mỏ đang làm là “giải một bài toán rất phức tạp” trong khi điều họ thực sự đang làm là cố đoán một con số “xổ số”. Thợ mỏ không phải là Einstein! Họ không cố gắng tìm kiếm những kỳ quan toán học của vũ trụ. 🌌

Trong hầu hết các blockchain công khai/không cần cấp phép, người khai thác sẽ nhận được phần thưởng khối cho công việc của họ. Phần thưởng này có thể sẽ thanh toán các chi phí liên quan đến phần cứng và điện của họ, đồng thời là động lực để họ tiếp tục vận hành mạng. Vào năm 2021, phần thưởng khối Bitcoin là 6.25 BTC và sẽ tiếp tục là 6.25 cho đến năm 2024 khi nó lại giảm một nửa (nó giảm một nửa khoảng 4 năm một lần hoặc chính xác hơn là cứ sau 210 000 khối). Vì vậy, vào năm 2024, phần thưởng khối Bitcoin sẽ là 3.125 BTC. Vào năm 2028, nó sẽ là 1.5625 BTC, v.v. Do việc giảm một nửa phần thưởng khối này, nguồn cung Bitcoin tối đa bị giới hạn ở mức 21 triệu Bitcoin và sẽ đạt được vào năm 2140.

Bằng chứng công việc chủ yếu được sử dụng bởi các chuỗi khối không được phép, trong đó bất kỳ người nào cũng có thể thêm nút vào chuỗi khối và không xác định được danh tính của các nút trong chuỗi khối. Vì vậy, cần phải có cơ chế đồng thuận cho phép các nút cộng tác một cách không tin cậy.

Bằng chứng công việc chiếm 90% tổng vốn hóa thị trường của tiền điện tử hiện có. Nó yêu cầu công việc từ các nút tham gia xác thực các khối để thực hiện một số công việc khó khăn. Thợ mỏ cần một động lực nhất định để thực hiện công việc này. Chúng ta cũng sẽ thấy rằng phải mất rất nhiều triệu triệu phép tính để khai thác một khối trong mạng Bitcoin. Đó là lý do tại sao trong tất cả các chuỗi khối bằng chứng công việc, người khai thác nhận được phần thưởng khuyến khích khối, phí giao dịch hoặc cả hai.

Động cơ kinh tế đằng sau bằng chứng công việc là một ví dụ hoàn hảo về cách giữ sự đồng thuận trong một mạng lưới hoàn toàn phi tập trung. Để trở thành một nút/công cụ khai thác trong chuỗi khối bằng chứng công việc cần có tài nguyên phần cứng, điện và thời gian, nhưng nếu các nút chơi theo quy tắc, tức là theo cơ chế đồng thuận, thì chúng sẽ nhận được phần thưởng. Nếu các nút cố gắng tấn công blockchain, giả mạo dữ liệu hoặc thực hiện chi tiêu gấp đôi, chúng sẽ không nhận được phần thưởng và sẽ chỉ lãng phí tài nguyên.

Năm 2020, thợ mỏ nhận được khoảng 7 tỷ đô la trị giá Bitcoin dưới dạng phần thưởng khối và khoảng 800 triệu đô la phí Bitcoin do người dùng trả. Không tệ nhỉ? Tuy nhiên, làm thợ mỏ là một công việc vất vả.

Ưu điểm của bằng chứng công việc:

  • Khả năng mở rộng của mạng (về số lượng nút)
  • Bảo mật tăng theo số lượng nút, tức là cộng đồng khai thác càng lớn thì càng an toàn
  • Người khai thác nhận được ưu đãi để đổi lấy sự đóng góp sức mạnh tính toán của họ cho mạng
  • Rất an toàn trong hầu hết các trường hợp

Nhược điểm của bằng chứng công việc:

  • Dễ bị tấn công 51% (trong các chuỗi khối bằng chứng công việc nhỏ)
  • Độ khó khai thác thường trở nên khó hơn và phần cứng khai thác nhanh chóng lỗi thời (lợi nhuận có thể về 3 chỉ sau XNUMX năm)
  • Khai thác rất tốn kém và thường yêu cầu phần cứng chuyên dụng để có lãi
  • Nó đòi hỏi một lượng điện rất lớn
  • Các chuỗi khối bằng chứng công việc thường có thông lượng thấp (các nghiên cứu cho thấy rằng các chuỗi khối bằng chứng công việc có thể đạt tới 60 giao dịch mỗi giây mà không ảnh hưởng đến bảo mật)
  • Cần có thời gian để xác minh giao dịch trong chuỗi khối tùy thuộc vào giao thức chuỗi khối đang được sử dụng - đây là lý do tại sao nên đợi 10 đến 20 phút cho đến khi giao dịch được xác minh/cam kết trong mạng Bitcoin (1 hoặc 2 khối) hoặc 5 phút trong chuỗi khối Ethereum (khoảng 20 khối). Mặt khác, các khối Dogecoin được khai thác cứ sau 1 phút.

Tỷ lệ băm

Hash rate is the number of computing hashes that a hardware can perform. Different hardware has different hash rates. From CPUs to GPUs or ASIC chips — application-specific integrated circuit — miners try to have the most efficient hardware in order to have the best hash rate possible, which will increase their probability of mining a block in the blockchain and receive the rewards for it.

Khó khăn

Độ khó thể hiện mức độ khó để tìm ra hàm băm cần thiết để khai thác một khối mới trong chuỗi khối trong chuỗi khối bằng chứng công việc. Độ khó thể hiện số khả năng/sự kết hợp để người khai thác đoán được hàm băm. Độ khó càng lớn thì người khai thác càng phải thực hiện nhiều công việc hơn để đoán hàm băm và tạo khối mới. Độ khó được điều chỉnh trong chuỗi khối Bitcoin để các khối mới được tạo ra trung bình cứ sau 10 phút. Nếu có nhiều thợ mỏ tham gia mạng Bitcoin hơn, do đó đóng góp nhiều sức mạnh băm hơn, độ khó sẽ tăng lên và điều chỉnh để các thợ mỏ khám phá ra hàm băm trung bình cứ sau 10 phút.

Độ khó khai thác được điều chỉnh sau mỗi khối năm 2016, tức là khoảng hai tuần với mức trung bình là 10 phút cho mỗi khối. Thuật toán Bitcoin cung cấp sự điều chỉnh này rất dễ dàng. Nếu các khối năm 2016 trước đó mất nhiều hơn hoặc ít hơn hai tuần để tìm, thì độ khó sẽ tăng hoặc giảm theo tỷ lệ chênh lệch thời gian so với hai tuần.

Quy trình khai thác bằng chứng công việc hoạt động như thế nào

Khai thác Bitcoin khó hơn khai thác vàng. Hãy tưởng tượng bạn phải lặp lại các phép băm hàng tỷ lần cho đến khi bạn tìm được kết quả đúng!

Các chuỗi khối khác nhau có thể có các cơ chế khác nhau nhưng hãy xem chuỗi khối nguồn gốc của chúng tôi, Bitcoin, làm ví dụ.

Trong khai thác bitcoin, người khai thác cần đưa ra hàm băm khối đáp ứng một yêu cầu nhất định. Để tạo ra hàm băm này, họ cần thay đổi một phần dữ liệu bên trong khối được gọi là nonce và họ cần thực hiện việc đó RẤT NHIỀU lần. Đây là quá trình đoán xổ số. Có vẻ phức tạp? Đừng lo lắng, hãy làm cho nó đơn giản.

Trung bình có bao nhiêu hàm băm mà các công ty khai thác bitcoin trên toàn thế giới thực hiện để khai thác một khối? Vâng, như tôi đã nói rất nhiều lần:

băm trên mỗi bitcoin
= (tốc độ băm mạng) / (6.25 BTC mỗi 10 phút)
= (140 * Th/s) / (6.25 * BTC / (600 * s) )
= 140*600/6.25*Th/s/BTC*s
= 13,440 Th/BTC
= 13,440,000,000,000,000 giờ/BTC

Chúng tôi chia tốc độ băm mạng hiện tại mỗi giây cho 6.25 (phần thưởng khối BTC mỗi 10 phút) và chúng tôi nhận được một con số RẤT lớn.

Những người khai thác cần tính toán trung bình 13.44 triệu tỷ băm để tạo ra một Bitcoin duy nhất tính đến tháng 2021 năm 6.25. Nếu chúng ta nhân số này với 84, thì phải mất XNUMX triệu tỷ tỷ băm để khai thác một khối duy nhất! Người khai thác cần lặp lại phép tính trong hình trên theo nghĩa đen là hàng triệu triệu lần cho đến khi một khối được khai thác. Đây là lý do tại sao việc khai thác Bitcoin tốn rất nhiều điện nhưng mặt khác lại mang lại cho chúng ta chuỗi khối an toàn nhất từ ​​trước đến nay.

Giả sử bạn đang cố gắng tự mình tìm kiếm khối Bitcoin này và tất cả những gì bạn có là CPU tốt nhất trên thị trường, Bộ xử lý 9 nhân AMD Ryzen 3900 12X. Nó sẽ đưa bạn 225 730 năm để khai thác một khối Bitcoin duy nhất ở độ khó hiện tại.

Thật không may, việc khai thác Bitcoin bằng máy tính bình thường là khá vô dụng. Điều này có thể xảy ra vào năm 2009 và 2010 khi công suất băm trong mạng vẫn còn thấp, nhưng hiện tại, chỉ những phần cứng rất mạnh như máy khai thác ASIC chuyên dụng mới có thể thực hiện được công việc này. Hồi đó, không có nhiều người quan tâm đến việc khai thác Bitcoin và giá BTC chỉ vài xu.

Những người đầu tiên tin tưởng vào Bitcoin khai thác nó trong những ngày đầu đã có thể mua Lambos 🚗.

Nhưng… tại sao việc khai thác Bitcoin lại khó đến vậy?? Và quá trình khai thác được thực hiện như thế nào?

Như chúng ta đã thấy trước đây, bằng chứng về độ khó công việc tăng lên khi có thêm sức mạnh băm được thêm vào mạng. Trường độ khó và bit của một khối biểu thị số lượng số 0 mà hàm băm mục tiêu có. Số số 0 ở đầu hàm băm này là điều kiện mà người khai thác cần phải đáp ứng. Để tạo ra hàm băm tương ứng với điều kiện này, người khai thác sẽ phải làm theo quy trình bên dưới, thử các giá trị khác nhau cho đến khi tạo ra hàm băm cần thiết.

Để tạo một khối băm (tức là khai thác một khối), bạn cần phải đáp ứng một số điều kiện nhất định trong bằng chứng công việc. Một số biến thể nhỏ có thể áp dụng tùy thuộc vào thuật toán được sử dụng, nhưng điều kiện thường là tìm hàm băm có giá trị đáp ứng một yêu cầu nhất định. Nói cách khác, hàm băm cần bắt đầu bằng một số số không.

Quá trình này khá đơn giản nhưng lại rất lặp đi lặp lại (thợ mỏ lặp lại hàng tỷ hoặc triệu triệu lần, như chúng ta đã thấy).

Sơ đồ mà tôi đã làm rất rõ ràng. Theo sơ đồ, để thực hiện các công việc cần thiết để khai thác khối và lấy mã băm của khối, người khai thác sẽ thực hiện nhiệm vụ. Đây là nơi nonce, một trong các trường trong tiêu đề khối, phát huy tác dụng. Số nonce là một số 32 bit và người khai thác sẽ cần phải đoán để tạo ra hàm băm theo mục tiêu.

  1. Người khai thác sẽ tạo tiêu đề khối, chuyển đổi nó thành chuỗi dữ liệu
  2. Công cụ khai thác thêm nonce vào dữ liệu và cung cấp dữ liệu đó cho thuật toán băm (nonce là phần duy nhất của khối mà công cụ khai thác có thể tự do thay đổi)
  3. Lấy kết quả băm
  4. Chạy thử nghiệm để kiểm tra xem điều kiện, tức là hàm băm mục tiêu, có được đáp ứng không
  5. If the condition is met, it means that the miner found the nonce that generates a hash according to the target
  6. Nếu điều kiện không được đáp ứng (rất có thể), người khai thác sẽ thử một nonce khác, tức là anh ta quay lại điểm 2, thử một nonce mới cho đến khi nó tạo ra hàm băm đáp ứng mục tiêu

Những người khai thác rất có thể sẽ phải thực hiện những tính toán này hàng tỷ lần cho đến khi họ nhận được giá trị chính xác.

Sau khi người khai thác tìm thấy hàm băm chính xác, anh ta sẽ phát khối đó lên mạng và những người khai thác khác có thể dễ dàng xác minh rằng nonce đó tạo ra hàm băm theo mục tiêu. Công cụ khai thác khối cũng sẽ bao gồm giao dịch coinbase trong khối. Giao dịch này tương ứng với phần thưởng khối mà anh ta sẽ nhận được.

Trong quá trình khai thác, thợ mỏ cố gắng tìm các giá trị băm thấp hơn giá trị mục tiêu giá trị (đây là một trường trong mỗi khối blockchain). Giá trị băm phải thấp hơn giá trị được biểu thị bằng trường bit trong tiêu đề khối. Điều này cũng có nghĩa là hàm băm mục tiêu sẽ phải bắt đầu bằng một số số không. Số lượng số không này sẽ tăng dần theo độ khó. Độ khó càng lớn thì việc khai thác một khối càng khó vì càng khó tìm được hàm băm đáp ứng mục tiêu yêu cầu.

Tại sao những “số 20” này trong hàm băm lại gây ra nhiều khó khăn đến vậy? Nếu bạn cho rằng xác suất băm một khối có 20 số 15 thẳng thì nó cực kỳ thấp. Nó giống như việc cố gắng tìm một bụi xổ số giữa hàng triệu triệu tờ vé số bắt đầu bằng XNUMX số không. Hoặc tương tự như việc tung xúc xắc A và nhận được cùng một số XNUMX lần liên tiếp. Đó là xác suất rất rất thấp và đó là lý do tại sao nó lại khó đến vậy.

Để minh họa xác suất và mức độ khó để có được một hàm băm có số lượng lớn số 15 thấp hơn hàm băm mục tiêu, hãy tưởng tượng rằng chúng ta đang chơi xúc xắc. Xác suất để tung XNUMX viên xúc xắc và nhận được tất cả chúng có cùng giá trị là bao nhiêu?

P = pⁿ = (1/s)ⁿ

Giả sử viên xúc xắc của chúng ta là xúc xắc 6 mặt:

1 viên xúc xắc: (1/6)¹ = xác suất 0.16 hoặc 16%

2 viên xúc xắc: xác suất (1/6)² = 0.02(7) hoặc 2.77%

4 viên xúc xắc: (1/6)⁴ = 0.00077160493827 hoặc xác suất 0.077160493827%

6 viên xúc xắc: (1/6)⁶ = 0.00002143347050 hoặc xác suất 0.002143347050%

15 viên xúc xắc: (1/6)¹⁵ = 0.00000000000212682249 hoặc 0.000000000212682249%

Xác suất này có nghĩa là bạn sẽ cần tung 15 viên xúc xắc trung bình 470 184 984 737 lần để tất cả chúng đều có cùng một giá trị. Đó là 470 tỷ lần!

Bây giờ bạn thấy việc có được tất cả các viên xúc xắc có cùng giá trị hoặc một hàm băm có quá nhiều “số không”.

Bây giờ chúng ta đã hiểu khái niệm này, hãy xem xét nó bằng các công thức thực tế và xem cách những người khai thác tìm ra hàm băm tùy theo độ khó.

Độ khó = MAX_TARGET / current_target

Vì vậy MAX_TARGET là độ khó được đặt cho khối đầu tiên và về cơ bản Độ khó = 1 và được viết dưới dạng giá trị thập lục phân 1d00ffff.

Nếu chúng ta chuyển đổi các bit giá trị khối 386,867,735 thành thập lục phân của chúng tôi, chúng tôi sẽ nhận được giá trị 0x170f2217. Giá trị này được chia thành bốn byte. Đầu tiên là chỉ mục, theo sau là 3 byte. Trong trường hợp này, bit là chỉ số 0x17 và hệ số 0x0f2217. Ở đây, 0x có nghĩa là chúng ta đang nói về số thập lục phân, hay còn gọi là hex, một hệ số được sử dụng trong điện toán.

Ngưỡng mục tiêu là số nguyên 256 bit mà hàm băm cần phải bằng hoặc thấp hơn để đáp ứng hàm băm mục tiêu. Đây là hàm băm mục tiêu mà chúng tôi đã đề cập đến trong quá trình khai thác.

Chúng ta cũng có thể so sánh giá trị mục tiêu này với giá trị băm theo một phương trình đơn giản:

Mục tiêu = hệ số * 2 ^(8 * (chỉ số — 3))

Trước tiên chúng ta cần chuyển đổi giá trị bit của mình thành hex:

386,867,735 à 0x170f2217

Sau đó, chúng tôi thay thế phương trình bằng các giá trị của chúng tôi,

0x0f2217 * 2^(0x08 * (0x17–0x03))

Bạn có thể sử dụng máy tính Python để trợ giúp chuyển đổi từ dec sang hex và hex sang dec:

Chuyển đổi từ hệ thập lục phân sang thập phân, chúng ta nhận được,

991767 x 2 ^ (8 x (23–3)) = 1449469094350757594478113895488529861555105250349678592

Cái nào trong hex là

0x0000 0000 0000 0000 00f22170000000000000000000000000000000000000000

Mà khi so sánh với hàm băm của khối, chúng ta thấy rằng hàm băm của khối của chúng ta thấp hơn:

0x0000 0000 0000 0000 00092f5f21cd6db1d374252d6e343bd7a0fcac448ef01a5

Dễ dàng phải không?

Chúng ta cũng có thể sử dụng máy tính Python để đi thẳng vào vấn đề và kiểm tra xem hàm băm có thấp hơn mục tiêu hay không.

Hãy tính toán mục tiêu bằng phương trình:

Mục tiêu = hệ số * 2 ^(8 * (chỉ số -3))

Như bạn có thể thấy, chúng tôi nhận được kết quả chính xác như nhau, đó là giá trị mục tiêu. Nếu muốn tự mình thử, bạn có thể tải xuống python thông qua dấu nhắc lệnh.

Chúng ta cũng có thể kiểm tra xem giá trị băm của khối có thấp hơn mục tiêu hay không:

Hàm cuối cùng này cho thấy số nguyên băm khối thấp hơn số nguyên đích, nghĩa là hàm băm đã đáp ứng mục tiêu, tức là điều kiện là đúng. CÓ! 🤯🤠🦄🚀

🚀 Theo dõi tôi và cũng kiểm tra các khóa học 🧱 blockchain của tôi:

🐶 Khóa học Dogecoin đầu tiên

👨🎓 Fintech, Cloud và Cybersecurity Course

???? Toàn bộ khóa học NFTs

👨🎓 Khóa học Unblockchain - Khóa học Blockchain thân thiện với não bộ

Coinsmart. Đặt cạnh Bitcoin-Börse ở Europa
Source: https://levelup.gitconnected.com/bitcoin-proof-of-work-the-only-article-you-will-ever-have-to-read-4a1fcd76a294?source=rss——-8—————–cryptocurrency

tại chỗ_img

Tin tức mới nhất

tại chỗ_img