134 lượt xem

Blockchain là gì? Đào Bitcoin là gì? | Tinh tế


Hy vọng tới đây anh em đã hiểu công việc của miner là đi mò ra cái nonce để cho ra cái hash gần đúng với cái hash của block mà hệ thống nó đặt ra. Vậy gần đúng là gì? Để được thưởng cho việc đào thành công một block, miner phải là người tìm ra nonce, cho ra cái hash gần bằng hoặc ít hơn cái target hash. Để dễ hình dung anh em xem thử tấm hình phía dưới dùm mình.
[​IMG]

Giả sử cái hash của block là cột target, là cái hash mà các miner phải tìm ra )dựa trên việc thử và sai cái nonce).

  • Miner 1: Cái hash không thoả mãn cái điều kiện gần bằng hoặc nhỏ hơn, do target hash có 17 con số 0, hash của miner 1 chỉ có 16 con số 0.
  • Miner 2: khá hơn một chút, có 17 con số 0, nhưng con số thứ 18 – d, lại lớn hơn con số thứ 18 – 5 của target hash. Anh em xem lại cái bảng bên trên, ký tự ‘d’ tương ứng với số 13 trong hexadecimal, và 13 dĩ nhiên là lớn hơn 5 của target hash rồi.
  • Miner 3: ký tự 18 là số 4, nhỏ hơn 5 của target hash. Vậy là trong 3 người miner này, thì miner số 3 sẽ nhận được Bitcoin như là block reward.

Miner nào tìm ra cái nonce cho chuỗi hash gần bằng hoặc nhỏ hơn target hash sẽ là người nhận được block reward. Cái này trong blockchain, người ta gọi là proof of work (mình không biết dịch ra tiếng Việt là gì). Một số anh em sẽ nghĩ đây giống như trò đoán mò, và hên xui. Chính xác việc đào Bitcoin và một số cryptocurrency khác là trò đoán mò. Nên để tăng khả năng đoán trúng, những miner hiện tại sử dụng nhiều thứ để tăng cái hash rate (số hash trong một giây, hay đơn giản ở đây là đoán cành nhanh và càng nhiều cái nonce này càng tốt). Giống như mua vé số, muốn tăng khả năng trúng, chỉ có cách là mua càng nhiều vé càng tốt.
Nhưng lỡ cùng một lúc, có hai miner đều cho ra kết quả giống nhau, thì ai sẽ được nhận cái block reward? Có một cái luật (protocol) đã được quy định, giữa hai người miner này, ai đã từng xử lý (add) được nhiều block nhất vào cái blockchain, sẽ được nhận block reward này.

Blockchain hoạt động thế nào?
Okay, vậy là anh em đã hiểu làm sao mà các giao dịch (transaction) trong một block được miner đào được. Vậy khi gắn nó vào một chuỗi thì như thế nào? Anh em xem hình sẽ thấy, target hash của một block còn phụ thuộc một biến số nữa là hash của block trước (n-1) – previous hash, mà mình không nhắc tới phía trên. Cái previous hash này rất quan trọng.

Tại sao cái previous hash này rất quan trọng? Vì nếu anh em thay đổi thông tin của một block nào đó, cái target hash nó cũng sẽ phải thay đổi. Thành ra, khi thay đổi một thông tin nào đó của một block, nó sẽ kéo theo tất cả các block sau đó không còn đúng (invalidate), vì hash của một block, phụ thuộc vào cái hash của block trước đó.

[​IMG]

Cho trực quan, anh em xem qua cái GIF này của mình nhé. Mở đầu, anh em thấy mình có 5 block, tất cả đều đã được đào (mine) thành công và gắn vào chuỗi (chain). Cả 5 block đều là green. Hash của 1 block (n), là prev hash của block sau đó (n+1).

Bai 2_video 3.gif

  • Mình bắt đầu sửa một giao dịch của block số 3, anh em thấy là block thứ 3, và các block sau đó nó bị invalidate và chuyển sang màu đỏ hết không? Lý do như mình nói là cái target hash của block số 3 không còn đúng (invalid) nữa, nên nó sẽ kéo theo block số 4 (prev hash dựa vào hash của block số 3), và block số 5 (prev hash dựa vào block số 4) đều sai và đỏ hết.

Bai 2_video 4.gif

  • Vậy để sửa cái này, bắt buộc mình phải đào lại hay tìm cái nonce mới từ block số 3 trở đi. Tức là mình phải tìm từng cái nonce đúng cho block 3, 4, và 5. Anh em thấy mình phải nhấn mine để tìm lại cái nonce cho 3 block trên, và sau đó cả 3 block (3, 4, và 5) đều xanh (valid) trở lại.

Bai 2_video 5.gif

Anh em sửa thông tin của một block càng về trước, thì số block anh em phải đào lại (remine) từ đầu càng nhiều. Nên gần như là không thể để sửa một giao dịch trong một blockchain.
Vậy ví dụ có một ông miner nào đó sửa dữ liệu giao dịch, thêm bớt gì đó thì sao? Chuyện này vẫn có thể xảy ra, nhưng cái blockchain mà anh em bỏ thêm thông tin không chính xác và sẽ bị loại bỏ (rejected). Vì cái blockchain (sổ cái) này được chia sẻ với tất cả các nodes trên toàn thế giới. Các nodes làm nhiệm vụ lưu trữ cái blockchain chứa đựng các thông tin giao dịch, đặc biệt là cái hash của các block. Các nodes này liên kết và trao đổi dữ liệu với nhau, để đảm bảo cái blockchain của mình là mới nhất (up-to-date).

Bai 2_video 6.gif

Như trong GIF bên trên, anh em thấy Peer A (giả sử là miner 1), làm giả số liệu ở giao dịch. Sau khi đào và đẩy cái block này lên network, các nodes chỉ cần so sánh, họ thấy cái blockchain của Peer B và Peer C là có hai cái hash giống nhau ở block số 5 là giống nhau, thế là cái blockchain của Peer A sẽ bị bỏ (rejected). Như trong bài viết của Unocoin vào năm 2018, phải tốn ít nhất 30 tỷ đô la Mỹ để làm giả một giao dịch [3]. Đặc tính không thể sửa đổi (immutable) này rất quan trọng, giúp cho blockchain về cơ bản là an toàn để có thể giử lý giao dịch, và tránh tình trạng xài tiền hai lần (double-spending), hay tiền giả (counterfeit). Và còn nhiều ứng dụng nữa, mình sẽ viết ở bài sau.

Vậy đó, tới đây anh em gần như đã nắm được blockchain là gì, và các miner làm gì. Thiệt ra còn rất nhiều vấn đề kỹ thuật phía sau nữa, nhưng những gì cơ bản nhất của blockchain anh em có thể nắm được rồi. Nếu vẫn còn thắc mắc, anh em cứ đặt câu hỏi bên dưới để trao đổi nhé hoặc mình sẽ có một bài viết riêng trả lời những thắc mắc của anh em.

Ở bài số 3 tới, mình sẽ viết về: Tại sao lại có nhiều loại cryptocurrency, Bitcoin vs Altcoins. Anh em đón xem nhé.

Đôi lời chia sẻ:
Từ bài viết đầu tiên, có một vài thứ mình muốn chia sẻ ở đây, hy vọng anh em không thấy phiền. Trong bài viết đầu tiên, nhiều anh em vẫn vào nói blockchain và cryptocurrency là scam hay lừa đảo. Mình không phủ nhận là có rất nhiều dự án cryptocurrency lừa gạt tiền của người khác, có, và chủ yếu là theo kiểu Ponzi (người đến trước lấy tiền từ người đến sau). Nhưng không phải vì một vài cái là scam mà mình nói cả cái công nghệ blockchain nó là scam. Thật ra công nghệ blockchain nó rất hay và có nhiều ứng dụng thực tế (mình sẽ có một vài bài để gợi mở cho anh em sau này). Bản thân mình không hề thấy khó chịu khi có nhiều anh em vẫn còn suy nghĩ này, vì bản thân mình mấy tháng trước mình vẫn còn nghĩ nó là scam. Mình nghe tới bitcoin và cryptocurrency từ 2010, nghe tới 2020, và vẫn nghĩ nó là scam. Vẫn cứ chửi đổng (chửi trong bụng thôi), nghĩ là đứa này lừa đứa kia, mà thiệt ra chính bản thân mình chửi vậy mà lúc đó còn chưa biết nó là cái gì. Mà mình thấy giữa mình và những anh em chửi đổng như vậy có cái giống nhau là đều do đọc những bài báo ở Việt Nam, bài nào cũng giật tít: Người này mất tiền, đồng này tăng giá cả trăm lần. Rất ít bài viết chịu chia sẻ cái blockchain thực tế là gì, và cái crypto này khác cái kia ra sao. Nhiều lúc mình có nói với vợ mình, nếu cách đây một hai năm hay sớm hơn mình chịu cởi mở, tìm hiểu một cách đàng hoàng như mình chia sẻ thông tin với anh em, chắc bây giờ khác dữ lắm.
Điều mình khó chịu nhất, là có một vài thành phần, như thánh này (justbenice) vào chụp mũ mình đa cấp. Haiz, mình nhắc lại một lần nữa, mình sẽ không và không bao giờ kêu gọi anh em đầu tư và dạy đầu tư, có 2 lý do:

  • Mình không phải chuyên gia, không thể ‘time market’, nên không biết khi nào mua khi nào bán. Cái này không phải chuyên môn của mình. Tụi đa cấp mới hứa với mấy anh em mấy khoảng đầu tư x20, x50. Mình không có khả năng đó. Và mình nói thẳng, người nào hiểu biết cryptocurrency, sẽ không nói với bạn điều đó, vì cryptocurrency nó dao động cực kỳ kinh khủng (highly volatile). Cho nên mọi người nào hứa hẹn kiểu đó thì né ra đi nhé. À, mình KHÔNG chỉ anh em làm giàu được, nhưng mình sẽ viết một bài: “Tại sao người ta lại mất tiền trong việc đầu tư cryptocurrency” để cho anh em biết và tránh.
  • Theo những gì mình biết thì luật pháp Việt Nam vẫn chưa công nhận bất kỳ tài sản ảo nào, nên anh em vui lòng lưu ý để không khéo mất tiền.

Hy vọng tới đây đồng đội đã hiểu việc làm của miner là đi mò ra cái nonce để cho ra cái hash gần đúng với cái hash của block mà mạng lưới hệ thống nó đặt ra. Vậy gần đúng là gì ? Để được thưởng cho việc đào thành công xuất sắc một block, miner phải là người tìm ra nonce, cho ra cái hash gần bằng hoặc ít hơn cái target hash. Để dễ tưởng tượng đồng đội xem thử tấm hình phía dưới dùm mình .

Source: https://trade.edu.vn
Category: Blockchain

Vote sao

Trả lời

Email của bạn sẽ không được hiển thị công khai.