Ai bảo bitcoin là hữu hạn

 Mỗi cộng đồng, mỗi quốc gia, dân tộc, tôn giáo đều có một quá trình lịch sử. Đối với các thể chế tập trung như quốc gia, tôn giáo, thì lịch sử được lưu truyền chưa chắc đã đồng nghĩa với sự thật - nó được viết nên, sửa đổi bởi những người chiến thắng. Nhưng đối với các cộng đồng blockchain, đặc biệt là bitcoin, với tuổi đời còn rất trẻ (13 năm) thì sự thật vẫn là sự thật, mọi dấu vết hầu như vẫn còn nguyên vẹn.

Lịch sử của Bitcoin không chỉ nằm ở các giao dịch được lưu trữ lại trên blockchain, mà còn nằm ở những đề xuất nâng cấp bitcoin (bitcoin improvement proposal). Nếu ví code chính là luật, consensus chính là luật, là kinh thánh của tôn giáo bitcoin, thì mỗi BIP là 1 lần sửa đổi kinh thánh, sửa đổi hiến pháp, luật pháp.
Hơn 100 BIP, bao gồm cả được chấp nhận và không được chấp nhận, đều được lưu trữ vẹn nguyên, như những trang sử hào hùng và nhiều thăng trầm của một tôn giáo mới, với một hệ tư tưởng mới, tự do và phóng khoáng.

Không chỉ đọc code, tôi thích đọc lại các commit, các BIP để xem lại và học hỏi quá trình phát triển vĩ đại của một nền kinh tế hàng trăm hàng nghìn tỷ đô, giống như đã từng đọc Đại Việt sử ký toàn thư vậy.

Hôm nay, tôi muốn chia sẻ 1 fact khá là thú vị, về tổng cung tối đa của bitcoin trong quá trình hình thành và phát triển.
Mọi người ai cũng biết rằng bitcoin có nguồn cung hữu hạn là 21 triệu đồng bitcoin. Nhưng chất thì con số này được tính toán bằng cách tính tổng số coin mà các thợ mỏ đào được từ thời điểm đầu tiên đến mãi về sau. Cứ sau mỗi 210,000 blocks thì phần thưởng mỗi khối cho thợ mỏ sẽ bị giảm đi một nửa (ngoài phần thưởng này thì thợ mỏ còn được phí giao dịch nữa). 210,000 blocks sẽ có thời gian khoảng 4 năm. Nó cứ giảm mãi, giảm mãi như vậy cho đến khi giảm về 0, thì không có đồng BTC nào được sinh ra nữa.

Phần thưởng khối bắt đầu từ 50BTC, vậy thì có 1 phép tính đơn giản là tổng cung lưu hành của số bitcoin có thể à 210k*50+210k*25+210k*12.5+..... ~21 triệu.

Ý tưởng ban đầu là thế, và trong whitepaper của bitcoin, ngài Satoshi cũng đã viết: "Once a predetermined number of coins have entered circulation, the incentive can transition entirely to transaction fees and be completely inflation free."
(
Sau khi toàn 1 lượng tiền xác định được đưa vào lưu thông (21M), động lực đào coin chuyển hoàn toàn sang việc thu phí giao dịch, và hệ thống hoàn toàn không có lạm phát).

Mọi việc chưa có gì đặc biệt đúng không, hãy xem xét BIP42 nhé. BIP42 được đề xuất vào 1/4/2014, (khoảng 3 năm rưỡi từ khi bitcoin chính thức vận hành).
Đoạn code để lấy phần thưởng khối như sau:

    int64_t nSubsidy = 50 * COIN;
    // Subsidy is cut in half every 210,000 blocks
    // which will occur approximately every 4 years.
    nSubsidy >>= (nHeight / 210000);

Thay vì sử dụng phép chia 2^n khi tính toán phần thưởng khối, ngài Satoshi đã sử dụng phép dịch bit, mục đích là để có hiệu năng tốt hơn.
Nhưng vì sử dụng int64, nên khi dịch 64 bit, kết quả sẽ trả lại y như ban đầu, trở thành 1 vòng tuần hoàn.
Nghĩa là, sau 64 lần halving, phần thưởng khối sẽ trở lại là 50 BTC. (Dự kiến sẽ diễn ra vào năm  2214).
Nếu vẫn cứ giữ như vậy, cứ sau khoảng 256 năm, Phần thưởng khối Bitcoin cho thợ đào sẽ quay trở lại mốc 50BTC và giảm dần về 0, cứ thế cứ thế, bitcoin sẽ trở nên vô hạn chứ không phải hữu hạn như chúng ta tưởng. Bởi bitcoin core, cho đến hiện tại vẫn là client phổ biến nhất trên bitcoin network, và nếu nó không được sửa, đến năm 2214, softfork sẽ xảy ra, và nhánh nguồn cung vô hạn sẽ thắng thế.



Và Bitcoin core vẫn chạy như thế cho đến tận 2014 mới có đề xuất sửa đổi. 
BIP42 đề xuất sửa lại, để sau 64 lần halving thì mặc định chỉ thưởng 0btc mà không có chu kỳ tiếp theo


 // Force block reward to zero when right shift is undefined.
  if (halvings >= 64)
    return 0;

https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki

Theo tôi, việc tràn độ dài khi dịch bit là 1 bug (lỗi lập trình) chứ không phải cố ý, bởi vì  tổng cung được fix cố định và về lâu dài thì btc trở nên hoàn toàn không có lạm phát đã được nêu trong chương 6 của whitepaper.

Nhưng Pieter Wuille, tác giả của đề xuất BIP42 đã hài hước nói rằng: Satoshi chưa bao giờ nói thế, ngài ấy đã chủ đích lập trình và mô hình hóa nguồn cung btc như kiểu có nhiều mỏ vàng, khai thác hết mỏ này đến mỏ kia, mỗi 256 năm khai thác 1 mỏ, mỗi thiên niên kỷ khai thác 4 mỏ, mỗi mỏ 21 triệu BTC.
Có vẻ như những người giỏi thì đa phần có khiếu hài hước, hoặc cũng có thể, Pieter Wuille muốn ngụ ý nhắc đến câu nói vui cửa miệng của dân lập trình "Code của chúng tôi không bao giờ có bug, tất cả đều là tính năng"

Nhận xét

  1. Kiến thức bổ ích mới. Thank Dinh bờ pro. Nhân tiện mở comment cho tớ với https://www.facebook.com/mqiunahg

    Trả lờiXóa
  2. ai có quyền đề suất sửa và ai có quyền sửa bitcoin code hả bạn? vậy bây giờ có làm được như vậy nữa k?
    mình nghe nói code bitcoin được sinh là như vậy và mãi mãi, vì thế nó trở nên huyền thoại?

    Trả lờiXóa
    Trả lời
    1. Mọi người đều có quyền đề xuất, và cộng đồng sẽ đồng ý hoặc không thông social consensus. Một cách rất tự nhiên, ai đồng ý thì upgrade, không thì thôi.
      Bitcoin không phải là 1 phần mềm để chạy ,cũng không phải là 1 bộ source code. Bitcoin là 1 network, ở đó các máy tính connect với nhau, cùng đồng ý về các quy tắc, quy định, tiêu chuẩn (gọi là consensus, giao thức đồng thuận)
      Không chỉ có phần mềm bitcoin core có thể chạy node, có nhiều phần mềm viết bằng nhiều ngôn ngữ khác nhau cũng tham gia và connect vào nữa. Bạn cũng có thể tải source code bitcoin core về, sửa đổi thoải mái và chạy node riêng, miễn là tương thích.

      Xóa
  3. khi khai thác mỏ 2 thì có khó như mỏ thứ 1 k bạn?
    k/n từ lần đào mỏ 1 có lặp lại được k, theo lý thuyết

    Trả lờiXóa
    Trả lời
    1. năm 2014 thì BIP42 đã khắc phục vấn đề này rồi bạn, nên sẽ ko có mỏ 2 nữa.

      Xóa
  4. Mong anh chia sẻ thêm kiến thức của anh về Blockchain cũng như về dự án Pi. Trên tinh thần yêu khoa học của tương lai em rất mong chờ anh viết thêm BLOG về chủ đề liên quan. Em cảm ơn.

    Trả lờiXóa

Đăng nhận xét

Bài đăng phổ biến từ blog này

Tấn công thao túng giá trong DeFi - đơn giản, hay gặp nhưng khó nhận diện

Cafe sáng blockchain - tập 1. PHI TẬP TRUNG (decentralized)

Tổng số lượt xem trang