Bitcoin
I. Problem and The Solutions
1. Changing the Trust Model
- Tiền = Value trao đổi. Dựa trên sự tin tưởng.
- Từ xa xưa, con người ta trao đổi dựa vào Trust Something (ví dụ như vàng)
- Do việc mang vác vàng khó khăn quá, ng ta thay đổi thành Trust Someone (Ngân hàng). Đưa vàng cho họ, họ sẽ đưa ngân phiếu cho → giá trị trao đổi vẫn được giữ nguyên nhưng nhẹ nhàng hơn cho ng cầm tiền.
- Về sau, chính phủ các nước quản lý chặt ⇒ Vẫn là Trust someone - Chính phủ. Họ in tiền - fiat money.
2. Money Today
- Fiat Money drawbacks:
- Centralized (Phải có cộng đồng cùng sử dụng, chỉ hữu dụng trong 1 khu vực địa lý, cần quy đổi nếu muốn dùng ở các nước khác, …)
- Unlimited: Chính phủ có thể in bao nhiêu tiền tùy ý ⇒ thiệt cho người cầm tiền.
- Có thể bị làm giả
- Cần trung gian để chuyển tiền ra nước ngoài.
- Digital Money
- Paypal, Credit card, …
3. Double Spend Problem
- Nếu tiền ở dạng digital, nó có thể bị copy và chi tiêu nhiều lần. Đó chính là Double spending problem. Nên bắt buộc phải có 1 bên trung gian đứng ra “làm chứng” cho tính hợp lệ của digital money. (Bank, Paypal, …)
- Giải pháp hiện tại: Centralized solution
- Mỗi hệ thống thì có 1 cái Ledger (sổ cái). Trong đó track xem ai đang sở hữu bao nhiêu tiền, giao dịch ntn. Chúng ta tin vào bank, và bank tin vào ledger trong máy tính của họ. ⇒ Cái này chỉ hoạt động tốt khi có “central authority”
- Issues:
- Corruption - Tham nhũng, lạm quyền: Khi quyền lực tập trung vào 1 chỗ thì dễ dẫn đến lạm quyền. (ví dụ như vụ Wells Fargo tạo 1,4 triệu fake accounts)
- Mismanagement. In quá nhiều tiền → Lạm phát (giống Venezuela)
- Control: Mình đang trao toàn quyền kiểm soát cho chính phủ/bank → Có thể close account của mình bất cứ lúc nào.
Để giải quyết những vấn đề này, 1 Decentralized Solution đã ra đời - Bitcoin.
- Transparency: Minh bạch, ai cũng có thể xem ledger.
- Anonymous: Chỉ thấy địa chỉ ví chứ không thấy được thông tin gì khác.
⇒ Nhiều máy tính sẽ tạo lên 1 BTC system. Mỗi máy sẽ có 1 cuốn sổ cái. Muốn hack thì phải chiếm quyền kiểm soát > 50% máy trong mạng. (cái này gọi là Sybil attack - BTC chống lại Sybil Attach bằng cách muốn giải được bài toán thì cần rất nhiều tài nguyên ⇒ Không thể tạo ra nhiều tài khoản để tự vote cách giải đúng được)
Vì BTC là digital, nên mỗi khi ta “sở hữu” 1 bitcoin, tức là ta có quyền truy cập vào bitcoin address record trong sổ cái, và có thể gửi từ địa chỉ này đi địa chỉ khác.
⇒ Full control, No middleman, Programable, Open to all.
https://www.youtube.com/watch?v=41JCpzvnn_0&ab_channel=99Bitcoins
II. Bitcoin Wallets
- Web, Mobile, Desktop, Hardware, paper, Brain, Multisig, HD
- Là nơi để lưu trữ địa chỉ + tracking giao dịch trên mạng.
- Có 1 private key (khóa) + public key (địa chỉ ví)
- Ví này có cài bitcoin core.
III. Bitcoin transaction
1 transaction bao gồm:
- Sender
- Recipient
- Amount
- Chữ kí của owner (từ private key generate ra 1 public key)
⇒ Tạo thành 1 file My TX, sau đó wallet sẽ thông báo tới tất cả các máy trong mạng. 1 block sẽ bao gồm 1 vài transactions.
1 block sẽ chứa bao nhiêu TX??
Thường thì miner sẽ gom những TX nào có fees cao vào với nhau trước
Ta có thể check trên trang
https://www.blockchain.com/explorer?view=btc ****
Xem block nào vừa được phát hành, transaction nào vừa được tạo ra.
Bitcoin dựa trên công nghệ Blockchain (1 chuỗi các khối)
- Hash: Mỗi block sẽ có 1 hash. Và block sau sẽ ghi lại hash của block trước nó. (Muốn sửa được 1 giao dịch thì cần sửa được ở tất cả các block phía sau → Rất tốn tài nguyên máy tính mới sửa được)
- Proof-of-work: Cơ chế đồng thuận 51%. Nếu chỉ có Hash, thì 1 siêu máy tính vẫn có thể làm được, nhưng với cái proof-of-work thì nó yêu cầu 1 tài nguyên khổng lồ, phải chiếm được 51% cả mang lưới.
Muốn biết việc nắm giữ 1 coin có hợp lý hay không, mình vẫn phải quay lại bài toán “Có giá trị” hay không. Giá trị về mặt công nghệ 🤔
Chỉ có khoảng 21 triệu bitcoin
- Do Satoshi thiết lập.
- Ban đầu mỗi block được đào lên thì sẽ được thưởng 50 bitcoin.
- Số lượng phần thưởng cho mỗi block sẽ giảm 1 nửa qua mỗi 210k block.
- Cứ khoảng 10 phút thì 1 block sẽ được tạo ra. ⇒ Khoảng 4 năm thì số phần thưởng lại giảm đi 1 nửa.
- Đơn vị nhỏ nhất của 1 bitcoin là 1 satoshi = 0,00000001 BTC.
Có 1 giả thuyết về việc: Thời điểm tạo ra Bitcoin, số tiền vật lý lưu hành trên thị trường rơi vào khoảng 2100 nghìn tỉ. = 2100 nghìn tỷ đơn vị BTC (satoshi)
Càng về sau ⇒ BTC càng khó để ⇒ Giá trị càng cao lên.
How does bitcoin have value?
Essentially the same way a traditional currency does – because it’s proven itself to be a viable and convenient way to store value, which means it can easily be traded for goods, services, or other assets. It’s scarce, secure, portable (compared to, say, gold), and easily divisible, allowing transactions of all sizes.
Mining Bitcoin
Mining
-
Việc mining BTC thực chất là đoán random 1 chuỗi. Ví dụ: 00000000000000000006c9f1194ce7ff75c5f265d5520878e9e9392c3c8ff203
-
Máy càng mạnh thì càng thực hiện được nhiều phép thử, đoán / giây ⇒ Khả năng đúng cao hơn.
-
Càng có nhiều miner join vào network thì bài toán generate ra càng khó.
-
Thời gian trung bình để mining là 10 phút. Có những giao dịch chỉ có 1 vài phút, có những giao dịch mất tới cả hàng giờ để xác nhận.
-
Khi một miner đoán đúng, được network công nhận ⇒ Họ sẽ nhận được Block reward + transaction fees ⇒ Gộp vào block, insert vào blockchain
Drawback
- Tốn điện
- Phần thưởng ngày càng giảm đi.
- Phải join vào các pool ⇒ Tiền cũng giảm đi
- Xác suất nhận được phần thưởng nhỏ (do trang bị không thắng được những thằng khác)
Tuy nhiên, chính việc “tiêu tốn nhiều resources” này là cách để Bitcoin phòng chống được Sybil Attack (giả danh nhiều nodes và tự vote kết quả cho mình). Khiến khó để có thể pha ke, tạo ra nhiều nodes giả được.
Notes
Do tốn quá nhiều cost cho việc confirm Bitcoin transactions, khó để giả mạo, nên Satoshi đã gọi phương pháp để confirm transactions này là proof of work.
Nếu bạn đoán đúng ra hash cho 1 block, điều đó chứng tỏ bạn đã phải bỏ ra rất nhiều công sức.
Tất cả các Bitcoin đều được sinh ra từ việc mining này.
Bitcoin được viết trên blockchain của chính nó, dựa trên turing incomplete language ⇒ chỉ là hệ thống ai chuyển tiền cho ai thôi. Để giải quyết những vấn đề khác (vote, hợp đồng mua bán, …) thì cần phải có 1 cái gì đó phức tạp hơn.
Để mà decentrailized được thì cần rất nhiều máy tính cùng join vào network đó. Mà network duy nhất lúc đó chỉ có Bitcoin thôi. mà nó lại có nhiều hạn chế.
⇒ The Ethereum Network ra đời.
nó là 1 platform để buil Dapp - Decentralized applications.
và đồng Eth kia chỉ dùng để khuyến khích làm phần thưởng cho những máy tham gia vào mạng Ethereum Network.
Sứ mệnh của ETH là decentrailized internet. Không còn phụ thuộc vào bên thứ 3 nữa.
Ví dụ: Hành khách tìm tài xế mà không cần Grab hay Uber, Store files mà k cần Dropbox, ..
ETH muốn connect tất cả các máy tính vào làm 1 thành super computer.
Smart contracts thực ra là 1 app được deploy lên Etherium Network. Ifs and Thens.
1 khi đã được deploy lên thì nó không thể nào sửa được. Ví dụ thuê nhà: Cứ đúng hạn là nó lấy tiền → Cửa mở. Nếu sai hạn thì nó khóa luôn, không mở lại, không sửa được gì nữa.
Code is Law
Do ETH không thay đổi được hợp đồng, nên The DAO ra đời. - Decentralized Autonomous Organization.
Để deploy Dapp lên Ether network, author của app đó phải trả tiền. Payment này được tính bằng Ether.
Như thế để tránh việc Ether network phải lãng phí tài nguyên vào unnecessary tasks.