
Chao xìn mọi người lại là mình đây Nhabachoc KAD.
Bài viết này có dành cho bạn?
Những bạn nào hay thắc mắc đào coin là gì
Hành trang cần chuẩn bị:
Đã từng sử dụng nghe nói về đào coin
Một chút lịch sử tiến hóa con người
Cùng tắt đèn bật ý tưởng, gét go 🪄
Chưa nói đến Blockchain thì trong đời thường bằng chứng là 1 điều gì đấy rất quan trọng. Bằng chứng giúp một con người có thể được minh oan, có thể khiến một người bị gán tội. Bằng chứng giúp những người lãnh đạo biết được công hiến của từng nhân viên và có phần thưởng xứng đáng.
Trong mạng lưới Blockchain cũng vậy, bằng chứng giúp cho mạng lưới biết được công sức của bạn đến đâu và trả thưởng xứng đáng cho bạn. Có rất nhiều loại bằng chứng trong Blockchain:
Proof of work
Proof of stake
Proof of authority
Có thể nói thực ra code là những dòng mã vô vị nhưng lại mang tư tưởng của cuộc sống một cách rõ nét. Từ thời xa xưa khi mà con người mới vẫn trong thời kỳ chưa có kỹ thuật hiện đại thì sức khoẻ chính là thứ khiến họ có giá trị. Nếu họ càng khoẻ thì họ sẽ càng kiếm được nhiều của cải, săn bắt được nhiều thú hơn, hái được nhiều hoa quả hơn, chặt được nhiều gỗ hơn hay chính là đào được nhiều vàng hơn (bằng chứng công việc).
Proof of work
Trong máy tính, chúng ta không thể đào “vàng” được đúng không, vậy sẽ là đào thứ gì 🤔? Cùng ngồi lại và phân tích một tý, “đào” vừa là một hành động tìm kiếm và kết quả đầu ra phải là tìm kiếm được một điều gì đấy.
Bằng chứng công việc trong máy tính ám chỉ máy tính phải chứng minh mình đã làm việc bằng cách làm một tác vụ nào đó, VD: chạy 100 vòng lặp, tính 1+1 bằng mấy, tính 2^256 + 1 bằng mấy, hoặc giải 1 bài toán, … và À ✨ các bạn còn nhớ đến chuỗi khối chứ ở đó có 1 tác vụ là tính toán hàm băm (Hash) chứ 👉 Bài toán này hơi đơn giản quá và chưa mất công sức để được gọi là “đào” vị vậy họ nghĩ ra thêm điều kiện để bài toán phức tạp hơn:
Độ khó<Difficulty>: sẽ quy định đầu ra của Hash<hàm băm của bản ghi> sẽ phải đáp ứng điều kiện những chữ cái đầu tiên từ trái → phải bắt đầu từ N số 0 - N ở đây chính là độ khó
Nhưng để có thể thay đổi hàm băm ta cần 1 con số chèn vào trong bản ghi đó và ta gọi con số đó là nonce. Con số này có thể random, hay cũng có thể tịnh tiến để chung quy lại máy tính phải chạy rất nhiều số, phải hì hục thay từng con số để tìm ra được con số thoả mãn.
VD: Ta có bản ghi 1, Nội dung, vì là bản ghi đầu nên PreHash = 0, nonce chạy từ 0 → vô cùng. Hãy tính Hash của bản ghi sao cho N = 1
Bản ghi 1 | Dũng chi tiêu 3k | 0 | 0 → vô cùng | ? |
---|
Ta thay từng nonce tịnh tiến:
0 | 69116… | 4 | 3ce5f… | 8 | 9b39f… | 12 | c66b6… |
---|---|---|---|---|---|---|---|
1 | 3457e… | 5 | f11d0… | 9 | 79dd9… | 13 | f840e… |
2 | 1a524… | 6 | 44865… | 10 | 1455e… | 14 | 3f17a… |
3 | d3277… | 7 | d6fbf… | 11 | 3eab6… | 15 | 7ec14… |
16 | 0901d… |
Và dừng lại ở nonce = 16 vì Hash = 0901d… đã thoả mãn có 1 ký tự 0 (N = 1)
Nếu giả sử nonce = 7 có Hash = 00fbf… thì chúng ta cũng dừng luôn ở 7 vì có 2 ký tự 0 > so với đề bài yêu cầu là 1.
Đây là ví dụ cơ bản nhất còn nonce trong thực tế thì tuỳ vào thuật toán sẽ có những cách khác nhau.
Khi con người phát triển hơn, máy móc hiện đại xuất hiện, sức lực con người thay thế bằng sức máy thì của cải lúc này được xem như chìa khoá. Ai nắm giữ nhiều tài sản hơn thì đó chính là bằng chứng cho thấy họ làm việc hiệu quả hơn (bằng chứng nắm giữ tài sản).
Proof of stake
Vì PoW có nhược điểm lớn:
Thời gian xác nhận các giao dịch hay còn gọi là hash bản ghi để tạo thành chuỗi khối là cực kỳ lâu vì muốn chứng minh sức lao động thì lao động càng nhiều càng tốt. Hãy cùng xem ví dụ sau:
Một cánh đồng <1 bản ghi cần Hash> nếu càng nhiều người cày <nghĩa là sử dụng càng nhiều tài nguyên máy tính tính toán: có thể là nâng cấp 1 máy tính cấu hình xịn, có thể là sử dụng thật nhiều máy tính> thì càng nhanh hoàn thành công việc.
⇒ Việc tính toán Hash nhanh như vậy khiến việc tấn công là quá dễ dàng ⇒ tăng độ khó lên <tăng N lên>
Tiêu tốn 1 lượng tài nguyên khổng lồ, nếu chỉ đơn giản N=1 thì lại không hề phức tạp, nhưng nếu là N=100 thì sao. Quả là một quá trình kinh khủng và nếu chỉ dùng 1 chiếc máy tính cơ bản, mình nghĩ nó sẽ xin nghỉ việc sau 1 ngày vì quá mệt mỏi. Không những thế còn hại đến môi trường vì dùng điện để chạy máy tính, điện để làm mát máy tính mà điện thì có từ đâu…
Vì những nhược điểm cản trở nhân loại tiến xa hơn nên PoS sinh ra để khắc phục nó:
Như mình đã nói đoạn mở đầu, PoS là bằng chứng tài sản vì vậy cần có một cơ chế thuật toán hoàn toàn mới giảm bớt tính toán và liên quan đến tài sản. Sẽ không còn độ khó <Difficulty> trong thuật toán nữa để loại bỏ cơ chế đào cổ hủ mà thay vào đó là cơ chế thưởng và phạt, thay vì thi nhau giải một bài toán khó thì giờ đây họ chọn ra một người để giải bài toán ở mức độ cơ bản, nếu người được chọn giải đúng họ sẽ được thưởng còn nếu họ cố tình giải sai nhằm tấn công hệ thống thị sẽ bị phạt rất nặng. 🙌🙌🙌 Yeahhh thật tuyệt khi bảo vệ được trái đất 🌏 thân yêu các bạn nhỉ.
Có rất nhiều cách để bạn triển khai mô hình này, tất cả đều có điểm chung là bạn phải đưa cho hệ thống nắm giữ tài sản của mình <hay còn gọi cách khác là Stake> khi bạn là người được chọn nếu giải đúng: tiền về túi bạn 💵. Nếu bạn nói xấu gì về blog tâm huyết này mà tôi nghe được: bạn mất sạch 💀 (gửi Hash sai lệch với dữ liệu 🤣). Vậy chọn ai:
Có thể là chọn người giàu nhất nhưng tốt nhất không nên làm thế vì hệ thống sẽ trả thưởng cho người giàu và cứ như thế họ sẽ luôn là người được hệ thống chọn - Tiền chảy chỗ trũng
Có thể là chọn ra người trung bình, khi họ có tiền thưởng họ nhiều tiền lên và nhường cơ hội lại cho các bạn khác. 💩 thật tốt bụng nhưng nope, bạn đã bị sập bẫy:
Có 5 người lần lượt Stake:
người 1
người 2
người 3
người 4
người 5
10 đồng
20 đồng
30 đồng
40 đồng
50 đồng
và mỗi lần giải xong bài toán được thưởng 15 đồng. Sau 5 chu kỳ <các bạn tự tính nhé>:
người 1
người 2
người 3
người 5
người 4
10 đồng
20 đồng
60 đồng
65 đồng
70 đồng
Như các bạn thấy 🤣🤣🤣 tưởng chừng như mạng lại công bằng nhưng 50% còn lại đang than khóc và chuẩn bị đấm bọn phía trên đến nơi vậy 💢
Có thể là chọn ra người nghèo nhất và có vẻ mọi thứ có vẻ hợp lý hơn và công bằng với tất cả mọi người. Oki vẫn ổn cho đến khi bạn nhận ra rằng những người nghèo họ quá nghèo so với mấy ông lớn trên cùng, số tiền thưởng thêm mãi không ăn thua để so với mấy ông lớn và mấy ông lớn đợi mãi không đến lượt nên bực quá rút hết tiền. Hệ thống của chúng ta tèo.
Chúng ta đã đặt ra 1 số giả thuyết nhưng chưa tìm được phương án phù hợp. Vậy bạn có nghĩ ra được phương án nào hay không, giơ tay lên nào 🙋♂️ 3p suy nghĩ tý nha. 3. 2. 1…
Chúng ta cùng xem phương án sau đây nha:
Không thể chọn 1 tệp người nào đấy được vì sẽ không công bằng cho tất cả mọi người. Đơn giản thôi ta chọn ngẫu nhiên một người trong nhiều người đấy.
Vậy tôi chỉ cần Stake 1 lượng nhỏ nhất theo hệ thống yêu cầu là được đúng không? Cũng hơi bất hợp lý thật vì không có ưu ái gì cho những người Stake nhiều tài sản cả ⇒ cho họ thêm 1 chút may mắn bằng cách phần trăm tỷ lệ chọn ngẫu nhiên của họ sẽ cao hơn mọi người.
Thêm một chút nữa cho hứng thú đó là cũng tăng phần trăm tỷ lệ chọn ngẫu nhiên cho những ai có thời gian Stake lâu.
Có đúng những gì bạn đang nghĩ không 🥰
Thời gian dần qua thì tài sản tích luỹ được trong một nhóm người giàu càng gia tăng hơn điều này khiến cho những dân đen cảm thấy không hài lòng, cần có một cuộc cách mạng ở đây. Họ vùng lên đấu tranh cho một xã hội dân chủ, giúp mọi người có động lực cống hiến bảo vệ xã hội tốt đẹp hơn là chạy theo đồng tiền và như thế họ chọn ra những người có danh tiếng tốt, uy tín cao để lên làm người lãnh đạo (bằng chứng uỷ quyền).
Proof of authority
Nhìn vào điều cốt lỗi thì PoS về công nghệ đã hoàn thiện hơn PoW rất nhiều rồi, thứ mà nó cần chỉ là làm sao để có thể nhanh hơn và bảo mật hơn.
Sự công khai về danh tính cùng với đó là uy tín được xây dựng theo thời gian ⇒ giúp hệ thống bảo mật hơn
Số lượng người đáp ứng đủ điều kiện sẽ là con số nhỏ ⇒ giúp hệ thống hoạt động nhanh hơn