KiemTienOnline360

Chia sẻ hành trình kiếm tiền online bắt đầu từ con số 0

Kiến thức Blockchain, Kiến thức lập trình, Kiến thức phần mềm

Vietnam Blockchain Innovation: 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
(7)

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

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: 7

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