Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Bitcoin, thuật toán và cơ sở mật mã học
Rating: 4.1 out of 5(7 ratings)
51 students

Bitcoin, thuật toán và cơ sở mật mã học

Từ lý thuyết đến thực hành với Python và ứng dụng thực tế.
Created byVõ Văn Tân
Last updated 9/2024
Vietnamese

What you'll learn

  • Hiểu các nguyên lý cơ bản về mật mã học được sử dụng trong Bitcoin, bao gồm hàm băm và chữ ký số.
  • Phân tích và giải thích cấu trúc của một giao dịch Bitcoin thô.
  • Sử dụng các thư viện Python để tạo và phân tích các giao dịch Bitcoin.
  • Hiểu và triển khai thuật toán đồng thuận Proof-of-Work của Bitcoin.

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

2 sections23 lectures1h 14m total length
  • Giới thiệu3:08

    Khóa học "Bitcoin, thuật toán và cơ sở mật mã học" là một chương trình toàn diện, thiết kế để trang bị cho bạn kiến thức sâu rộng về mật mã học và ứng dụng thực tế của nó trong lập trình và blockchain. Khóa học được chia thành 12 mô-đun, mỗi mô-đun tập trung vào các khía cạnh khác nhau của mật mã học và các kỹ thuật liên quan.

    Mô-đun I: Số Học và Cơ Sở Mật Mã

    • Số nhị phân – Số thập lục phân: Tìm hiểu cách chuyển đổi giữa các hệ đếm và ứng dụng trong mã hóa.

    • Big-Endian / Little-Endian: Cách lưu trữ và truyền tải dữ liệu trong bộ nhớ.

    • VarInt - Size: Khám phá cách biểu diễn các số nguyên biến đổi.

    • Số ngẫu nhiên: Ứng dụng trong mật mã học và bảo mật.

    • Modulo: Hiểu biết về toán học cơ bản cho mã hóa.

    Mô-đun II: Logarithm và Số Học Cao Cấp

    • Logarithm: Nguyên lý cơ bản và ứng dụng trong mật mã.

    • Số nguyên tố: Vai trò của số nguyên tố trong mã hóa.

    • Logarithm rời rạc: Cơ sở toán học của các thuật toán mật mã.

    • Mã hóa đường cong ê-líp tiêu chuẩn Secp256k1: Hiểu và ứng dụng mã hóa ECDSA.

    • Nghịch đảo modulo / Euclidean / Bézout: Cơ sở toán học cho các thuật toán bảo mật.

    Mô-đun III: Khóa Công Khai và Chữ Ký Số

    • Khóa công khai: Nguyên lý và ứng dụng trong bảo mật thông tin.

    • Trao đổi khóa Diffie-Hellman: Bảo mật trong truyền thông.

    • Chữ ký số: Tạo và xác minh chữ ký số để đảm bảo tính toàn vẹn và xác thực.

    • Hàm băm: Ứng dụng trong bảo mật và kiểm tra dữ liệu.

    • Tổng kiểm tra: Phương pháp kiểm tra tính toàn vẹn của dữ liệu.

    Mô-đun IV: Mã Hóa và Xác Suất

    • Mã hóa ASCII/Base58/Base64: Mã hóa dữ liệu và truyền tải an toàn.

    • Khóa công khai nén: Giảm kích thước khóa mà vẫn đảm bảo an toàn.

    • Legendre Symbol / Euler / Fermat: Các nguyên lý số học trong mật mã.

    • Mục tiêu và xác suất ngẫu nhiên: Đánh giá rủi ro và xác suất trong bảo mật.

    • Thời gian và độ khó: Các yếu tố quan trọng trong blockchain.

    Mô-đun V: Thu Gọn và Cấu Trúc Dữ Liệu

    • Thu gọn mục tiêu: Hiểu về cách thu nhỏ và tối ưu hóa dữ liệu.

    • Cây Merkle: Cấu trúc dữ liệu quan trọng trong blockchain.

    • Gốc Merkle: Ứng dụng trong việc đảm bảo tính toàn vẹn dữ liệu.

    • Phí giao dịch/bytes: Tối ưu hóa chi phí giao dịch trong blockchain.

    • Phí giao dịch/weight: Đánh giá chi phí dựa trên trọng lượng giao dịch.

    Mô-đun VI: Mining và Tấn Công

    • Mining: Nguyên lý và ứng dụng trong blockchain.

    • Phân nhánh: Xử lý xung đột trong mạng lưới blockchain.

    • Tấn công 51%: Hiểu biết về rủi ro và cách phòng ngừa.

    • Bảng định tuyến Chord: Kỹ thuật định tuyến phân tán.

    • Bảng định tuyến Kademlia: Ứng dụng trong hệ thống phân tán.

    Mô-đun VII: Quản Lý Khóa

    • Private key / Public key / Address: Quản lý và bảo mật các loại khóa trong blockchain.

    Mô-đun VIII: Chữ Ký và Xác Thực

    • Secret key: Quản lý khóa bí mật.

    • Create/Verify ECDSA & Schnorr Signature: Tạo và xác minh chữ ký số bằng ECDSA và Schnorr.

    Mô-đun IX: Khối và Giao Dịch

    • Khối: Cấu trúc và các thành phần của một khối trong blockchain.

    • Bytes ma thuật (4 bytes): Định danh chuỗi khối.

    • Kích thước khối (varInt): Biểu diễn kích thước của khối.

    • Tiêu đề khối (80 bytes): Các thành phần trong tiêu đề khối, bao gồm phiên bản, khối trước, gốc Merkle, thời gian, bits, và nonce.

    Mô-đun X: Giao Dịch Chi Tiết

    • Đếm giao dịch (1 byte): Số lượng giao dịch trong khối.

    • Giao dịch (varInt): Cấu trúc chi tiết của một giao dịch, từ phiên bản, đầu vào, đầu ra, cho đến khóa thời gian.

    Mô-đun XI: Giao Dịch Coinbase

    • Giao dịch coinbase (varInt): Giao dịch đặc biệt để tạo khối mới.

    Mô-đun XII: ScriptPubkey & ScriptSig

    • ScriptPubkey & ScriptSig: Các loại script trong giao dịch Bitcoin như P2PK, P2PKH, P2MS, P2SH, P2WPKH, P2WSH, P2SH-P2WPKH, P2SH-P2WSH, và P2TR.

    Khóa học này là lựa chọn hoàn hảo cho những ai muốn nắm vững kiến thức về mật mã học và các ứng dụng thực tế trong blockchain, đặc biệt là thông qua ngôn ngữ lập trình Python. Tham gia khóa học để mở rộng kiến thức và kỹ năng của bạn trong lĩnh vực bảo mật và blockchain.

Requirements

  • Kiến thức cơ bản về lập trình Python.
  • Hiểu biết về toán học cơ bản, đặc biệt là số học modulo và lý thuyết số.
  • Máy tính có cài đặt Python 3.8 trở lên.
  • Kỹ năng đọc hiểu tiếng Anh kỹ thuật cơ bản.

Description

Khóa học "Bitcoin, thuật toán và cơ sở mật mã học" mang đến cho bạn một cái nhìn sâu sắc về những yếu tố cốt lõi đã làm nên thành công của Bitcoin - hệ thống tiền mã hóa đầu tiên trên thế giới. Thông qua khóa học này, bạn sẽ khám phá những nguyên lý mật mã học và các thuật toán phức tạp đằng sau sự bảo mật và tính toàn vẹn của Bitcoin.

Bạn sẽ học về các thành phần quan trọng như hàm băm, chữ ký số, và các giao thức đồng thuận - những nền tảng không thể thiếu để xây dựng một hệ thống blockchain phi tập trung. Ngoài ra, khóa học cũng cung cấp kiến thức thực tế về cách triển khai các thuật toán này bằng Python, giúp bạn hiểu rõ hơn về cách chúng hoạt động trong thực tế.

Khóa học được thiết kế cho những ai muốn khám phá sâu hơn về thế giới tiền mã hóa, từ nhà phát triển phần mềm, chuyên gia bảo mật đến những người đam mê công nghệ. Tham gia khóa học để trang bị cho mình kiến thức nền tảng vững chắc và khả năng áp dụng thực tiễn trong lĩnh vực đang phát triển nhanh chóng này.

Who this course is for:

  • Các nhà phát triển phần mềm muốn hiểu sâu hơn về công nghệ blockchain và Bitcoin.
  • Những người quan tâm đến mật mã học và ứng dụng của nó trong lĩnh vực tài chính.
  • Sinh viên và nhà nghiên cứu trong lĩnh vực khoa học máy tính, đặc biệt là bảo mật và mật mã học.
  • Những ai muốn bắt đầu sự nghiệp trong lĩnh vực blockchain và tiền mã hóa.