LapTrinhBlockchain

Chia sẻ kiến thức về Lập Trình Blockchain

Khóa học hữu ích, Kiến thức Blockchain, Nâng cao Kiến thức

Vietnam Blockchain Innovation- VBI: Tổng hợp các Webinar blockchain cơ bản cho DEV

Vietnam Blockchain Innovation

Vietnam Blockchain Innovation

Chia sẻ bài viết
5
(38)

Trong thời gian gần đây, thuật ngữ Blockchain không còn xa lạ gì với dân DEV nhưng không nhiều Developer có kiến thức chuyên sâu về nó. Hiện tại có group Vietnam Blockchain Innovation chuyên thảo luận vấn đề kỹ thuật và lập trình trong Blockchain. Bài viết này mình tổng hợp các webinar cung cấp kiến thức cơ bản cho dân DEV.

Mục lục

Webinar #1 và #2

Hai buổi Webinar hiện không có Video xem lại. Mong bạn thông cảm

Webinar #3: Các thuật toán đồng thuận Consensus trong Blockchain

Các thuật toán đồng thuận Consensus trong Blockchain và trao đổi thảo luận – Vietnam Blockchain Innovation

Trong video trên, chị TRẦN THỊ HỒNG chia sẻ kiến thức khá hữu ích về Blockchain:

  • Blockchain có 3 đặc tính:
    • Decentralized (Phi tập trung)
    • Immutable (Bất biến)
    • Transparent (Minh bạch)
  • Mục đích các kỹ thuật trong Blockchain:
    • Identification: Xác định bạn là ai
    • Authentication: Kiểm tra tính xác định xem bạn có đúng như người bạn tuyên bố
    • Authorization: Cho phép bạn được sử dụng các quyền liên quan.
  • Các kỹ thuật sử dụng trong Blockchain:
    • Asymmetric Cryptography: Mã hóa bất đối xứng
    • Crypto Hash function: Hàm băm
    • Blockchain consensus: Thuật toán đồng thuận
  • Các thuật toán đồng thuận:
    • Proof of work (PoW): Bằng chứng công việc
    • Proof of stake (PoS): Bằng chứng cổ phần
    • Delegated Proof Of Stake (DPoS): Bằng chứng cổ phần được ủy quyền
    • Hybrid Consensus (GRANDPA + BABE): Sử dụng trong Polkadot.

Ngoài ra chúng ta thấy được Blockchain đang có nhiều dự án được ứng dụng trong thực tế:

  • Thầy Tuấn chia sẻ:
    • BLOCKCHAIN LABS bên Học viện BCVT có 2 dự án về Blockchain đã và đang đưa vào chạy thực tế:
      • Hệ thống quản lý văn bằng của Học viện BCVT và Hệ thống truy vết nguồn gốc.
      • Các hệ thống này sử dụng Hyperledger chứ không phải public blockchain.
    • Lý do các dự án không sử dụng các public blockchain:
      • Tốc độ xử lý giao dịch của các public blockchain còn chậm, chỉ khoảng 20 giao dịch/giây
      • Dự án yêu cầu không phải mọi thông tin đều public, vì nó liên quan tới Privacy. Thông tin cần minh bạch với đối tượng cần minh bạch nhưng phải privacy với đối tượng khác.
      • Phí giao dịch trên các public blockchain còn khá cao.
    • Hiện nay xu hướng số hóa đang ngày càng được đẩy mạnh, mọi thông tin kể cả thông tin của mỗi người đều được số hóa => Nếu bình dữ liệu hệ thống có vấn đề chúng ta còn có các giấy tờ, sổ sách bản sao để kiểm tra khôi phục => Nhưng khi tất cả đều được số hóa thì vấn đề độ tin cậy của dữ liệu đặt lên hàng đầu => Bạn trong xã hội mỗi cá nhân được định dang bằng 1 bản ghi trong hệ thống, nếu ai đó cố tình xóa bản ghi của 1 người thì người đó coi như sẽ không tồn tại trong xã hội và không làm sao để có thể khôi phục lại => Blockchain giúp giải quyết vấn đề này rất tốt.
  • Chị Hồng chia sẻ:
    • Đang tham với nhóm Mobi bên Mỹ => Họ đang làm việc để tạo ra chuẩn Blockchain cho xe tự hành. Có nhiều công ty lớn tham gia như General Motor, Honda,…
    • Boeing hợp tác với trường đại học ở Mỹ để giải quyết bài toán quản lý hệ thống các vật thể bay tự lái trong quân sự bằng cách ứng dụng Blockchain => Nếu các hệ thống bay tự lái này được quản lý tập trung, không may hệ thống tập trung bị hack thì rất nguy hiểm => Họ muốn nghiên cứu các cơ chế đồng thuận và ứng dụng blockchain để sử dụng cho các vật thể bay tự động này => Khi thiết kế ban đầu nó được cài đặt sẵn thuật toán theo nhà thiết kế, khi đã vận hành thì không ai có thể thay đổi hay can thiệp vào được nữa.

Webinar #4: Cơ Chế Hoạt Động Của Mạng Lưới Bitcoin và Bitcoin Taproot Upgrade

Cơ Chế Hoạt Động Của Mạng Lưới Bitcoin và Bitcoin Taproot Upgrade – Vietnam Blockchain Innovation

Cơ chế hoạt động của Bitcoin: Bạn nên tham khảo cuốn sách:

Bitcoin Taproot:

  • Cách tính phí trong giao dịch Bitcoin: Không tính theo số tiền giao dịch mà tính theo độ lớn theo dung lượng dữ liệu của giao dịch => Tránh spam giao dịch
  • Taproot giúp giảm cấu hình Fullnode qua đó
    • Schnorr signature: Nhanh hơn, nhỏ hơn, an toàn hơn và làm được nhiều thứ hơn.
    • MAST (Merkelized Abstract Syntax Tree) script

Câu hỏi thảo luận:

  • Tấn công 51%:
    • Nếu 1 trùm miner (Hoặc 1 pool nào đó) có trên 50% hashrate => Xác xuất đào thành công cao hơn vì thuật toán đào là random, chứ ko phải là miner này luôn đào được
    • Nếu 1 miner chi phối 51% hashrate thì họ (Tham khảo: Hình thức tấn công 51% là gì?):
      • Có thể:
        • Thực hiện gian lận cơ chế double-spending
        • Từ chối giao dịch.
      • Hầu như không thể:
        • Thay đổi phần thưởng block
        • Đánh cắp tiền từ ví người khác.
    • Cần phân biệt 51% hashrate và 51% node
  • Cơ chế check tài khoản trên mạng Bitcoin:
    • Trong Bitcoin không có khái niệm tài khoản mà nó dựa trên các giao dịch, gọi là transaction base.
    • Trong Bitcoin có khái niệm là Unspent Transaction Output (UTXO) => Giao dịch chưa được sử dụng. Mỗi UTXO nó tương đương như 1 đồng tiền với mệnh giá tương ứng, mỗi 1 giao dịch chuyển đi, nó phải tương ứng với 1 hoặc nhiều UTXO nào đó. Khi bạn chuyển 10 BTC đi, nó sẽ dùng input là giao dịch UTXO 15 BTC và nó tạo ra một giao dịch thối lại 5 BTC. Sau đó thì giao dịch 15 BTC cũ sẽ trở thành giao dịch đã sử dụng, và giao dịch thối lại 5 BTC sẽ trở thành UTXO.
  • Tiền thưởng ở đâu ra và ai thưởng:
    • Người đào sẽ tự thưởng => Miner tự tạo giao dịch thưởng cho mình => Khi quá trình đào thành công thì tự động được thưởng.
    • Trong Bitcoin, mỗi node sẽ chứa 8 node khác. Khi miner đào thành công thì miner sẽ gửi cho 8 node trong danh sách. 8 node này kiểm tra nếu hợp lệ thì sẽ chuyển tiếp, nếu không thì sẽ không chuyển.
  • Sau này khi đào hết 21 triệu Bitcoin, không còn thưởng nữa, chỉ còn phí giao dịch quá ít, lúc đó các miner họ không muốn làm nữa thì điều gì sẽ xảy ra:
    • Đến 2140 thì không còn thưởng khi đào block nữa, lúc đó chỉ còn phí giao dịch. Có cách giải quyết nào để tăng lợi ích cho miner, giữ họ ở lại. Có 2 cách giải quyết để tăng tiền phí lên:
      • Sử dụng sidechain
      • Tăng số lượng giao dịch trên 1 block lên. Ví dụ hiện tại 1M thì có thể tăng lên 4M.
    • Khi miner cảm thấy không có lãi thì thợ đào không đào nữa, số lượng người đào rút => Độ khó sẽ giảm => Sẽ đến 1 điểm mà người ta thấy đào có lãi thì họ lại tham gia => Hệ thống vẫn hoạt động như vậy nhiều năm nay => Hệ thống cân bằng tự điều chỉnh
  • Chúng ta có cần thiết xây dựng hệ thống blockchain thân thiện với chính phủ hơn:
    • Hiện tại có dự án khá lớn đang tập trung vào mảng này từ trường đại học tại zurich.
  • Các nước khác không biết thế nào nhưng quan điểm của Mỹ là không cấm. A Thạnh đã được trao đổi với giáo sư Daniel, giám đốc công nghệ nhà trắng năm 2018 => Trên quan điểm những người lập pháp, hành pháp không cấm, đại ý câu nói: Blockchain có rất nhiều tính đổi mới đột phá và rất tiềm năng, nên nhà nước vẫn để cho công nghệ tự do phát triển. Thay vì nhà nước họ phải bỏ ra số tiền rất lớn để phát triển công nghệ, thì họ chỉ cần không can thiệp, thả nổi 1 thời gian, dòng tiền vào công nghệ tự động phát triển mạnh. Nhà nước được hưởng lợi từ công nghệ mà không mất chi phí.

Webinar #5: Phân Tích Đồng Thuận Proof of Stake (trên Cardano) Và Tính An Toàn

Phân Tích Đồng Thuận Proof of Stake (trên Cardano) Và Tính An Toàn – Vietnam Blockchain Innovation

Bitcoin sử dụng cơ chế đồng thuận Proof-of-Work, cơ chế rất khó để tìm ra đáp án nhưng rất dễ để kiểm chứng.

Bitcoin Blockchain Consensus Protocol - Vietnam Blockchain Innovation
Bitcoin Blockchain Consensus Protocol – Vietnam Blockchain Innovation

Cardano sử dụng cơ chế đồng thuận Proof-of-Stake Puzzle:

Cơ chế đồng thuận Proof-of-Stake Puzzle  - Vietnam Blockchain Innovation
Cơ chế đồng thuận Proof-of-Stake Puzzle – Vietnam Blockchain Innovation
Cơ chế đồng thuận Proof-of-Stake Puzzle - Vietnam Blockchain Innovation
Cơ chế đồng thuận Proof-of-Stake Puzzle – Vietnam Blockchain Innovation
Randomness
Randomness

Trong các hệ thống PoS sẽ có thêm khái niệm Epoch:

  • Cardano: Một Epoch của Cardano chứa 432000 slots ~ 5 ngày.
  • Solana: Mỗi Epoch chứa 432000 slot, mỗi slot khoảng 400ms ~ 2 ngày
  • Near: Mỗi Epoch ~ 12 giờ

Đối với PoS có các kiểu tấn công sau và Cardano đã đưa ra các giải pháp tương ứng:

  • Nothing-at-Stake
  • Long-range Attack
    • Posterior corruption
    • Stake-bleeding attack

Webinar #6: Cập Nhật Quá Trình Nâng Cấp Ethereum 2.0

Cập Nhật Quá Trình Nâng Cấp Ethereum 2.0 – Vietnam Blockchain Innovation

Merkle Tree là cấu trúc dữ liệu cơ bản trong Blockchain. Top Hash được gọi là Merkle Root.

Merkle Tree  - Vietnam Blockchain Innovation
Merkle Tree – Vietnam Blockchain Innovation
Merkle Proof  - Vietnam Blockchain Innovation
Merkle Proof – Vietnam Blockchain Innovation

ETH ban đầu sử dụng thuật toán Proof Of Work, các miner sẽ giải bài toán đó là tìm giá trị Nonce để giá trị hash phải nhỏ hơn con số Target. Miner nào tìm ra sẽ broadcast cho các node còn lại và đồng thời gửi bằng chứng cho các node còn lại. Độ khó Difficulty được cập nhật 2 tuần/1 lần.

Vấn đề của POW:

  • Tắc nghẽn mạng
  • Tốn quá nhiều không gian ổ cứng
  • Tốn quá nhiều năng lượng
  • No finality (Ko có điểm kết thúc)
  • Tập trung hóa bởi các mining farm

Nhu cầu đưa ra 1 thuật toán tốt hơn => Đó là Proof of Stake:

  • Stake/Deposit để trở thành một Validator
  • Validator được chọn ngẫu nhiên để tạo block
  • Validator không cần sử dụng lượng sức mạnh tính toán đáng kể vì tính ngẫu nhiên và không cạnh tranh
  • Khối được đề xuất thay vì khai thác
  • Quá trình xác thực một khối được gọi là Chứng thực

Proof of Stake có ưu điểm:

  • Khả năng mở rộng
    • Eth2: TBD in Sharding
  • Bảo mật:
    • Tránh tấn công 51%
    • Quá tốn chi phí để tấn công
    • Các Validator được gán ngẫu nhiên
  • Periodic finality => Finality checkpoint
  • Sự bền vững:
    • Tốn ít năng lượng hơn đáng kể để đề xuất một khối, thay vì khai thác một khối
    • Không cạnh tranh
    • Eth2: Chỉ cần phải đồng bộ hóa với dữ liệu 5 tháng để trở coi như đồng bộ hoàn toàn
  • Phi tập trung hơn:
    • Không còn trang trại khai thác nữa
    • Chúng tôi có thể thiết lập trình xác thực của mình hoặc ủy quyền (Tezos, Cardano)

Như vậy ETH 2.0:

  • Có thể mở rộng hơn
  • An toàn hơn
  • Bền vững hơn
  • Phi tập trung hơn
  • Block explorer: https://beaconcha.in
Validator and Beacon Node - Vietnam Blockchain Innovation
Validator and Beacon Node – Vietnam Blockchain Innovation
How to transfer ETH happend between Ethereum 1.0 and 2.0 Vietnam Blockchain Innovation
How to transfer ETH happend between Ethereum 1.0 and 2.0 – Vietnam Blockchain Innovation
Main Chain - Beacon Chain - Shard Chains Vietnam Blockchain Innovation
Main Chain – Beacon Chain – Shard Chains – Vietnam Blockchain Innovation

Với PoW thì không biết sau bao lâu thì bài toán được giải nên thời gian 10 phút/1 block chỉ là ước lượng => Với PoS thì sẽ tạo ra ra block block đúng ở các thời điểm gọi là Slot và 1 Epoch = 32 slot

Slot and Epoch Vietnam Blockchain Innovation
Slot and Epoch – Vietnam Blockchain Innovation

Checkpoint:

  • Checkpoint chứa block root của slot đầu tiên của epoch và 1 epoch
  • Nếu slot bị bỏ qua (skipped slot), root sẽ là của khối trước đó gần đây nhất. Skipped slot xảy ra khi 1 validator được chỉ định tạo ra block nhưng validator đó lại tắt mắt => Slot này sẽ gọi là Skipped slot.
  • Có 1 Checkpoint trên mỗi Epoch
  • Có hai loại checkpoint:
    • Justified Checkpoint: Một checkpoint với đủ số phiếu bầu có thể là ứng cử viên của Finalized Checkpoint. Checkpoint đủ 2/3 số vote thì nó sẽ là Justified Checkpoint. Trong mỗi Epoch có 32 slot, tức sẽ có 32 validator sử dụng để tạo block, các validator còn lại sẽ đóng vai trò là Attester, sẽ làm vụ chứng thực block và checkpoint.
    • Finalized Checkpoint: Từ điểm checkpoint này, chuỗi không bao giờ thay đổi
Checkpoint Vietnam Blockchain Innovation
Checkpoint – Vietnam Blockchain Innovation

Các thuật ngữ sử dụng:

  • Slot
  • Epoch
  • Root => Merkle Root
  • Checkpoint (Root + Epoch)
  • BeaconBlock
  • BeconBlockBody
  • BeaconState
  • Validator
  • Validator Balance
  • Attestation: Attester làm nhiệm vụ chứng thực BLock và checkpoint. Để làm được như vậy nó tạo Attestation và broadcast.
  • BeaconCommittee
  • Forkchoice
  • FFG

Một số thư viện sử dụng:

  • SSZ: Thư viện để convert object thành mảng byte và ngược lại. Quá trình convert này rất quan trọng để transfer dữ liệu qua mạng và để hỗ trợ nhiều ngôn ngữ khác nhau:
  • BLS: Thư viện để sign và verify
    • def Sign(privkey: int, message: Bytes) -> BLSSignature
    • def Verify(pubkey: BLSPubkey, message: Bytes, signature: BLSSignature_ -> bool
    • def Aggregate(signatures: Sequence[BLSSignature] -> BLSSignature
    • def FastAggregate(pubkeys: Sequence[BLSPubkey], message: Bytes, signature: BLSSignature) -> bool

Deposit Contract:

Validator: Khá nhẹ, một Client có thể chạy cho nhiều Validator, có thể hàng nghìn Validator

  • Economics
  • Lifecycle
  • Randomness
  • Proposer
    • Block factory
  • Attester – vote
    • Attestation data factory
  • Rest APIs

VBI Webinar #06-1: Debate Tranh Luận về Cơ Chế Đồng Thuận Proof of Work và Proof of Stack

VBI Webinar #06: Debate Tranh Luận về Cơ Chế Đồng Thuận Proof of Work và Proof of Stack

Webinar #7: Hướng dẫn phát triển một Hello World dApp trên Blockchain

Hướng dẫn phát triển một Hello World dApp trên Blockchain
  1. Khái niệm về dApp
  2. So sánh dApp và web app
  3. Setup environment
  4. Create a smart contract
  5. Deploy a smart contract
  6. Build a Web UI to access Smart contract
  7. Run the dApp

Source: https://github.com/hoangnhxda/Dapp_Hello_World

Webinar #8: Chia sẻ kinh nghiệm lập trình Blockchain và cách đạt chứng chỉ certified blockchain developer

Chia sẻ kinh nghiệm lập trình Blockchain và cách đạt chứng chỉ certified blockchain developer

Thông tin thêm:

Webinar #9: Khóa học lập trình miễn phí cùng thầy Khoa Phạm – Buổi 1

Khóa học lập trình miễn phí cùng thầy Khoa Phạm – Buổi 1
Tóm tắt nội dung Khóa học lập trình miễn phí cùng thầy Khoa Phạm – Buổi 1

Tóm tắt:

  • Cài đặt MetaMask và tạo Account.
  • Biết cách sử dụng trang Remix – Ethereum IDE
  • Gas Limit được tính thông qua các lệnh trên Contract bạn viết. Số lệnh càng nhiều thì Gas Limit càng cao. Gas Limit tối thiểu cho 1 transaction bất kỳ là 21000. Thông tin phí từng lệnh xem Ethereum Yellow Paper, phụ thuộc Appendix G. Fee Schedule.

Webinar #10: Khóa học lập trình miễn phí cùng thầy Khoa Phạm – Buổi 2

Webinar #9: Khóa học lập trình miễn phí cùng thầy Khoa Phạm – Buổi 2

VBI Webinar #11: Lập trình blockchain và smart contract cùng Thầy Khoa Phạm – Buổi 3

VBI Webinar #11: Lập trình blockchain và smart contract cùng Thầy Khoa Phạm – Buổi 3

Khoa Phạm Online: https://www.facebook.com/groups/khoaphamonline

Webinar #12: Đường Cong Elliptic và Cơ Sở Toán Học Của Công Nghệ Blockchain và Crypto

Webinar #12: Đường Cong Elliptic và Cơ Sở Toán Học Của Công Nghệ Blockchain và Crypto

Tài liệu tham khảo:

VBI Webinar #13: Masternode – an add-on consensus method

VBI Webinar #13: Masternode – an add-on consensus method

Webinar 14: Giải pháp Blockchain cho doanh nghiệp

Webinar 14: Giải pháp Blockchain cho doanh nghiệp
  • Public vs. Consortium Blockchain:
    • Scalibility
    • Performance
    • Security
    • Privacy
      • Nếu dùng Public Blockchain thì bắt buộc phải mã hóa.
      • Các Enterprise Blockchain họ thiết kế các Kênh (Channel) riêng, chỉ những người trong channel đó mới được chia sẻ dữ liệu.
    • C2C, P2P, B2C, B2B
  • Hyperledger Fabric: Có thể sử dụng nhiều ngôn ngữ khác nhau để viết Chaincode.
  • Lợi ích mà blockchain mang lại cho doanh nghiệp:
    • Tăng độ tin tưởng
    • Dữ liệu phi tập trung, không sợ điểm chết.
    • Cải thiện được bảo mật và tính riêng tư
    • Giảm thiểu chi phí: Chúng ta có 42 ngân hàng, khi sử dụng blockchain thì chúng ta đỡ khoản đối soát giữa 1 ngân hàng với 41 ngân hàng khác.
    • Tốc độ: Dữ liệu realtime được cập nhật liên tục thay vì phải đồng bộ sau các khoảng thời gian.
    • Có thể theo dõi được
    • Có thể token hóa
  • Ứng dụng blockchain trong thực tế:
    • Hiện tại đã có 12% ứng dụng thực tế
    • 17% đang thử nghiệm
    • 8% tạo dự án thử nghiệm
    • 26% đang trao đổi
    • 34% chưa có sự tìm hiểu về Blockchain
  • Một số ứng dụng:
    • Viết ứng dụng thông quan giữa hải quan, ngân hàng,… Thông quan ở VN mất rất nhiều thời gian từ 1 đến 2 tuần
    • Ứng dụng truy suất nguồn gốc
    • Ứng dụng IoT => Đưa thông tin cảm biến, nhiệt độ lên Blockchain
    • Hệ thống tra cứu văn bằng chứng chỉ
    • Nền tảng thiện nguyện trên blockchain
Hyperledger Fabric infrastructure components
Hyperledger Fabric infrastructure components
Ứng dụng thông quan sử dụng Blockchain
Ứng dụng thông quan sử dụng Blockchain
Một số use case ứng dụng blockchain
Một số use case ứng dụng blockchain
Một số ứng dụng blockchain điển hình trong thực tế
Một số ứng dụng blockchain điển hình trong thực tế

VBI Webinar #15: Tổng Quan Cơ Chế Hoạt Động Của Solana Blockchain

VBI Webinar #15: Tổng Quan Cơ Chế Hoạt Động Của Solana Blockchain

Kiến trúc tổng quan của Solana gồm nhiều Layers:

  • Setup Layer:
    • Turbine: Truyền tải giữa các Validator
    • Gulf Stream: Truyền tải transaction từ Client đến Validator vàLeader
    • Crypto Building Blocks
    • PoH
    • Archivers: Đang phát triển để lưu trữ nén dữ liệu để giải quyết vấn đề khi dữ liệu quá lớn.
  • Consensus Layer:
    • Tower BFT: Một version của PoS. Yêu cầu 2/3 số Validator là đang work.
  • Runtime Layer: Hỗ trợ tính toán song song.
    • Cloudbreak
    • Pipelining
    • Sealevel
  • Application Smart Contract Layer
    • Wallets
    • Solana Programs
Solana Reference Architecture
Solana Reference Architecture

Solana Consensus: Leader Schedule Generation Algorithim => Với thuật toán này biết trước được ai sẽ là Leader.

  • Leader schedule is generated using a predefined seed. The process is as follows:
  • Periodically use the PoH tick entry height (a monotonically increasing counter) to seed a stable pseudo-random algorithm.
  • At that height, sample the bank for all the staked accounts with leader identifies that have voted within a cluster-configured number of ticks. The sample is called the active set.
  • Sort the active set by stake weight
  • Use the random seed to select nodes weighted by stake to create a stake-weighted ordering.
  • This ordering becomes valid after a cluster-configured number of ticks.

Solana Gulf Stream:

  • Với Bitcoin, vì không biết node nào là node tạo block tiếp theo nên phải gửi toàn bộ transaction tới tất cả các node, thông lượng tăng, thời gian sẽ lâu.
  • Với Solana, vì biết trước được leader nên thông qua Gossip Network, các transaction được gửi đến ngay Leader (Có thể đi qua một vài node) => Lý do mà Solana có tốc độ cao.

Solana transaction processing unit (Tpu) (Pipelining): Leader sẽ thực hiện theo luồng như ảnh dưới để tạo block mới.

Solana Tpu (Pipelining)
Solana Tpu (Pipelining)
Solana PoH
Solana PoH
Solana Sealevel
Solana Sealevel

Solana Turbine (Gossip):

  • Next, transactions are broken into batchs so that a node can send transactions to multiple parties without making multiple copies.
  • For examples, the leader needed to send 60 transsactions to 6 nodes would break that collection of 60 into batches of 10 transactions and send one to each node. This allows the leader to put 60 transaction on the wire, not 60 transactions for each node. Each node then shares its batch with its peers. Once the node has collected all 6 batches, it reconstructs the original set of 60 transactions.
Solana Turbine (Gossip)
Solana Turbine (Gossip)
(Neighbor stake nhiều thì gần nhau => Tăng performance)
Solana Tvu
Solana Tvu
Solana Tvu
Solana Transaction Flow
Solana Transaction Flow
Solana TowerBFT (Voting)
Solana TowerBFT (Voting)

Solana improve mọi chỗ để tăng hiệu năng, thậm chí họ đánh đổi tính Decentralized
=> Để làm Validator có nhiều yêu cầu nghiêm ngặt.

Webinar #16: Kiến Trúc & Smart Contract Program Trên Solana Blockchain

Webinar #16: Kiến Trúc & Smart Contract Program Trên Solana Blockchain
  • Về sự cố gần đây liên quan tới Solana:
  • Native Programs:
    • System Program:
      • Tạo tài khoản mới, cấp phát dữ liệu, gán tài khoản cho các program, chuyển tiền, thu phí
      • Program Id: 11111111111111111111111111111111
      • Instructions: SystemInstruction
    • Stake Program:
      • Tạo và quản lý tài khoản cho việc Stake và nhận Reward.
      • Program ID: Stake11111111111111111111111111111111111111
      • Instructions: StakeInstruction
    • Vote Program:
      • Tạo và quản lý tài khoản liên quan tới Vote
      • Program ID: Vote111111111111111111111111111111111111111
      • Instructions: VoteInstruction
  • Một transaction sẽ bao gồm nhiều Instruction.
  • Gọi giữa các Program:
    • Trình thực thi Solana cho phép cácProgram gọi đến các Program khác thông qua 1 cơ chế gọi là cross-program-invocation.
    • Ví dụ: Token-swap Program => Để đổi từ token A sang token B
Program Flow
Program Flow
Calling a program
Calling a program
Token swap program
Token swap program

Webinar #17: Một Số Ứng Dụng Blockchain Thử Nghiệm Thực Tế Trên IoT

Webinar #17: Một Số Ứng Dụng Blockchain Thử Nghiệm Thực Tế Trên IoT

Công nghệ 5G có nhiều ưu điểm giúp phát triển IoT, bởi vì nó có nhiều cải tiến về tốc độ, độ trễ, băng thông và bảo mật.

Về việc ứng dụng Blockchain vào IoT khá khó, nó liên quan tới độ trễ, lưu trữ.

So sánh các Blockchain
So sánh các Blockchain

Tại sao phải ứng dụng Blockchain vào IoT:

  • Ứng dụng Blockchain vào thanh toán: Muốn thanh toán khoản tiền nhỏ và trong thời gian ngắn => Công nghệ truyền thống không thể làm được.
  • Smart Contract giúp cung cấp một nền tảng Automatic cho cả Customer và Admin => Không cần phải đăng ký giấy tờ truyền thống với cty chủ quản.
  • Blockchain giúp việc trao đổi thông tin và bảo mật.

Các use case ứng dụng thực tế Blockchain trong IoT:

* Emission Trading (Giao dịch khí thải):

Liên minh Châu Âu đưa ra hiệp định về khí thải, giả dụ như mỗi năm bạn chỉ được phép đẩy ra môi trường 100 tấn khí thải CO2, nếu bạn đẩy ra quá thì bạn phải mua thêm từ chính phủ hoặc từ công ty khác.

Hệ thống Emission Trading có tổng cộng 4 phase:

  • 2005-2007: Test
  • 2008-2012: Triển khai lần 1
  • 2013-2020: Triển khai lần 2
  • 2021-2030: Phase cuối

Mở rộng hệ thống mua bán khí thải giữa các phương tiện giao thông như ô tô, xây dựng hệ thống áp dụng cho đa ngành, đa nghề => Sử dụng blockchain

Theo thống kê, khí thải sinh ra nhiều nhất lúc khởi động, ít nhất khi xe đi đều đều, và tăng cao khi tăng tốc => Khuyến khích tài xế lái xe đều ở tốc độ từ 30-70 mph.

Emission Trading using Blockchain
Emission Trading using Blockchain

* Ứng dụng Blockchain trong Manufactoring (Chế tạo)

Hệ thống Mindsphere
Hệ thống Mindsphere

Blockchain ứng dụng trong hệ thống chia sẻ các thiết bị sử dụng => Thời gian không sử dụng thiết bị muốn cho thuê để tối ưu.

Hệ thống chia sẻ các thiết bị sử dụng
Hệ thống chia sẻ các thiết bị sử dụng
Mô hình vật lý hệ thống
Mô hình vật lý hệ thống

* Trusted Monitoring (Hệ thống giám sát độ tin cậy cao):

Hệ thống Trusted Monitoring
Hệ thống Trusted Monitoring
Trusted Monitoring - System Design
Trusted Monitoring – System Design

Webinar 18: Hierarchical Deterministic Wallet – Mô Hình Ví Phân Tầng Xác Định

Webinar 18: Hierarchical Deterministic Wallet – Mô Hình Ví Phân Tầng Xác Định

BIP-0032 là chuẩn về Hierarchical Deterministic Wallets, giúp sinh ra chuỗi kí tự gọi là “mnemonic” => Từ chuối này giúp tạo ra seed 512 bit.

  • Hầu hết các nhà cung cấp HD Wallet đều cài đặt theo chuẩn BIP-32, BIP-39 và BIP-44.
  • Về BIP-32 bạn có thể test trên trang: https://iancoleman.io/bip39/
  • Bitcoin sử dụng secp256k1 curve

xxxxxxxxxxxxxxxxxx

xxxxxxxx

Webinar #20: Cơ Sở Dữ Liệu Phi Tập Trung Cho Smart Contract Trên Blockchain

Webinar #20: Cơ Sở Dữ Liệu Phi Tập Trung Cho Smart Contract Trên Blockchain

Blockchain – Mô hình tính toán thế hệ mới:

  • Không có máy chủ
  • Các nút tự động tìm nhau và kết nối
  • Ngang hàng cùng tuân thủ Protocol
  • Các giao dịch được bảo vệ bằng chữ KÝ SỐ và các trang sổ có mã băm lồng nhau.
  • Dữ liệu chỉ THÊM vào
  • Không thể đảo ngược giao dịch

Các thành phần Blockchain:

  • Người dùng
  • Block (Khối)
  • Giao dịch
  • Mạng
  • Sổ cái
  • Quá trình đồng thuận
  • Cơ chế ký và băm
  • Phần mềm (Ví, đào,…)

Công nghệ Blockchain:

  • Tốc độ lan truyền giao dịch nhanh:
    • Luôn sẵn sàng
    • Không thể đảo ngược
    • Không thể chối bỏ
    • Dễ truy cập
    • Dễ kết nối
    • Bền vững
  • Dữ liệu móc xích với nhau
  • Xử lý đồng thuận
  • Mật mã bảo vệ
  • Công nghệ của tương lai:
    • Ứng dụng mạnh cho các bài toán liên thông da ngành.
    • Ứng dụng mạnh cho lưu trữ và tính toán phân tán
    • Sức mạnh của mạng liên kết các nút tính toán

Nhưng bài toán phù hợp với blockchain:

  • Phù hợp cho các bài toán sau:
    • Cần cập nhật thông tin nhanh trên diện rộng
    • Cần đảm bảo độ tin cậy tối đa
    • Cần lưu trữ dữ liệu lâu dài
    • Cần luôn dùng được
    • Cần liên thông rộng, đa ngành
    • Cần truy cập không qua cấp phép, thiết lập phức tạp.
    • Cần huy động sức mạnh của cộng đồng
  • Đặc tính blockchain: Sở dĩ phù hợp với bài toán ở trên là do những đặc tính sau của Blockchain:
    • Thông tin lan nhanh
    • Tin cậy
    • Bền vững
    • Sẵn sàng
    • Xuyên biên giới
    • Dễ truy cập
    • Cộng đồng
  • Các ứng dụng không thể tự tiện nghi dữ liệu mà chỉ được ghi dữ liệu khi đã được Blockchain confirm.

Cách tạo tài khoản người dùng: Mỗi người dùng là một Wallet, được tạo như sau:

  • Chọn ngẫu hiên 256 bit làm khóa bí mật
  • Biến đổi mật mã theo secp256k1 tính ra khóa công khai.
  • Đưa khóa công khai vào hàm băm Keccak256
  • Lấy 160 bit thấp và chuyển thành địa chỉ tài khoản.
Tạo tài khoản EOA
Tạo tài khoản EOA
Cấu trúc tài khoản
Quá trình bảo vệ giao dịch
Quá trình bảo vệ giao dịch
Quá trình tạo giao dịch trên Blockchain
Quá trình tạo giao dịch trên Blockchain
Cấu trúc móc xích các block
Cấu trúc móc xích các block
Dữ liệu được phát tán nhanh, kiếm tra nhiều lớp
Dữ liệu được phát tán nhanh, kiếm tra nhiều lớp
Quy trình đào Mining
Quy trình đào Mining

Quy trình phát tán Block:

  • Block sau khi được miner tạo ra có thể được gửi đi theo 3 cách:
    • Unsolicited block push
    • Standard block relay
    • Direct Headers Announcement
  • Mọi nút đều có quyền hình thành và gửi block lên mạng
  • Khi có 2 trạm đào cùng lúc hình thành block, ta sẽ quan sát thấy hiện tượng FORK
  • Từ một gốc sổ chính xuất hiện hai nhánh khác nhau => Như một phần của sự đồng thuận, phần mềm trạm blockchain sẽ chọn nhát dài nhất – là nhánh an toàn nhất.
  • Các block nằm trên nhánh phụ gọi là stale block.
Các hình thức tấn công trên Blockchain
Các hình thức tấn công trên Blockchain

Tại sao Blockchain an toàn:

  • Gần như không thể suy ra khóa bí mật từ khóa công khai
  • Chữ ký gắn với giao dịch được biến đổi liên tục
  • Không thể tạo chữ ký số nếu không có khóa bí mật
  • Trong chữ ký số có chứa mã băm, mọi sửa đổi dữ liệu dẫn tới chữ ký mất hiệu lực.
  • Cấu trúc móc xích các transaction và block làm cho chi phí giả mạo quá lớn và độ khó của việc làm giả quá cao.
  • Mạng lưới không có nút cổ chai
  • Các nút tự kết nối và có thể thay nhau

Giới thiệu blockchain Ethereum:

  • Ethereum blockchain lập trình được, sử dụng như World Computer, tức là một máy tính toàn cầu
  • Blockchain cho phép chứa chương trình trong transaction
  • Tích hợp máy ảo với bộ lệnh riêng tại các trạm full-node
  • Cho phép cài đặt chương trình tùy ý Smart Contract
  • Giúp thực hiện các hợp đồng / thỏa thuận tự động
Thông tin Smart Contract
Thông tin Smart Contract

Khái niệm Smart Contract:

  • Chương trình chạy trên Blockchain
  • Được thực hiện khí có giao dịch gửi tới
  • Thực hiện lặp lại trên tất cả các full-node
  • Có đối sánh kết quả
  • Đảm bảo an ninh các đoạn mã xử lý trọng yếu

Đặc điểm của Ethereum Block chain – World computer:

  • Chậm: Code chạy chậm hơn từ 5 đến 100 lần so với mã máy dịch gốc.
  • Đắt đỏ: Những phép tinihs cơ bản, bộ nhớ, lưu trữ tốn phí ở mức của những máy tính sản xuất từ những năm 1950
  • Không ra kết quả TỨC THỜI: Những hoạt động trong 60 giây gần nhất có thể bị tái tổ chức / đảo ngược.
Thỏa thuận mua bán qua Blockchain
Thỏa thuận mua bán qua Blockchain
So sánh dApp với ứng dụng truyền thống
So sánh dApp với ứng dụng truyền thống
Cấu trúc của World Computer
Cấu trúc của World Computer
Giao dịch transaction
Giao dịch transaction
GAS cost
GAS cost

Decentralized Oracle là gì?

  • Oracle là dữ liệu căn cứ hay đơn giản hơn là dữ liệu đáng tin cậy. Xem thêm về nguồn gốc của từ Oracle: The Oracle of Delphi – The Temple of Apollo
  • Decentralized Oracle là dữ liệu căn cứ được cung cấp bởi một mạng phi tập trung có xác thực và đồng thuận
  • Thường làm cầu nối giữa thế giới thực và blockchain, kết nối các dữ liệu thực tế vào blockchain.

Vai trò của sự thật không thể phủ nhận:

  • Con người hay tổ chức luôn căn cứ vào dữ liệu thực tế – một sự thật nào đó để ra các quyết định và hành động.
  • Tính xác thựckhông thể phủ nhận của sự thật (dùng làm căn cứ) có ý nghĩa sống còn trong nhiều bài toán.

Sự tin cậy của SỰ THẬT được xác nhận bởi đám đông:

  • Sự thật dưới dạng thông tin có thể được công bố bởi một cá nhân hay tổ chức.
  • Nhiều cá nhân hay tổ chức cùng công bố thống nhất một thông tin, đi kèm các cam kết xác thực thương mang lại tính TIN CẬY cao cho thông tin về SỰ THẬT.

Định nghĩa Decentralized Oracle: Là một dạng triển khai kỹ thuật để cung cấp thông tin thực tế (SỰ THẬT) kiểu phi tập trung dưới dạng một mạng lưới các nút Oracle cùng tham gia thu thập và xác nhận thông tin áp dụng các kỹ thuật phần cứng, phần mềm, mật mã, con người để đảm bảo chất lượng thông tin CHÍNH XÁCĐÁNG TIN CẬY.

Bản thân Blockchain Oracle không phải là nguồn dữ liệu mà nó chỉ là lớp để truy vấn, kiểm tra và xác thực nguồn dữ liệu từ bên ngoài và sau đó chuyển tiếp thông tin lên blockchain.

Chainlink - a decentralized oracle network
Chainlink – a decentralized oracle network

Tại sao SMART CONTRACT cần tới Decentralized Oracle?

  • Smart Contract là một chương trình đặc biệt chạy trên mạng blockchain
  • Được vận hành bởi mõi điểm nút nhưng đòi hỏi phải có sự thống nhất, đồng thuận giữa các nút trên mạng
  • Thường được thực hiện lặp đi lặp lại nhiều lần trên các môi trường khác nhau tại mỗi điểm nút.
  • Có tính độc lập cao và đòi hỏi phải nhỏ gọn (Trên Ethereum kích thước của Smart Contract tối đa là 24K) để tránh làm ngưng trệ hoạt động của toàn mạng. Trên Ethereum mỗi block đều có GAS tối đa, nên sẽ bị giới hạn số lượng transaction và tính toán (Xem thêm: Ethereum BLOCK SIZE)
  • Do cơ chế chạy đặc thù, Smart Contract thường không thể chủ động lấy dữ liệu ngoài mạng.
  • Smart Contract cần được cung cấp dữ liệu off-chain để giải quyết nhiều bài toán.
  • Decentralized Oracle là phương tiện tin cậy cung cấp dữ liệu cho Smart Contract để đảm bảo tính phi tập trung và minh bạch của blockchain.
Mô hình mẫu của một Decentralized Oracle
Mô hình mẫu của một Decentralized Oracle
Mô hình triển khai Decentralized Oracle
Mô hình triển khai Decentralized Oracle

Phân loại Decentralized Oracles: Phân loại dựa trên 1 số thuộc tính (Một oracle có thể thuộc nhiều phân loại)

  • Nguồn dữ liệu (source): Dữ liệu bắt nguồn từ phần mềm, phần cứng hay con người.
  • Chiều thông tin (direction): Đi vào hay đi ra (inbound/outbound)
  • Độ tin cậy (trust): Tập trung hay phi tập trung (centralized/decentralized)

Chainlink là oracle framework, chainlink không chọn Provider mà do node tự chọn Data Provider. Các node muốn bán được dữ liệu thì cần phải cung cấp dữ liệu chất lượng, nên họ phải bỏ tiền để mua các nguồn dữ liệu chất lượng. Bạn có thể xem thông tin các node tại địa chỉ: Chainlink Market

Các đặc tính của Oracle:

  • Software Oracle (Được biết đến như deterministic oracles)
    • Tương tác với các nguồn thông tin online và truyền nó tới blockchain
    • Thông tin này có thể đến từ online database, server, websites, essentially, hoặc bất kỳ nguồn Web nào.
    • Là kiểu blockchain oracle thông dụng. Dữ liệu thường là: exchange rates, digital asset prices, realtime flight information…
  • Hardward Oracle:
    • Một số smart contract cần tương tác với thế giới thực như các hệ thống cho thuê xe, cho thuê nhà
    • Được thiết kế để lấy thông tin từ thế giới vật lý và đảm bảo nó sẵn sàng cho smart contract sử dụng. Thông tin có thể được lấy từ cảm biết điện tử, IoT, barcode/QQR scanners, RFID, robot,…
    • Ví dụ : Một cảm biến kiểm tra xem xe vận tải hàng đã đến các vị trí giao hàng hay chưa.
    • Thường được thiết kế cho hệ thống cung ứng.
  • Human Oracle:
    • Một vài cá nhân có kỹ năng/kiến thực trong một lĩnh vực cụ thể có thể là oracle. Họ có thể tìm hiểu và xác thực thông tin từ nhiều nguồn khác nhau và chuyển dữ liệu lên smart contract.
    • Mỗi người đều có identity sử dụng mật mã
    • Oracle human có thể trả lời các câu hỏi bất kỳ, cái mà khó có thể xử lý bằng máy
  • Computational Oracle:
    • Oracle sử dụng để tính toán các dữ liệu off-chain cần quá trình xử lý nặng nề
  • Inbound/Outbound Oracle
  • Contract-specific Oracle
  • Consensus-based Oracle

Các yếu tố đảm bảo Decentralized Oracle tin cậy:

  • Nguồn dữ liệu:
    • Đối tượng tạo dữ liệu
    • Phương tiện truyền dẫn
    • Phương tiện xử lý
  • Cơ chế xác nhận:
    • Cơ chế định danh
    • Cơ chế ký số
    • Thuật toán đồng thuận
  • Yếu tố tốc độ và thời gian
  • Cơ chế thưởng/phạt tài chính và pháp ly với đối tượng cung cấp thông tin cho Oracle

Một số Oracle điển hình:

  • Chainlink: Một decentralized oracle điển hình, chiếm 80% thị phần Oracle.
  • Band Protocol
  • Town Crier: Khá đặc biệt sử dụng phần cứng của Intel
  • OracleFactory: Mới ra được vài ngày, cho phép thiết kế Oracle của riêng

Cơ chế vận hành của Chainlink:

  1. USER-SC tạo request on-chain
  2. CHAINLINK-SC tạo event để báo cho các Oracles biết
  3. CHAINLINK CORE nhận được event và định tuyến tới Adapter tương ứng
  4. ChainLink Adapter thực hiện 1 request tới API ngoài
  5. ChainLink Adapter xử lý response và chuyển dữ liệu cho Core
  6. ChainLink Core tạo transaction để nạp dữ liệu tới CHAINLINK-SC
  7. CHAINLINK-SC tổng hơp và kiểm tra dữ liệu, hợp nhất thành single response trả về cho USER-SC.
Mô hình vận hành Decentralized Oracle với Chainlink
Mô hình vận hành Decentralized Oracle với Chainlink
Mô hình vận hành Decentralized Oracle với Chainlink
Mô hình vận hành Decentralized Oracle với Chainlink
Automated Oracle Structure
Automated Oracle Structure
Human Oracle Structure
Human Oracle Structure

Webinar #21: Kiến thức nền tảng về Defi (DeFi 101)

Webinar #21: DeFi 101 – Kiến Thức Nền Tảng Về DeFi
Phân chia một số layer trong DeFi
Phân chia một số layer trong DeFi

Webinar #22: Cơ Sở Dữ Liệu Phi Tập Trung Cho Smart Contract Trên Blockchain #2

Webinar #22: Cơ Sở Dữ Liệu Phi Tập Trung Cho Smart Contract Trên Blockchain #2

Decentralized Oracle Network:

  • DO là dữ liệu căn cứ được cung cấp và kiểm soát bởi một mạng phi tập trung
  • Tăng tính tin cậy nhờ sử dụng nhiều nguồn thông tin và xác thực
  • Còn được gọi là consencus oracle, bản thân smart contract cũng có thể sử dụng nhiều DON.
Decentralized Oracle Network (DON)
Decentralized Oracle Network (DON)
A Distributed Oracle Using Intel SGX for Blockchain-Based IoT Applications (Mỗi node là một thiết bị phần cứng)
A Distributed Oracle Using Intel SGX for Blockchain-Based IoT Applications
(Mỗi node là một thiết bị phần cứng)

Mẫu thiết kế Decentralized Oracle (DO) thường có các chức năng chính sau:

  • Thu thập dữ liệu từ nguồn off-chain
  • Chuyển dữ liệu lên on-chain dưới dạng thông điệp / giao dịch được KÝ SỐ
  • Hợp nhất kết quả sinh Oracle
  • Chuyển kết quả cho Smart Contract cần dữ liệu
Luồng xử lý của DO
Luồng xử lý của DO

Bài toán chia sẻ bí mật chung:

  • Để đảm bảo tính tin cậy của dữ liệu oracle, ta cần các cơ chế ký số xác nhận tập thể
  • Nhưng không thể chia sẻ bí mật CHUNG cho các thành viên
  • Cần có cơ chế an toàn để hợp nhất khóa trong quá trình xác nhận.
Chia dữ liệu cho từng ông
Chia dữ liệu cho từng ông
Chia sẻ chữ ký chung cho các thành viên của nhóm

Ví dụ về cách chia khóa:

Giả sử nhóm VBI có khóa CÔNG KHAI(11449, 33667), khóa BÍ MẬT(7049, 33667), nhưng ta không thể đưa khóa bí mật của nhóm cho các thành viên, như thế các thành viên có thể giả dạng nhóm. Số 7049 dùng phép phân tích ra thừa số nguyên tố được 53*19*7 => Ta đưa ba số này cho ba thành viên nhóm:

  • Nam sử dụng khóa BÍ MẬT (53, 33667) để ký
  • Mai sử dụng khóa BÍ MẬT (19, 33667) để ký
  • Lan sử dụng khóa BÍ MẬT (7, 33667) để ký

Bây giờ ta có dữ liệu 4046 cần ký:

  • Đầu tiên Nam ký trước: 4046^53 % 33667 = 9554 => Dữ liệu 4046 | 9554
  • Tiếp đó đến Mai ký: 9554^19 % 33667 = 31245 => Dữ liệu 4046 | 31245
  • Tiếp đó đến Lan ký: 31245 ^7 % 33667 = 188 => Dữ liệu 4046 | 188

Sau khi 3 người ký xong được chữ ký cuối cùng là 188. Dùng khóa CÔNG KHAI của nhóm để kiểm tra ta được: 188^11449 % 33667 = 4046 => Đúng dữ liệu đầu vào. Thao tác tính toán module sử dụng trang https://planetcalc.com/8326/ cho nhanh.

=> Có một số vấn đề xảy ra phương pháp này:

  • Khi chia ra thành nhiều khóa nhỏ thì các khóa nhỏ này yếu đi => Dễ bị tấn công hơn.
  • Trong trường hợp này phân tích được thành 3 khóa con nên chia cho ba người => Nhưng giờ muốn chia cho 5 người thì làm thế nào.

Chia sẻ bí mật chung Shamir Secret Sharing:

  • Dựng đồ thị bậc bất kỳ => Chia cho mỗi người 1 điểm trên đồ thị.
    • Cần chia cho 3 người thì dùng đồ thị bậc 2
    • Cần chia cho 4 người thì dùng đồ thị bậc 3
  • Từ các điểm này ta dựng lại phương trình đồ thị => Suy ra khóa mật.
Mô hình triển khai Decentralized Oracle với chữ ký gộp
Mô hình triển khai Decentralized Oracle với chữ ký gộp

Ứng dụng Decentralized Oracle:

  • Sinh số ngẫu nhiên
  • Cung cấp dữ liệu thảm họa tự nhiên
  • Dữ liệu giá các coin/token
  • Tổng hợp dữ liệu giá của một giỏ…
  • Dữ liệu thống kê
  • Dự liệu thời tiết
  • Sự kiện chính trị cho các thị trường dự báo
  • Sự kiện thể thảo
  • Dữ liệu địa lý
  • Cung cấp dữ liệu thiệt hại => Cho mảng bảo hiểm
  • Sự kiện xảy ra khác trên blockchain
  • Giá gas ether
  • Thống kê chuyến bay => Sử dụng bởi nhóm hoặc các câu lạc bộ để điều phối vế và du lịch

Cardano (ADA) Blockchain 101: VBI Webinar #23

Cardano (ADA) Blockchain 101: VBI Webinar #23

<Đang cập nhật…>

VBI Webinar #24: Tổng quan các kiến trúc blockchain phổ biến và các hướng phát triển hệ sinh thái

VBI Webinar #24: Tổng quan các kiến trúc blockchain phổ biến và các hướng phát triển hệ sinh thái

Blockchain vs DLT:

  • Data Structure (Data Link):
    • Block-chain: Bitcoin, Ethereum, etc
    • Directed Acyclic Graph (DAG): Tổ chức theo đồ thị định hướng không vòng lặp như IOTA, Hedera Hash Graph,…
    • Hybrid: Avalanche (X-Chain), Fantom
  • Mô hình: Blockchain, Tangle, Hashgraph
  • Synchronous vs. Asynchronous: Hầu hết dữ liệu đều là đồng bộ, riêng DAG bản chất toán học đã là không đồng bộ nhưng vẫn có cơ chế để verify.
Data structure: Blockchain, Tangle, Hashgraph
Data structure: Blockchain, Tangle, Hashgraph

Blockchain:

  • Ledger Design (accounting):
    • UTXO: Bitcoin, Cardano => Mô hình kế toán đơn giản nhất, cho phép xử lý song song các giao dịch nhưng khó triển khai ứng dụng.
    • Account: Ethereum, Polkadot,… => Khó xác định State nhưng dễ triển khai ứng dụng.
    • Hybrid: IOTA v1.5
  • Functional Architecture:
    • Layer-0: Accounting/Settlement
    • Layer-1: VM-SmartContract => Kể công của hai người:
      • Vitalik Buterin với vai trò là kiến trúc sư trưởng đưa ra ý tưởng EVM
      • Gavin Wood (Founder của Polkadot) là người hiện thực hóa nó, nếu không có Gavin Wood thì ý tưởng chỉ ở trên giấy. Chính Gavin Wood đưa ra ngôn ngữ lập trình Sodility phổ biến nhất hiện nay.
    • Layer-2 (Scale solution):
      • Lightning network: Đã vận hành nhưng chưa phổ biến, áp dụng cho việc thanh toán Bitcoin.
      • Sidechain
  • Network Architecture:
    • Single chain
    • Main-chain & Shards: Việc đồng bộ dữ liệu giữa các Shard khác nhau rất là khó khăn => Mặc dù có nhiều dự án đưa ra Sharding nhưng hầu như chưa dự án nào chạy mainnet.
    • Interoperable multi-chain network:
      • COSMOS (ATOM) đưa ra đầu tiên => Là team tạo ra Concensus xây dựng lên Binance Chain.
      • Avalanche: Kiến trúc hay được Vitalik đánh giá cao. Tập trung vào Decentralized Finance.
        • P-CHAIN
        • X-CHAIN: Supper decentralized exchange
        • C-Chain: Thực hiện Smart Contract
        • Có thể tích khác các Custom chain khác.
      • Dapp là một blockchain, ko cài đặt Smart Contract.
      • Về long time thì okie, nhưng khó khăn triển khai ứng dụng vì tốn nguồn lực và thời gian.
Functional Architecture
Functional Architecture
 Cosmos and Polkadot
Cosmos and Polkadot

Các thế hệ tiến hóa Public Blockchain:

  • Blockchains & GAG-based DLTs 1.0: accounting & settlement => Sử dụng cho thanh toán
    • Bitcoin, Dogecoin, Monero, ZCash
    • IOTA 1.0
  • Blockchains & GAG-based DLTs 2.0: Smart contract platform
    • Ethereum, Cardano, EOS
    • Fantom (Công nghệ khá hay), IOTA 2.0
  • Blockchain 3.0: Cross-chain interoperable blockchains
    • Multi-chains: Cosmos, Polkadot, Avalanche
    • Sharding: Ethereum 2.0, Near, Harmony

Public vs Private Blockchains:

  • Public / Private / Consoritum
  • Permissioned / Permissionless
Public vs Private Blockchains
Public vs Private Blockchains

High throughtput Blockchains:

  • Tam đề về Blockchain: Chỉ có thể đảm bảo tốt được 2 trong 3 yếu tố mà không thể đồng thời có cả ba: Scalability, Security, Decentrailization.
    • Security là vấn đề sống còn
    • Decentralization là bản chất của Blockchain => Hầu hết đều là decentralization nhưng mức độ đến đâu.
    • Vấn đề ở đây chính là Scalability.
  • Consensus algorithms => Cải tiến thuật toán đồng thuận.
    • Cosmos, Binance Chain => Lên 1000 TPS là kinh rồi, chứ lên tầm 3000-4000 TPS như TRON khó.
    • Solana 100000TPS
  • Network design: sidechain, sharding
  • Mempool: Disk / RAM
  • Block producer: undetermined / determined

High throughtput Blockchains: Case studies:

  • SOLANA (100K TPS):
    • Public & Permissionless
    • Gulf Stream: Mempool-les (RAM), determined block producer => Dự đoán lưu trên RAM => Sự cố phải reset lại node mất 18 tiếng => Một thất bại lớn của Solana => Hệ thống public blockchain phải robotness và available.
    • Sealevel: Parallel smart contracts run-times
  • HEDERA HASHGRAPH: 10K TPS => Nhưng Smart Contract platform chưa hoàn thiện.
  • KLAYTN (Kakao): 4K TPS on mainchain + service chains
  • HARMONY: 1000K TPS supported sharding => Con số này đến bây giờ vẫn chưa được hiện thực hóa.
  • ParallelChain (HK): 120K TPS supported parallel processing => Giải pháp xử lý song song => Sang năm 2022 công bố mainnet.
  • Internet Computer (ICP):
  • Dfinity
Sacrifice / Tradeoff
Sacrifice / Tradeoff

Smartcontract & Dapp Ecosystems:

  • Blockchain’s Virtual Machine: The state machine of the world Turing complete.
    • 1st Ethereum – EVM – Solidity: All the most prosperous, compasable Ecosystem => Có hệ sinh thái thịnh vượng và đáng tin cậy nhất => Trung tâm/Thủ đô của thế giới tài chính trên Blockchain.
    • EVM-compatible: All roads lead to Rome => Dù có làm gì đi nữa thì vẫn phải xây cái bridge để nối tới Ethereum và hỗ trợ tương thích EVM.
    • Non-EVMs:
      • Web Assembly (WASM): EOS, Dfinity, Ethereum 2.0 => Web Assembly có nhiều lợi thế, contract có thể viết bằng nhiều ngôn ngữ RUST, C, Java,..
      • Low-level virtual machine (LLVM), Berkeley Packet Filter (BPF) based bytecode kernel: Solana
      • Plutus: Cardano => Ngôn ngữ sử dụng khó đọc không dễ dàng viết smart contract nên mặc dù ra trước Solana nhưng số lượng Dapp không nhiều.
  • Dapp Developers:
    • Blockchain platform:
      • DeFi prosperity & composability
      • Scalability
    • Smartcontract:
      • EVM compatible:
        • Familiar, fully supported
        • Solidity – not a good language
      • Non-EVM compatible:
        • Pioneers in the new market
        • Need PoC
        • Huge effort to build

DeFi & NFT & Metaverse:

  • DeFi:
    • Tạo cuộc cách mạng tài chính
    • Nhiều tổ chức tài chính truyền thống tham gia DeFi và đầu tư vào tiền điện tử.
  • NFT: Sự chấp nhận lớn đầu tiên của blockchain và tiền điện tử => Giúp tiếp cận được nhiều người dùng hơn.
  • Open Metaverse – digital & sharing economics:
    • Cuộc cách mạng trong ngành công nghiệp trò chơi và các nền tảng xã hội
    • digital content distribution platforms – nền tảng phân phối nội dung kỹ thuật số

Blockchain & Cryptocurrency:

  • Bitcoin: Đứng đầu thế giới blockchain và nhiều người coin nó là Digital gold – Vàng kỹ thuật số
  • Ethereum: Được coi là computer of the world – Máy tính của thế giới.

Trên thế giới, cái mà so sánh được với Blockchain thì chỉ có thể là INTERNET => Blockchain chính cái xây dựng nên INTERNET 2.0:
Blockchain is building INTERNET 2.0 – the Internet of Value, then help shaping the true digital & sharing economics, re-distributing global wealth.

Internet 1.0 và Internet 2.0
Internet 1.0 và Internet 2.0
Blockchain & Money Flow
Blockchain & Money Flow

Theo tài liệu nghiên cứu tính đến 2025 giá trị công nghệ của Blockchain ước tính 4 tỷ đô => Rất nhỏ so với Public Blockchain.

VBI Webinar #25: Sharding: Giải Pháp Mở Rộng Trong Blockchain

VBI Webinar #25: Sharding: Giải Pháp Mở Rộng Trong Blockchain
Scalability solutions in different layers
Scalability solutions in different layers

Sharding:

  • Sharding có hai nghĩa, là sharding cho node và sharding cho data
    • Gom các node vào trong từng Shard
    • Chia transaction cho các Shard.
  • Ưu điểm:
    • Sharding sẽ giúp dễ dàng mở rộng khi lượng người dùng/giao dịch lớn
    • Các node không cần cấu hình quá mạnh để có thể chạy
  • Rủi ro:
    • Bảo mật sẽ yếu hơn. Ví dụ kẻ tấn công Double Spending => Như trước đây thì cần tài nguyên lớn, nhưng do chia 10 Shard => Như vậy hacker chỉ cần 1/10 tài nguyên để tấn công vào 1 Shard => Giải pháp đưa ra là làm sao để Hacker không thể dồn tài nguyên vào 1 Shard => Cần cơ chế chọn ngẫu nhiên node trong Shard.
    • Vấn đề xử lý cross-hard transaction: Tức là 1 anh ở Shard 1 muốn giao dịch với 1 anh ở Shard 2:
      • Giao dịch phải đảm bảo atomicity => Nếu giao dịch thành công thì OK nhưng nếu giao dịch thất bại thì nó phải trở về nguyên trạng ban đầu.
      • Thời gian giao dịch nhanh và độ phức tạp không quá lớn.
    • Sharding mà không khéo có thể xảy ra hiện tượng có quá nhiều giao dịch cross-shard
Ý tưởng sharding
Sharding

Các giải pháp Sharding:

  • Học thuật:
    • Elastico: Bài báo đầu tiên của Lợi Lưu đề ra phương án Sharding đầu tiên
    • Omniledger
    • RapidChain: Được trình bày trong hội nghị hàng đầu về an toàn máy tính
    • Monoxide: Rất đặc biệt, khác hẳn với phương pháp Sharding khác
  • Thực tế:
    • Ethereum 2.0
    • Zilliqa: Mạng blockchain đầu tiên đưa ra transaction sharding
    • Harmony: Network đầu tiên cài đặt state sharding.
    • Near Protocol: …

Omniledger:

  • Sử dụng cơ chế random => Đầu tiên sẽ chọn leader tạm thời => Leader này sẽ thực hiện assign các node và các shard => Sau thời gian lại thực hiện assign lại các node => Dynamic sharding
  • Xử lý cross-shard transaction: Do client xử lý, client xử lý sai họ sẽ mất tiền nên họ phải làm đúng
    • Client giao tiếp để xác định các shard liên quan tới transaction ví dụ Shard A và Shard B.
    • Client gửi giao dịch tới Shard A => Bằng chứng.
    • Gửi bằng chứng tới Shard B.
    • Nếu client gửi tới A xong và client mất kết nối => Sau 1 thời gian tài khoản sẽ được giải phóng.
  • Để đảm bảo an toàn mỗi Shard nên có từ 200 đến 400 node
OmniLeader
OmniLeader

Rapidchain: Đưa ra sau Omniledger và có 1 số cải tiến. Xem bài báo: RapidChain: Scaling Blockchain via Full Sharding, Zamani et al., ACM CCS’18

  • Dùng mô hình Synchronous model => Số lượng node trên 1 shard giảm đi nhưng vẫn đảm bảo đủ an toàn
  • Random committee
  • Reconfiguration:
    • Cuckoo rule: Assign new node to a random shard
    • Evict k nodes from the shard => Đánh bật k node ra khỏi shard
  • Cross shard transactions:
    • Chuyển tiền từ shard A sang B => Nó sẽ chuyển tiền từ shard A và shard B sang shard C trước => Sau đó thực hiện trong cùng shard C
    • Nếu giữa chừng có vấn đề thì ko bị mất tiền vì chuyển tiền A sang C (Vẫn cùng 1 người), B sang C (Vấn cùng 1 người) => Giống như 1 người chuyển tiền của mình sang tài khoản của mình nhưng ở ngân hàng khác.
    • Thấy có vấn đề sinh ra rất nhiều tài khoản của cùng 1 người trên các shard khác nhau.
    • Giao dịch chuyển tiền thì vẫn là giao dịch đơn giản, phức tạp nhất là giao dịch qua smart contract.

Chainspace: a sharded smart contract platform. Một nhóm nghiên cứu ở Anh, sau đó được Facebook mua lại. Giải pháp của họ đưa ra cũng rất hay.

  • How chainspace works?
    • Nodes được tổ chức thành các Shard
    • Shard sẽ quản lý các Object
    • Các Object chỉ được sử dụng 1 lần.
  • Object trong Chainspace có thể chứa tiền hoặc data và nó chỉ được sử dụng 1 lần.
  • Đã thử nghiệm và đạt được 300 TPS
  • UTXO của Cardano cũng tương tự Chainspace

Ethereum Sharding:

  • Đầu tiên nó dùng PoW để tạo Beacon Chain,…
  • Hiện tại Ethereum đang chuyển dần sang PoS => Gasper:
    • Combining Casper FFG, a finality tool with LMD GHOST (fork-choice rule)
    • Proved safety (liveness issue)

Monoxide (NSDI’ 19):

  • Nakamoto-style (probabilistic eventual finality)
  • Merge mining
  • Cross-zone transaction
So sánh Sharding Protocol (Bài báo Wang et al.AFT'19)
So sánh Sharding Protocol
(Bài báo Wang et al.AFT’19)

Vấn đề Cross-shard Trans của Sharding:

  • Trên 95% các transaction là cross-shard transactions
    • Gọi k là số Shard, UTXO transaction in -> out
    • Pr[in & out trong cùng Shard] = 1/k (Xác suất để in và out trong cùng 1 Shard)
    • Cross-shard transactions ~ 1 – 1/k
  • Hiệu năng bị suy giảm:
    • Độ trễ cao hơn
    • Thông lượng thấp hơn
    • Blockchain bị phình to
  • Mức độ phụ thuộc cao, khả năng dễ bị tấn công cao
    • Một shard gặp sự cố -> Các shard khác không thể hoạt động

OptChain: Optimze Cross-shard Transactions => Do nhóm tác giả nghiên cứu

  • Ý tưởng: Nhóm các tài khoản liên quan với nhau trong cùng 1 Shard => Minimize (future) cross-shard transaction by smart txs placement.
  • User tự xác định đặt tài khoản ở đâu để tối ưu hóa Phí (Cost) và thời gian giao dịch.
  • Tối ưu thông qua đồ thị: Transaction-as-Node (TaN) Network:
    • Transaction as Nodes: (vs. Users/accounts as nodes)
      • V = { set of transactions }
      • E = { (u,v): tx u is an unspent output of tx v }
      • S(u): Shard containing u
      • Sin(u) collection of shard that contain the inputs of u.
    • Cross-shard tx:
      Sin(u) {S(u)}
    • Transaction placement ≡ Online partition of the TaN network
      • Partition a stream of transactions into k disjoint sets
      • Minimize # cross-shard
      • Balance the Shard load (# tx in each shard)
  • Placing each transaction to shard balancing:
    • Predict “Fitness” of the transaction to the shard
    • Read-time load balancing

VBI Webinar #27: Bitcoin và Phiên Bản Cập Nhật Bitcoin Taproot

<Đang cập nhật…>

Mô hình blockchain (Phân tán)
Mô hình blockchain (Phân tán)
Cấu trúc Block và quy trình đào Bitcoin
Cấu trúc Block và quy trình đào Bitcoin
  • Toàn bộ do hệ thống vận hành, không có con người can thiệp
  • 6.25 Bitcoin thưởng mỗi block => Tự thợ đào thưởng cho mình.
  • Thông thường giao dịch an toàn cần 6 confirm => Khó có thể bị đảo ngược. 6 confirm tức là độ sâu là 6 block.
  • Tại sao phải dùng Merkle Root => Giảm thiểu phải duyệt toàn bộ giao dịch => Độ phức tạp log(n) => 1024 giao dịch chỉ cần 10 lần.
  • Băm chỉ thực hiện băm Block Header chứ không phải toàn bộ Block

VBI Webinar #31: Kinh Nghiệm Tham Gia Hackathon: Xây Team, và Hình Thành Ý Tưởng Startup + Ghép Team

Diễn giả:

  • An Võ
  • Cường – Product Owner ViettelPay
Hình Thành Ý Tưởng Startup + Ghép Team

Khi làm Startup cần chú ý:

  • Problem: Làm rõ vấn đề (Nỗi đau của người dùng) => Tập trung thời gian vào vấn đề, ko nên qua Solution quá sớm.
  • Solution: Phải thực sự giải quyết được vấn đề
  • Product và Service (Sản phẩm và dịch vụ)
  • Business Model: Để trả lời 1 câu hỏi: Làm thế nào để kiếm được tiền? Giải pháp cho dù hay thế nào đi nữa, nhưng nhà đầu tư họ chỉ nhìn thấy tiền thôi. Khi người ta đầu tư tiền vào sản phẩm của bạn thì khi nào nó sẽ x5, x10
  • Traction: Sự thu hút sản phẩm của bạn với người dùng
    • Có bao nhiêu người đang sử dụng sản phẩm của bạn
    • Hàng tháng có thêm bao nhiêu người
    • Doanh thu bao nhiêu
  • Timing: Khi gọi vốn phải tạo được sự FOMO cho các nhà đầu tư
    • Tại sao sản phẩm của bạn xuất hiện ở thời điểm này là phù hợp mà không phải trước đó hay sau này
  • Size the Market: Kích thước thị trường nhắm tới
    • Kích thước thị trường nhắm tới quá nhỏ thì nhà đầu tư cũng ko hào hứng, ko thiết tha đầu tư
    • Mô hình TAM-SAM-SOM:
      • Total Available Market (TAM)
      • Serviceable Available Market (SAM)
      • Serviceable Obtainable Market (SOM)
    • Ví dụ làm game NFT:
      • TAM: Nhắm tới toàn bộ thị trường NFT trên thế giới => 1.9 tỷ
      • SAM: Thị trường Game NFT là khoảng 53M => Thị trường mà mình có thể phục vụ được.
      • SOM: Thị phần mà mình nhắm tới => 10.6M
    • Có 2 cách phân tích:
      • Topdown: Từ cả thị trường rùi tính theo % xuống
      • Bottom up: Từ ước lượng người dùng tính lên
  • Đối thủ cạnh tranh: Sử dụng hai mô hình
    • Mô hình 2×2 matrix: Chỉ có 2 yếu tố để so sánh: Giá cả và chất lượng
    • Mô hình Competive Matrix: So sánh theo tính năng
  • Roadmap: Nói về tầm nhìn của bạn trong ngắn hạn cũng như trong dài hạn
    • Người dùng / Nhà đầu tư sẽ so sánh tiến trình thực tế với Roadmap => Xem bạn có làm đúng như lời hứa hay không?
  • Lợi thế cạnh tranh: Phải tìm được trước khi thực hiện Startup => Ko thì gần như chắc chắn bạn sẽ thất bại.
    • Có nhà đầu tư đã nói: Ý tưởng là rẻ mạt vì hàng ngày có 1000 ý tưởng. Quan trọng bạn phải hiện thực hóa nó và có lợi thế để đi nhanh hơn đối thủ.
    • Lợi thế:
      • Có team mạnh nhiều mảng, kinh nghiệm về blockchain,…
      • Có cộng đồng trung thành với bạn.
  • Team:
    • Founder – Đội ngũ cốt cán (CTO, CEO) => 2 – 3 người là đẹp nhất
    • Tầm nhìn các Founder trong team phải giống nhau nhưng nên có kỹ năng khác nhau và bổ sung cho nhau.
Có mô hình đánh giá đối thủ cạnh tranh
Có mô hình đánh giá đối thủ cạnh tranh

MVP – Minimum viable productSản phẩm khả thi tối thiểu đủ để thỏa mãn early customers. Và thông qua feedback để cải tiến trong tương lai.

  • Mission và Vision:
    • Mission là cái hiện tại
    • Vision là tương lai
    • Nghĩ lớn (Vision lớn) nhưng bắt đầu từ những cái nhỏ (Mission)
  • Less, but Better:
    • Tập trung vào 20% chức năng nhưng đem lại 80% giá trị
  • Focus on outcome not output:
    • Output là sản phẩm mình tạo ra
    • Outcome là lợi ích và lý do mà khách hàng mua sản phẩm
  • Transparent is the King:
    • Thông tin phải được minh bạch
    • Mọi người đều phải biết sản phẩm đang đến đâu, điều gì đang diễn ra, công ty đang đến đâu, người khác đang làm gì
  • Commitment is the queen:
    • Từng tạo team với nhiều người giỏi, nhưng commitment (Sự cam kết) không quá => Kết quả sản phẩm không ra sao cả
    • Thái độ quan trọng hơn năng lực, mọi người cam kết dành bao nhiêu thời gian bao nhiêu nguồn lực cho sản phẩm này,…

Nguồn tham khảo:

Bài viết này có hữu ích với bạn?

Kích vào một biểu tượng ngôi sao để đánh giá bài viết!

Xếp hạng trung bình 5 / 5. Số phiếu: 38

Bài viết chưa có đánh giá! Hãy là người đầu tiên đánh giá bài viết này.

Trả lời

Giao diện bởi Anders Norén