Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Blockchain

thanhgit
June 21, 2020

 Blockchain

Tại sao phải biết blockchain?

thanhgit

June 21, 2020
Tweet

More Decks by thanhgit

Other Decks in Research

Transcript

  1. Một số động lực khác - Ngành công nghiệp game

    đã và đang thử nghiệm blockchain vào trong trải nghiệm chơi game như cách thanh toán và tài sản trong game - Ngành y tế đã áp dụng blockchain cho việc quản lý bệnh án cá nhân, công chứng y tế, giải mã gen, hợp đồng thông minh cho dịch vụ của các bác sĩ, đồng thời là nguồn cung cấp data cho các nhà khoa học dữ liệu khai phá. - Ngành giáo dục áp dụng trong việc quản lý học sinh, sinh viên, thẩm định bằng cấp, chứng chỉ, lịch sử học tập được truy xuất trong trường hợp xác minh lại ...
  2. 1. Blockchain là gì? Blockchain = Block + Chain =>

    là một chuỗi các khối được kết nối với nhau
  3. 1.1 Với góc nhìn của người làm công nghệ Thì

    tại core của blockchain là một peer-to-peer distributed ledger • được mã hóa an toàn • chỉ thêm vào và khó thay đổi • chỉ có thể cập nhật thông qua consensus hoặc agreement giữa các peer https://www.slideshare.net/ibmsverige/blockchain-explored
  4. 1.2 Với góc nhìn của người làm business Thì blockchain

    là một nền tảng mà các peer có thể trao đổi giá trị dùng transaction mà không cần đến sự có mặt của bên trung gian thứ ba https://www.slideshare.net/ibmsverige/blockchain-explained-87917702
  5. 1.3 Với góc nhìn của người làm network Ta có

    thể nghĩ blockchain là một layer của một distributed peer-to-peer network chạy trên top của internet, tương tự như các dịch vụ SNMP, FTP, HTTP, ... chạy trên top của TCP/IP
  6. 2. Một số thành phần trong mạng blockchain - Address,

    public key, private key, wallet - Transaction, block - Smart contract, consensus - Peer-to-peer network, script, virtual machine, node (peer), state machine
  7. 3. Một số mạng blockchain thông dụng - Phân chia

    theo phạm vi sử dụng: private blockchain, public blockchain, semi-private blockchain - Phân chia theo chức năng sử dụng: sidechains, permissioned ledger, distributed ledger, shared ledger - Phân chia theo tính chất: + Tokenized blockchain là một standard blockchain, gen tiền ảo như một kết quả của cơ chế đồng thuận thông qua mining hoặc initial distribution + Tokenless blockchain: có thể không thực sự là blockchain vì nó thiếu đơn vị cơ bản của chuyển đối giá trị, nhưng nó hữu ích trong một số trường hợp như: sharing một số kiểu data giữa các trusted parties
  8. 4. Cơ chế đồng thuận (consensus mechanism) - Tại sao

    phải cần cơ chế đồng thuận? + Đối với tiền ảo thì nó đảm bảo rằng các transaction thì hợp lệ và được phân phối để nhiều người tham gia xác minh tính chính xác của các transaction + Đối với decentralized system, điểm mấu chốt là làm thế nào để thống nhất nội dung dữ liệu trên blockchain network => đảm bảo tính consistency của hệ thống theo CAP theorem <=> đảm bảo tất cả các node đều có bản copy data mới nhất - Consensus về cơ bản là một distributed computing concept đã được dùng trong blockchain để cung cấp một phương tiện của đồng thuận với một single version of truth bởi tất cả các peer trong blockchain network
  9. Vai trò của cơ chế đồng thuận Hệ thống tập

    trung = cấu trúc dữ liệu phi tập trung + cơ chế đồng thuận => Hai yếu tố trên rất quan trọng để quyết định xem hệ thống xử lý nhanh hay chậm, khả năng mở rộng như thế nào ? - Để hiểu hơn về cơ chế đồng thuận nên nghiên cứu thêm: + Byzantine generals problem + CAP theorem
  10. Một số cơ chế đồng thuận - Delegated proof of

    sake - Byzantine fault tolerance - Proof of Important - Federated Byzantine Agreement (FBA)
  11. 6. 1 Smart contract - Được ra đời bởi nhà

    khoa học máy tính và mật mã học Nick Szabo năm 1994 - Hợp đồng thông minh là một giao thức quản lý hợp đồng đảm bảo tính nhanh gọn và minh bạch • Với mục tiêu là đóng góp, xác nhận và tiến hành quá trình đàm phán và thực hiện hợp đồng • Nó cho phép triển khai transaction mà không cần thông qua một bên thứ ba trung gian • Smart contract chứa bên trong mình những điều khoản (business logic) và thực hiện chúng một cách tự động
  12. 6.2 Nguyên lý hoạt động "Nguyên lý vận hành của

    smart contract tương tự như máy bán hàng tự động " - Để lập một hợp đồng cần: • Chủ thể hợp đồng như các sản phẩm/dịch vụ • Chữ ký điện tử • Điều khoản hợp đồng dưới dạng chuỗi • Nền tảng phân quyền
  13. Proposal solution Technical stack: - Platform: ethereum với việc dùng

    genache apps để giả lập một private blockchain + truffle ( giúp tạo solidity template ) - Wallet: metamask (một plugin trên chrome hoặc firefox) - Ethereum protocol: go-ethereum (https://github.com/ethereum/go-ethereumhttps://github.com/ethereum/go-ethereum) - Smart contract: solidity