spot_img
24.7 C
New York
Monday, May 6, 2024
HomeKiến thứcKhai thác và giao dịch blockchain hoạt động như thế nào? Hiểu...

Khai thác và giao dịch blockchain hoạt động như thế nào? Hiểu rõ trong vòng 5 phút!

Bạn đã bao giờ tự hỏi quy trình khai thác (mining) trên blockchain hoạt động như thế nào hoặc làm thế nào một giao dịch được xác nhận và được thêm vào blockchain? Đó chắc hẳn là câu hỏi mà hầu như ai mới tìm hiểu về công nghệ đầy tiềm năng này đầu thắc mắc, nhưng việc tìm thấy bất kỳ lời giải thích từng bước rõ ràng nào về quá trình này rất khó tìm thấy, nên hôm nay Góc Tiền Ảo quyết định viết bài này. Đây là cách một giao dịch blockchain được xử lý trên một blockchain, bạn sẽ nắm rõ nó trong vòng 5 phút với chỉ bảy bước.

cach-giao-dich-bitcoin-dien-ra.jpg

Bước 1

Người dùng tạo một giao dịch từ ứng dụng ví của họ, cố gắng gửi một loại tiền điện tử hoặc token nào đó từ họ cho người khác.

Bước 2

Giao dịch được tạo bởi ứng dụng ví và đang chờ người khai thác trên blockchain xác nhận. Trước tiên, nó sẽ nằm trong một ‘nhóm các giao dịch chưa được xác nhận’. Nhóm này là tập hợp các giao dịch chưa được xác nhận trên mạng đang chờ xử lý.

Bước 3

Các “thợ đào” (đôi khi được gọi là các node, nhưng như vậy là không hoàn toàn chính xác!) Các giao dịch từ các pool này sẽ tạo thành một ‘block’ (khối). Về cơ bản, một block là một tập hợp các giao dịch (tại bước này, vẫn là các giao dịch chưa được xác nhận). Mỗi người khai thác đều xây dựng block giao dịch của riêng họ. Các thợ đào khác nhau có thể chọn xác minh các giao dịch giống nhau.

Ví dụ: hai người khai thác, A và B. Cả A và B đều có thể quyết định đưa giao dịch X vào block của họ. Mỗi blockchain có kích thước block tối đa riêng. Trên blockchain Bitcoin, kích thước tối đa của một block là 1 MB dữ liệu. Trước khi thêm giao dịch vào block của họ, người khai thác cần kiểm tra xem giao dịch có đủ điều kiện để được thực hiện theo lịch sử blockchain hay không. Nếu số dư ví của người gửi có đủ tiền theo lịch sử blockchain hiện có, giao dịch được coi là hợp lệ và có thể được thêm vào block. Nếu chủ sở hữu Bitcoin muốn tăng tốc giao dịch của họ, họ có thể chọn cung cấp phần thưởng khai thác cao hơn. Những người khai thác thường sẽ ưu tiên xác minh những giao dịch như vậy hơn những giao dịch khác, bởi vì chúng mang lại phần thưởng khai thác tốt hơn.

Bước 4

Bằng cách chọn các giao dịch và thêm chúng vào block của họ, các thợ đào tạo ra một block giao dịch. Để thêm block giao dịch này vào blockchain (có nghĩa là có tất cả các node trên blockchain đăng ký các giao dịch trong block này), trước tiên block cần có chữ ký (còn được gọi là ‘proof of work’ ).Chữ ký này được tạo ra bằng cách giải một bài toán rất phức tạp và duy nhất cho mỗi block giao dịch. Mỗi block có một bài toán khác nhau, vì vậy mỗi người khai thác sẽ làm việc trên một bài toán khác nhau và duy nhất cho block mà họ đã tạo. Vấn đề của mỗi block đều khó giải như nhau. Để giải quyết bài toán này, cần phần cứng mạnh về tính toán được sử dụng (do đó tốn rất nhiều điện năng). Bạn hiểu đơn giản điều này như chạy một phép tính trên máy tính, chỉ là nó nặng hơn rất nhiều. Quá trình này được gọi là khai thác . Nếu bạn muốn biết thêm về cách thức hoạt động chính xác của bài toán, hãy tiếp tục đọc phần bên dưới, nếu không, trong trường hợp bạn muốn đơn giản hơn một chút, hãy chuyển sang Bước 5.

Khai thác với thuật toán đồng thuận Proof of Work

Bài toán mà những người khai thác gặp phải khi cố gắng thêm một block vào blockchain là tìm hash output (hay còn gọi là chữ ký) cho dữ liệu trong block của nó. Nghe có vẻ phức tạp, phải không? Nhưng nó không thực sự quá khó để hình dung. Hãy để tôi cố gắng giải thích điều này cho bạn một cách đơn giản.

Trước khi tiếp tục, điều quan trọng là phải biết hash function (hàm băm) là gì. Hash function chỉ đơn giản là đặt một vấn đề toán học rất khó giải, nhưng câu trả lời ở đâu thì rất dễ xác minh.

Một hash function nhận một chuỗi đầu vào gồm số và chữ cái (theo nghĩa đen là bất kỳ chuỗi ký tự, số hoặc ký hiệu ngẫu nhiên nào) và biến nó thành một chuỗi 32 chữ số mới tồn tại từ các chữ cái và số ngẫu nhiên. Chuỗi 32 chữ số này là hash output. Nếu bất kỳ số hoặc chữ cái nào trong chuỗi đầu vào bị thay đổi, hash output cũng sẽ thay đổi một cách ngẫu nhiên. Tuy nhiên, cùng một chuỗi đầu vào sẽ luôn cho cùng một chuỗi đầu ra.

Bây giờ hãy coi dữ liệu bên trong một block là hash input (một chuỗi dữ liệu). Khi đầu vào này được hash, nó cho ra hash output (chuỗi 32 chữ số). Một quy tắc của blockchain Bitcoin là một block chỉ có thể được thêm vào blockchain nếu chữ ký của nó, hash output, bắt đầu bằng một số lượng số không nhất định. Tuy nhiên, chuỗi đầu ra được tạo bởi một chuỗi đầu vào luôn là ngẫu nhiên đối với mỗi chuỗi đầu vào khác nhau, vì vậy điều gì sẽ xảy ra nếu chuỗi dữ liệu của block không dẫn đến một chữ ký (hash output) bắt đầu bằng rất nhiều số 0 liên tiếp? Chà, đây là lý do tại sao các thợ đào liên tục thay đổi một phần dữ liệu bên trong block của họ được gọi là nonce. Mỗi khi người khai thác thay đổi nonce, nó sẽ thay đổi một chút thành phần dữ liệu của block. Và khi thành phần dữ liệu của block thay đổi (đầu vào), thì chữ ký của nó (đầu ra) cũng thay đổi. Vì vậy, mỗi khi nonce của một khối được thay đổi, block đó sẽ nhận được một chữ ký ngẫu nhiên mới.

Các thợ mỏ lặp lại quá trình thay đổi liên tục này vô thời hạn cho đến khi họ đánh ngẫu nhiên một chuỗi đầu ra đáp ứng các yêu cầu về chữ ký (các số không). Hình ảnh dưới đây minh họa điều này trong một ví dụ. Ví dụ này sử dụng bảy số không, nhưng số lượng số không thực sự phụ thuộc vào độ khó của một blockchain.

mo-phong-hash-coin

Đây là cách mà các thợ đào cần tìm một chữ ký đủ điều kiện cho block của họ và đó cũng là lý do mà cần rất nhiều sức mạnh tính toán để giải quyết bài toán này. Việc đoán nhiều nonces khác nhau cần rất nhiều thời gian và sức mạnh tính toán. Ngoài ra, khi nhiều thợ đào tham gia vào một blockchain, độ khó của của việc khai thác sẽ tăng lên và dẫn đến chi phí điện trung bình cao hơn để giải quyết một block. Phew, thật là khi bạn theo dõi mục này, bây giờ chúng ta hãy chuyển sang bước 5 nào.

Bước 5

Người khai thác tìm thấy chữ ký đủ điều kiện cho block của nó trước tiên, chuyển tiếp block này và chữ ký của nó cho tất cả những người khai thác khác.

Bước 6

Ở bước này các công cụ khai thác khác sẽ xác minh tính chính xác của chữ ký bằng cách lấy chuỗi dữ liệu của block được chuyển tiếp và hash nó để xem liệu hash output của nó có thực sự dẫn đến chữ ký bao gồm rất nhiều số không. Nếu nó hợp lệ, các thợ đào khác sẽ xác nhận tính hợp lệ của nó và đồng ý rằng block có thể được thêm vào blockchain (họ đạt được sự đồng thuận hay còn gọi là tất cả chúng đều đồng ý với nhau, do đó có thuật ngữ thuật toán đồng thuận). Đây cũng là nơi xuất phát định nghĩa ‘Proof of Work‘. Chữ ký là ‘bằng chứng’ của công việc đã thực hiện. Block bây giờ có thể được thêm vào blockchain và được chuyển tiếp đến tất cả các node khác trên mạng. Các node khác sẽ chấp nhận block và lưu nó vào dữ liệu giao dịch của họ miễn là tất cả các giao dịch bên trong block có thể được thực hiện theo lịch sử của blockchain.

Bước 7

Sau khi một block đã được thêm vào chain, mọi block khác được thêm vào trên đó được tính là ‘xác nhận’ cho block đó.

Ví dụ: nếu giao dịch của tôi được gộp trong block 502 và blockchain dài 507 block, điều đó có nghĩa là giao dịch của tôi có 5 xác nhận (507–502). Nó được gọi là xác nhận bởi vì mỗi khi một block khác được thêm vào sau nó, blockchain lại đạt được sự đồng thuận trên toàn bộ lịch sử giao dịch, bao gồm cả giao dịch của bạn và block của bạn. Bạn có thể nói rằng giao dịch của bạn đã được xác nhận 5 lần bởi blockchain tại thời điểm đó. Đây cũng là những gì Etherscan đề cập đến khi hiển thị cho bạn chi tiết giao dịch của bạn. Giao dịch của bạn càng có nhiều xác nhận (hay còn gọi là block được nhúng vào chuỗi càng sâu) thì kẻ tấn công càng khó thay đổi nó. Sau khi một block mới được thêm vào blockchain, tất cả các thợ đào cần phải bắt đầu lại từ đầu ở bước thứ ba bằng cách hình thành một block giao dịch mới. Người khai thác không thể tiếp tục khai thác hay còn gọi là giải quyết vấn đề của block mà họ đã làm trước đó vì hai lý do:

  • Một : nó có thể chứa các giao dịch đã được xác nhận bởi block cuối cùng đã được thêm vào blockchain (hãy nhớ rằng, nhiều thợ đào có thể chọn / bao gồm (các) giao dịch giống nhau trong block mà họ đang giải quyết). Bất kỳ giao dịch nào trong số những giao dịch đó được bắt đầu lại đều có thể khiến chúng không hợp lệ, bởi vì số dư nguồn có thể không còn đủ nữa.
  • Hai: mọi block cần thêm hash output (chữ ký) của block cuối cùng đã được thêm vào blockchain vào siêu dữ liệu của chúng. Đây là lý do mà nó trở thành một blockchain . Nếu một người khai thác tiếp tục khai thác block mà họ đã làm việc, những người khai thác khác sẽ nhận thấy rằng hash output không tương ứng với hash output của block được bổ sung mới nhất trên blockchain và do đó sẽ từ chối block.

Bạn có thấy bài viết này hữu ích không? Nếu có thì hãy chia sẻ với người khác và tạo động lực cho GTA có thể cho ra những bài viết chất lượng khác nhé!

Góc Tiền Ảo

LEAVE A REPLY

Please enter your comment!
Please enter your name here

SÀN GIAO DỊCH HÀNG ĐẦU

Sàn BybitSàn Bybit

Related Posts