Vì sao blockchain được tin tưởng hay lý thuyết trò chơi và blockchain? (Phần 2)
Ở phần này chúng ta sẽ tìm hiểu kĩ hơn về blockchain, cách thức hoạt động, về việc đào coin , nguyên lý của việc đào là như thế nào và tại sao blockchain lại sống và sống khỏe được trong xã hội khốc liệt hiện nay.
Dành cho bạn nào chưa đọc một số khái niệm về lý thuyết trò chơi.
Phần 1: Vì sao blockchain được tin tưởng hay lý thuyết trò chơi và blockchain?
Mục lục
- Blockchain là gì
- Các khái niệm liên quan tới blockchain
- Đào block (minning)
- Các thợ mỏ có xu hướng gian lận, cách blockchain phòng chống việc đó
- Grim Trigger có mặt để giải cứu
- Liệu Proof Of Work có kiểm soát được vấn đề?
- Kết luận
Blockchain là gì?
Thời gian gần đây chúng ta thường nghe về BitCoin, về blockchain. Với các đặc điểm hay được nhắc tới như...
- Một cơ sở dữ liệu phân cấp, lưu trữ thông tin trong các khối thông tin được liên kết với nhau bằng mã hóa và mở rộng theo thời gian. Mỗi khối thông tin đều chứa thông tin về thời gian khởi tạo và được liên kết tới khối trước đó, kèm một mã thời gian và dữ liệu giao dịch.
- Blockchain được thiết kế để chống lại việc thay đổi của dữ liệu: Một khi dữ liệu đã được mạng lưới chấp nhận thì sẽ không có cách nào thay đổi được nó.
Nghe có vẻ thú vị, nhưng chính xác nó là cái gì ?
Blockchain theo nghĩa đen của từng từ thì: block nghĩa là khối, chain là chuỗi. Blockchain nghĩa là chuỗi các khối kết nối với nhau. Khối sau sẽ lấy thông tin của khối trước tạo thành một mắt xích không thể phá vỡ, thay đổi hay giả mạo.
Giải thích mang tính kĩ thuật hơn:
Một blockchain (chuỗi khối) là một loạt các block mà chứa các giao dịch riêng biệt bên trong nó. Mỗi block có chứa thông tin (kết quả băm của block trước), và do đó hình thành lên một chuỗi các block (khối). Vì thế nên gọi là "blockchain".
Một số hình ảnh minh họa về blockchain.
Các khái niệm liên quan tới blockchain
1. Genesis block: khối ban đầu của blockchain.
2. Proof of work: bằng chứng công việc
Khối lượng tính toán cần để tạo block
3. Parent block: block cha
The block that immediately precedes a block is the parent block of that block. So in the diagram above, Block 50 is the parent block of Block 51.
4. Hàm tính điểm: các khối trong block chain có một hàm tính điểm.
Score (genesis) = 0.
Score (Block) = Score (parent block) + Proof of work
Trạng thái hiện tại của chuỗi là block với điểm cao nhất.
5. Đối tượng: hệ thống block chain gồm 2 đối tượng như sau:
- Users: người dùng, trong bitcoin, chỉ có 2 function cho họ:
- Send coins.
- Receive coins.
- Miner: thợ mỏ. Người chứng thực cho các giao dịch. Minning là cách mà một block mới được tạo và nối vào blockchain.
- Hàm băm (hash): Làm thế nào để tính hash? Giá trị hash là một trị số với độ dài cố định, giúp nhận diện dữ liệu. Các hash được tính bằng cách lấy trị số của block hash trước đó, timestamp, block data, and nonce như là giá trị đầu vào .
- Nonce: một số ngẫu nhiên để thỏa mãn bài toán về độ khó. hoặc có thể hiểu là số lần được lặp lại trước khi chúng ta tìm thấy một block hợp lệ? Để hiểu nonce là gì và tại sao nó quan trọng, điều này sẽ được giải thích ở bên dưới.
Theo những dữ kiện bên trên, bạn đã biết khái niệm cơ bản về blockchain. Vậy hãy thử tạo cho mình blockchain một cách dễ dàng và trực quan trên nền web qua trang web ví dụ sau:
https://blockchaindemo.io/
Đào block (minning)
Minning là thông qua một chuỗi tính toán, thợ mỏ tìm được dữ liệu(số nonce) để hoàn thành một khối và add nó vào blockchain, qua đó sẽ được mạng lưới phát cho phần thưởng là một số coin xác định.
Trong ethereum thì phần thưởng là 5 ether, với bitcoin là 12.5 BTC (tại thời điểm viết bài 2017 và dự tính đến 2020 thì sẽ giảm một nửa còn 6.25 BTC).
Khi đọc qua các lời giới thiệu về bitcoin, mọi người thường gặp đoạn nói về các thợ mỏ sẽ giải bài toán gì gì đó. Ai giải ra nhanh hơn thì sẽ nhận được phần thưởng. Nhưng cụ thể bài toán đó như thế nào thì ít có bài nào nói sâu vào.
Sau đây là cách thức mà minning thực hiện:
Hàm băm
Hàm băm là hàm mà đầu vào là dữ liệu gốc X, có độ dài bất kỳ. Đầu ra là một chuỗi chữ số Y có độ dài cố định. Ví dụ Y của hàm băm SHA256 có độ dài là 64 ký tự, Y = SHA256(X).
Ví dụ:
sha256('hello') = "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
sha256("") = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
Và người ta đã nghĩ ra cách để mã hóa dữ liệu như thế này: Ở đầu vào, ngoài dữ liệu gốc X ra thì người ta sẽ thêm vào đó một đoạn dữ liệu nữa. Đoạn này được gọi là nonce (key/salt/). Và áp dụng vào hàm băm SHA256(X + nonce) = Z. Z sẽ khác hoàn toàn so với Y ban đầu.
Đây chính là ứng dụng cho việc mã hóa dữ liệu và truyền đi trong mạng internet. Giá trị của nonce sẽ đóng vai trò như một chìa khóa (key) bí mật để bảo vệ phần dữ liệu X được truyền đi. Ở phía người nhận chỉ khi có được key nonce thì người ta mới có thể xác nhận được X họ đang có là đúng.
Ví dụ hay gặp của SHA256 là dùng cho việc đăng nhập vào các tài khoản online:
- Khi đăng kí máy chủ sẽ lưu trữ Y của các bạn.
- Khi đăng nhập, bạn gõ email+ mật khẩu vào ô nhưng thứ truyền đi tới máy chủ sẽ là Y' = SHA256("email+mật khẩu")
- Máy chủ sẽ so sánh Y và Y' có khớp với nhau hay không, nếu khớp thì bạn sẽ được cấp token sử dụng chức năng của trang vừa đăng nhập. Do đó, dù hacker có lấy được database của máy chủ thì họ cũng không thể biết được mật khẩu và email của bạn. Y của hàm băm SHA256 là không thể dịch ngược.
Quay lại bài toán của thợ mỏ. Công việc của họ là gì?
Sổ cái lưu trữ các giao dịch của bitcoin là dạng blockchain. Là một chuỗi của các khối SHA256 nối đuôi vào nhau. Khối sau sẽ chứa thông tin|sự thay đổi|thời gian thay đổi của khối trước nó. Cho nên muốn tạo giả một thông tin ở khối hiện tại cho nó sai đi, bạn cần thay đổi dữ liệu khối trước đó và kéo theo bạn cần sửa dữ liệu khối trước đó nữa... Và nghĩa là bạn phải tạo ra một sổ cái mới hoàn toàn. Khi đó những người đang giữ bản sao của sổ cái cũ sẽ đối chiếu và dễ dàng thấy sổ cái của bạn là giả, hoặc chẳng ai dùng vì không có tính xác thực.
Và ở đây sẽ có phần công việc cho các thợ mỏ. Ngoài việc tham gia hệ thống để xác minh tính chính xác của sổ cái. Một phần việc khác của các thợ mỏ, đó là tạo ra khối SHA256 mới. Họ sẽ quyết định cái khối SHA256 nào sẽ được ghi tiếp vào sổ cái.
Khối mới được ghi vào sổ cái sẽ là [SHA256(các giao dịch|thời gian|dữ liệu sổ cũ)]. Nhưng với dữ liệu có sẵn thế thì hàm băm này chả có gì khó cả, nó sẽ được giải quyết trong vòng một phần tỷ của một nốt nhạc. Và đây chính là chỗ để sinh ra bài toán cho các thợ mỏ.
Các thợ mỏ sẽ được yêu cầu tìm ra một chuỗi SHA256 khác sao cho chuỗi này có giá trị nhỏ hơn một số D cho trước. Chuỗi này vẫn sẽ chứa các thông tin về giao dịch|thời gian|dữ liệu sổ cũ. Nhưng sẽ được gắn thêm một đoạn nonce nữa vào trước khi hash.
Công thức như sau:
SHA256(X + nonce) < D.
Với:
- X là dữ liệu của hệ thống đã biết gồm các giao dịch,thời gian,dữ liệu sổ cũ
- D là giá trị yêu cầu.
Việc làm của thợ mỏ là tìm xem cái nonce nào hợp lệ cho công thức trên. Ai tìm được nonce trước thì người đó sẽ thắng và khối mới sẽ sử dụng nonce của người đó để tạo ra khối mới và đồng thời hệ thống cũng sẽ ghi nhận luôn rằng chính người thợ mỏ đó sở hữu lượng bitcoin (phần thưởng) mới được sinh ra.
Số D này sẽ có liên hệ với giá trị độ khó difficulty của hệ thống. Nếu hệ thống có tổng hash rate (tốc độ tính toán) càng cao thì difficulty sẽ càng lớn, số D này sẽ càng nhỏ và việc tìm ra nonce sẽ càng khó. Số D này sẽ được hệ thống tính toán lại sau mỗi 2016 blocks được sinh ra, nhằm đảm bảo khoản thời gian 10 phút cho mỗi lượt sinh coin mới.
Lấy một ví dụ cho dễ hiểu. Giả sử bài toán yêu cầu hàm SHA256(X + nonce) < 0x64 nghĩa là D = x64 ( = 100 ở hệ thập phân). Dữ liệu X có rồi. Thì ta sẽ có 99 kết quả của nonce thỏa mãn yêu cầu sao cho SHA256(X+nonce) < 100. SHA256(X+nonce) có thể là bất kỳ giá trị nào từ [1-99].
Giả sử độ khó difficulty tăng lên gấp đôi, thì giá trị D này sẽ giảm đi một nửa và sẽ bằng 50. Khi đó bài toán sẽ khó hơn với yêu cầu là SHA256(X+nonce) < 50, chúng ta chỉ có 49 khả năng cho nonce đúng. Các giá trị thõa mãn D cũ như 78, 65, 69 sẽ không được chấp nhận với D mới này. Tương tự như vậy, nếu độ khó difficulty giảm đi 3 lần, thì số đáp án có thể đạt được cũng tăng lên 3 lần. Điều này sẽ giúp đảm bảo thời gian tính toán sinh coin mới luôn nằm trong khoản 10 phút. Điều này cũng là nguyên nhân dẫn đến việc càng nhiều thợ mỏ tham gia thì việc đào ra coin càng có tỉ lệ thấp.
Đây là một ví dụ thực tế của D = 0x00000000000404CB000000000000000000000000000000000000000000000000
Như vậy ta có thể trả lời được câu hỏi thợ mỏ làm gì và bitcoint từ đâu ra.
Số 21 triệu bitcoin là giới hạn. Không phải là cái mốc. Vì cứ 4 năm một lần thì số coin sinh ra giảm đi một nửa sau mỗi 10 phút. Đến năm 2140 thì số coin sẽ đạt gần đến mức 21 triệu chứ không phải đúng 21 triệu. Số lượng sinh ra coin lúc đó sẽ rất nhỏ. Vì mỗi 4 năm chia đôi một lần mà. Chia đôi mãi một số thì nó không bao giờ về 0 cả. Nó chỉ về con số rất nhỏ thôi.
Trình bày lại minning bằng code
Giả sử ta đã có Genesis block
Chúng ta thử tìm khối thứ 2.
Nội dung khối thứ 2 sẽ như sau:
Index: 0+1 = 1
Previous Hash: 0000018035a828da0…
Timestamp: khi nào block được thêm vào
Data: "Chúng tôi là VNLab"
Hash: ??
Nonce: ??
Vậy giờ chúng ta đi tính hash và nonce.
Cách tính hash:
hash('sha256', index . previousHash . timestamp . data . nonce);
Bạn có nhận thấy bốn đầu 0 trong "Previous Hash"?
Trong trường hợp này bốn cột đầu của hash là 0. Đó yêu cầu tối thiểu cho một hash hợp lệ. Số cột đầu tiên là 0 sẽ được gọi là difficulty.
Hàm để kiểm tra xem một hash có phải là hash thỏa mãn độ khó chưa:
function isValidHashDifficulty($hash, $difficulty) {
for ($i = 0; $i < $hash.length; $i++) {
if ($hash[$i] !== '0') {
break;
}
}
return $i >= $difficulty;
}
Đoạn code theo cách đơn giản để tính số nonce:
$nonce = 0;
$hash;
$input;
while(!isValidHashDifficulty($hash)) {
$nonce = $nonce + 1;
$input = $index + $previousHash + $timestamp + $data + $nonce;
$hash = SHA256($input)
}
Vòng lặp trên cứ tăng dần nonce lên cho tới khi tìm được nonce thỏa mãn độ khó của hash. Quá trình tìm một nonce tương ứng với một hash hợp lệ là mining.
Difficulty tăng lên, số lượng các hash hợp lệ giảm. Với hàm hash hợp lệ ít hơn có thể cần phải mất nhiều thời gian xử lý hơn để tìm một hash hợp lệ.
** Tại sao việc tìm nonce, với độ khó nhất định của hàm hash lại quan trọng? **
Nó quan trọng vì nó giữ cho blockchain không thay đổi. Nếu chúng ta có blockchain A → B → C, và ai đó muốn thay đổi dữ liệu trên Block A. Điều gì sẽ xảy ra:
Dữ liệu thay đổi trên block A
Thay đổi hash của Block A vì dữ liệu được sử dụng để tính toán hash.
Block A trở nên không hợp lệ vì hash của nó không còn có bốn đầu của 0.
Thay đổi hash của Block B vì hash của Block A được sử dụng để tính toán hash của Block B.
hash B trở nên không hợp lệ bởi vì hash của nó không còn có bốn hàng đầu của 0.
Thay đổi hash của Block C vì sử dụng hash của Block B để tính toán hash của Block C.
Block C trở nên không hợp lệ vì hash của nó không còn có bốn đầu của 0. Cách duy nhất để biến đổi một khối sẽ là xây dựng lại một blockchain khác bắt đầu từ khối bị thay đổi. Ngoài ra còn việc các block mới luôn luôn được thêm vào, nên rất khó trong việc thay đổi cả blockchain.
Tổng kết về minning
Qua những điều trên chúng ta thấy: thở mỏ có nhiều sức mạnh trong hệ thống blockchain, nên nếu họ chọn cách cheat cho họ, thì họ sẽ ảnh hưởng xấu tới hệ thống.
Các thợ mỏ có xu hướng gian lận?
Để tránh điều đó xảy ra: blockchain đã làm gì, blockchain đã có trong mình nó lý thuyết trò chơi để giải quyết vấn đề.
Trong hệ thống peer-to-peer thì torrent là phổ biến nhất. Nhưng có một vấn đề là người ta download nhưng ko seeding… Nguyên nhân là không có cơ chế phạt phù hợp.
Vậy blockchain sẽ làm như thế nào để tránh thợ mỏ gian lận?
Đầu tiên phải làm rõ một vấn đề thợ mỏ sẽ gian lận như thế nào:
-
Họ có thể bao gồm một giao dịch không hợp lệ và tự cho mình thêm tiền xu.
-
Thêm các khối ngẫu nhiên mà không cần lo lắng về bằng chứng của công việc.
-
Mỏ trên đầu trang của các khối không hợp lệ để có được nhiều hơn BTC.
-
Mỏ trên đầu trang của một khối ghi điểm phụ tối ưu.
Tại sao thợ mỏ lại làm như thế? Vì đơn giản không ai bắt họ phải là những người tốt? Chúng ta không thể tạo một hệ thống gồm toàn những người tốt. Blockchain được thiết kế bằng cách tự thực thi cân bằng Nash. Nguyên nhân là do khai thác có một hệ thống trừng phạt đệ quy.
Double spending.
Đây là khái niệm hay được nhắc tới trên hệ thống blockchain. Double spending là vấn đề lớn với bất cứ cái gì gọi là tiền. Dưới đây là ví dụ:
Tại blue block 51 thợ mỏ sử dụng 20 bitcoins để mua 500 litecoins, sau đó anh ta tạo 1 chuỗi song song với block 51 mới (block đỏ), ở đó anh ta chưa hề giao dịch. Như vậy anh ta vừa còn 20 bitcoins, vừa có 500 litecoins. Đó chính là double spending.
Như vậy double spending phá hủy hệ thống, vì làm cho hệ thống không công bằng.
Cân bằng Nash trong mining và hệ thống trừng phạt system.
Chúng ta xem xét tại sao thợ mỏ sẽ không double spending
- Nếu một thợ mỏ tạo ra một khối không hợp lệ thì những người khác sẽ không tiếp tục vào nó bởi vì một quy tắc đã được xác định trong cơ chế blockchain. Bất kỳ khối nào được khai thác trên một khối không hợp lệ sẽ trở thành một khối không hợp lệ. Sử dụng quy tắc này, thợ mỏ sẽ đơn giản bỏ qua các khối không hợp lệ và tiếp tục khai thác mỏ trên chuỗi chính chuỗi màu xanh trong sơ đồ.
- Không thợ mỏ nào muốn khai thác trên Red Block 52 vì Blue Block 53 sẽ có số điểm cao hơn red block.
Cả 2 kịch bản đều sẽ xảy ra vì các thợ mỏ, là những người mà họ sẽ luôn chọn trạng thái ổn định nhất theo cân bằng Nash, luôn chọn cái có lợi cho mình nhất để làm. Tất nhiên, bạn có thể làm tất cả các thợ mỏ khai thác tiếp trên red block và biến nó thành blockchain mới, tuy nhiên số lượng thợ mỏ là rất lớn nên điều này khó có thể xảy ra. Cũng giống như trong một game trạng thái, hầu hết những người trong group không thay đổi trạng thái của họ. Thiểu số sẽ không có bất kì động lực nào để ở lại trạng thái mới. Hiểu điều này, một thợ mỏ sẽ không sử dụng tất cả sức mạnh tính toán vào một trạng thái rủi ro để rồi kết quả là vô ích.
Như vậy thợ mỏ không gian lận bởi nếu gian lận họ sẽ mất chính công sức, tiền bạc của họ.
Lý do vì sao thợ mỏ lại hướng về chuỗi thường dùng blue chain?
Trong game blockchain thì có 2 thành phần là các thợ mỏ và các user. Tại sao nguời dùng sẽ dùng blue chain hơn là red chain? Một lần nữa, nguyên nhân là vì cơ chế lý thuyết trò chơi.
Điều đầu tiên là bạn phải giữ trong đầu bạn là tiền ảo có giá trị bởi con người cho chúng giá trị. Vậy, vì sao người dùng bình thường sẽ gán giá trị cho coins của blue chain và không làm thế với red chain. Lý do rất đơn giản, chuỗi chính là một schelling point từ quan điểm người dùng. Họ cho chúng giá trị vì main chain dường như là tự nhiên và đặc biệt với họ.
Liệu Proof Of Work có kiểm soát được vấn đề?
Trước khi bắt đầu giải thích, cùng xem lại sơ đồ của chúng ta một lần nữa.
Vitalik Buterin (người tạo ra ethereum) đưa ra một ví dụ điển hình về vấn đề kiểm soát và chúng tôi sẽ mở rộng nó.
Trong ethereum có một khái niệm nổi tiếng là hợp đồng thông minh (smart contract).
Giả sử ai đó làm một hợp đồng thông minh với các điều khoản của hợp đồng đi như sau:
- Bất kỳ người khai thác mỏ nào cũng có thể tham gia vào hoạt động bằng cách gửi một khoản tiền gửi rất lớn vào hợp đồng.
- Các thợ mỏ phải gửi cổ phần của các khối đã hoàn thành một phần mà họ đã khai thác vào hợp đồng và hợp đồng xác minh nó và cũng xác minh rằng bạn là một người khai thác mỏ và rằng bạn có đủ sức mạnh băm.
- Trước khi 60% các thợ mỏ trong hệ thống tham gia, bạn có thể bỏ tham gia vào hợp đồng này bất cứ lúc nào bạn muốn.
- Sau khi 60% thợ mỏ tham gia, bạn sẽ bị ràng buộc với hợp đồng này cho đến khi 20 khối đã được thêm vào chuỗi màu đỏ.
Vâng, thực sự là rất nguy hiểm và bạn có thể thấy được vấn đề mà cuộc tấn công này có thể xảy ra. Không chỉ chain mới phát triển ngày càng lớn hơn, bởi vì 60% của toàn bộ thợ mỏ bị ràng buộc theo hợp đồng với chuỗi mới này, điều này sẽ nhanh chóng làm cho chuỗi gốc cũ hơn. Điều này sẽ làm cho tăng double spend trên khắp nơi và giá trị của đồng tiền sẽ giảm nhanh.
Chúng ta sẽ thử phân tích vì sao thợ mỏ sẽ tham gia vào một cuộc kiểm soát này?
- Phần thưởng cuối cùng rất hấp dẫn.
- Không có nguy cơ khi tham gia vào hợp đồng này.
- Động lực của họ để làm theo thông qua hợp đồng là gì?
- Số tiền khổng lồ mà họ đã gửi vào đầu.
- Lại một lần nữa, phần thưởng rất lớn đang chờ họ.
Về mặt lý thuyết, việc tiếp quản như thế này có thể kết thúc bất kỳ loại tiền tệ nào, nhưng điều này không có khả năng xảy ra vì ... lại là: ... Lý thuyết trò chơi.
Grim Trigger có mặt để giải cứu!
Hãy suy nghĩ về tham số nhà vua khi chúng ta nghĩ về grim triggers. Nếu một vị vua bị giết và chiếm đoạt, thì điều gì sẽ ngăn lại vị vua mới khỏi bị giết và từ đó trở thành một chu kỳ đẫm máu vô tận? Để ngăn chặn điều này xảy ra, cách tốt nhất của hành động là không giết vị vua ban đầu ở nơi đầu tiên.
Tương tự, chúng ta hãy sử dụng logic này cho các blockchain. Nếu một blockchain bị chiếm đoạt và bị phá hủy và các thợ mỏ được chuyển hướng vào một chuỗi mới, không có gì ngăn cản chuỗi mới bị chiếm đa số trong thời gian sớm nhất? Để ngăn chặn vòng lặp đẫm máu đó không xảy ra, thì tốt nhất là không giết vị vua đầu tiên.
Do đó để mọi công sức đã xây dựng lên blockchain đầu tiên không bị mất đi, thì các thợ mỏ sẽ không tiêu diệt nó bằng cách tạo 1 blockchain mới, vì mọi thứ sẽ lặp lại, và chính họ sẽ mất tất cả.
Có một số nơi mà đối số Grim Trigger thất bại, và rõ ràng, có những nơi mà nó hoạt động khá ngoạn mục:
- Grim Trigger không thành công khi các thợ mỏ không bị ràng buộc vào một loại tiền tệ. Nếu các thợ mỏ đang làm việc trên nhiều loại tiền tệ, họ chỉ có thể nhóm để kiểm soát một loại tiền tệ có giá trị thấp.
- Grim Trigger duy trì nếu họ bị ràng buộc và trung thành với một loại tiền tệ cụ thể. Xét cho cùng, nó là mối quan tâm trực tiếp của họ để duy trì và duy trì giá trị và tính hợp pháp của đồng tiền.
- Nếu đồng tiền yêu cầu các ASIC chuyên biệt, sau đó là đối số kích hoạt nặng nề giữ lên. Nếu một đồng tiền chỉ có thể được khai thác bằng phần mềm chuyên dụng, thì các thợ mỏ sẽ đảm bảo rằng không có gì xảy ra với loại tiền tệ đó và nó không mất giá trị (mất giá trị thì thở mỏ chả được đồng nào). ASICs chuyên biệt thì chỉ có thể làm việc cho một loại tiền tệ cụ thể. Nếu không sử dụng vào việc đó, nó là vô tích sự. Thêm nữa, chúng rất đắt.
- Lập luận không giữ được nếu tiền tệ có thể được khai thác bằng cách sử dụng CPU. CPU không phải là đắt tiền, và nó có thể được sử dụng để khai thác các loại tiền tệ khác.
- Tuy nhiên, nếu các thợ mỏ sở hữu các CPU có cổ phần trong đồng tiền, lập luận này vẫn được duy trì bởi vì họ không muốn mất cổ phần mà họ đầu tư vào đồng tiền đó. Đây là một loại chứng cứ cổ phần (proof-of-stake).
Nhờ những lý do trên, các thợ mỏ sẽ không tham gia vào hợp đồng tưởng như béo bở mà chết chóc bên trên.
Kết luận
Như có thể thấy, cơ học lý thuyết trò chơi làm cho blockchain rất đặc biệt. Không có gì về công nghệ hoặc cơ học (mechanics) là mới, nhưng đó là sự kết hợp của hai khái niệm hấp dẫn đó đã làm cho cryptocurrency an toàn để chống tham nhũng từ trong nội bộ. Ngay cả khi bitcoin và Ethereum thất bại vì bất cứ lý do nào, cryptocurrency sẽ luôn tồn tại vì những lợi ích nó mang lại.
P/s: Các bạn thấy có phần nào chưa được xin comment bên dưới để chúng ta cùng suy nghĩ thêm về các vấn đề liên quan tới blockchain nhé.
Linh tham khảo
https://blockgeeks.com/guides/cryptocurrency-game-theory/
https://spiderum.com/bai-dang/Bitcoin-Bai-toan-cua-cac-tho-mo-6z8
https://techtalk.vn/blockchain-thuc-su-hoat-dong-nhu-the-nao.html