- vừa được xem lúc

Tìm hiểu ứng dụng mật mã học trong blockchain

0 0 11

Người đăng: Ngoc Long Chu

Theo Viblo Asia

I. Giới thiệu

1. Tiền ảo

Định nghĩa: Là một loại tài sản kỹ thuật số, làm trung gian trao đổi, được sử dụng mật mã để đảm bảo các giao dịch.

Đặc điểm:

  • Loại bỏ vai trò người trung gian
  • Tạo ra một mạng lưới ngang hàng gồm các nút (node)

2. Bitcoin

Bitcoin được công bố vào năm 2008 và ra mắt lần đầu vào năm 2009 bởi Shatoshi Nakamoto

Đặc điểm:

  • Phi tập trung
  • Chống kiểm duyệt
  • An toàn
  • Không biên giới.

3. Blockchain

Định nghĩa: Là một chuỗi các khối có chứa thông tin được bảo mật bởi mã hóa.

Cấu trúc của blockchain:

Kí hiệu:

  • Xanh lam: khối gốc genesis block
  • Đen: các block nhánh chính (được chấp nhận)
  • Tím: block bị thay đổi (bị loại bỏ)

Cấu trúc một khối (block) trong bitcoin

Đặc điểm:

  • Tính độc lập và mở rộng
  • Tính bất biến
  • Tính phân tán

Sự bảo mật của blockchain: Phụ thuộc nhiều vào mã hóa đặc biệt là hàm băm, chữ ký số…

Ưu điểm

  • Ưu điểm từ các đặc điểm của blockchain như tính phân tán, tính bất biến
  • An toàn khi càng có nhiều người dùng

Nhược điểm

  • Tấn công 51%
  • Khó khăn trong việc sửa đổi dữ liệu
  • Vấn đề về chìa khóa cá nhân
  • Tính cạnh tranh cao

II. Giao dịch tiền ảo

Các giao dịch tiền ảo hoạt động dựa trên nguyên lý mật mã khoá công khai cùng với phương pháp “đào”

Trong giao dịch, ta sử dụng mã hóa công khai để xác thực giao dịch. Mã hóa công khai gồm Khoá công khai và khoá riêng . Khóa công khai có thể được công bố rộng rãi, nhưng khóa riêng chỉ chủ sở hữu của nó mới biết. Các khóa luôn được tạo thành một cặp tương ứng

Phương pháp đào bản chất là thêm các khối (block) mới vào chuỗi blockchain thông qua bài toán và phần thưởng

Ví dụ về 1 giao dịch: Alice gửi trả Bob 2 bitcoin

Alice cần lấy private – key kết nối ví, từ private-key với thông điệp sẽ tạo thành chữ ký số

Chữ ký số cùng với địa chỉ của Bob , khóa công khai của Alice, số lượng bitcoin sẽ tạo thành 1 thông điệp được mã hóa. Thông điệp này được “broadcast" đến tất cả các node => Các node sẽ giải mã thông điệp để được nội dung giao dịch.

Các node xác nhận thông điệp và nhận được 1 khối băm từ thông điệp trên.

-> Bài toán đặt ra cho thợ đào: Khối thêm vào phải chứa mã hash của khối trước cộng với data và mã hash của khối mới phải chứa 1 số lượng bit 0 đủ lớn

Ví dụ: input có thể là: 00000d3ae2ac43b66283cf0c89636….

Khối dữ liệu sẽ được thêm vào số nonce. Các thợ mỏ phải tìm ra số nonce để thỏa mãn input

III. Hàm băm

Định nghĩa: là giải thuật nhằm sinh ra các giá trị băm tương ứng với mỗi khối dữ liệu

Tính chất: Một hàm băm H(x) thỏa mãn các điều kiện sau:

  • H có thể áp dụng cho các thông điệp x với các độ dài khác nhau
  • Kích thước của output h = H(x) là cố định và nhỏ
  • Tính một chiều: với một h cho trước, không thể tìm lại được x sao cho h = H(x) (về mặt thời gian tính toán)
  • Tính chống trùng yếu: cho trước một x, không thể tìm y≠ x sao cho H(x) = H(y)
  • Tính chống trùng mạnh: không thể tìm ra cặp x, y bất kỳ (x≠y) sao cho H(x) = H(y), hay nói cách khác nếu H(x) = H(y) thì có thể chắc chắn rằng x = y.

IV. Mã hóa khóa công khai

Mật mã khóa công khai là một yếu tố cơ bản của công nghệ blockchain - nó là công nghệ cơ bản cho ví và giao dịch.

Khi người dùng tạo ví trên blockchain, họ đang tạo cặp khóa công khai-riêng tư.

Địa chỉ của ví là một chuỗi được tạo ra từ khóa công khai. Địa chỉ này được công khai cho tất cả mọi người và có thể được sử dụng để kiểm tra số dư trong ví đó hoặc gửi tiền vào đó.

Khóa cá nhân được liên kết với ví là cách chứng minh quyền sở hữu và kiểm soát ví. Đó là cách duy nhất để gửi tiền ra khỏi nó và một khóa cá nhân bị mất có nghĩa là số tiền bên trong sẽ bị mắc kẹt ở đó mãi mãi.

Ví dụ

Giả sử Alice muốn gửi một tin nhắn được mã hóa cho Bob:

Alice sử dụng khóa công khai của Bob để mã hóa tin nhắn.

Alice gửi tin nhắn được mã hóa cho Bob - nếu bên thứ ba chặn nó, tất cả những gì họ sẽ thấy là các số và chữ cái ngẫu nhiên.

Bob sử dụng khóa riêng của mình để giải mã và đọc tin nhắn

V. Kết luận

Trên đây là 1 số tìm hiểu mà mình muốn chia sẻ dành cho những bạn mới bắt đầu tìm hiểu về mã hóa hay blockchain. Chúc các bạn một ngày làm việc thật hiệu quả và vui vẻ!

Bình luận

Bài viết tương tự

- vừa được xem lúc

[Blockchain] Road to Bitcoin

. Chắc mọi người hẳn đã không còn xa lạ gì với anh chàng tỷ phú đã ném vỡ cửa kính ô tô nhà mình cùng với siêu năng lực điều khiển vật giá chỉ bằng lời nói, người đã đẩy định giá Bitcoin trên thị trường vượt ngưỡng 50K dolar/coin với những bài twitter để đời . .

0 0 46

- vừa được xem lúc

Khi Ethereum có chi phí giao dịch quá đắt đỏ - Tương lai cho layer2 ?

Với sự phát triển như vũ bão của Blockchain, ETH dường như đang quá tải và hệ quả là chi phí Gas đã lên đến 1000Gwei, phí để tạo những transaction phức tạp đã xấp xỉ 500$ . Và một giải pháp cứu cánh cho các sản phẩm Defi trên ETH chính là Layer2, và trong nhiệm vụ lần này Matic đang thể hiện khả năn

0 0 76

- vừa được xem lúc

Blockchain với Java - Tại sao không?

Cuộc cách mạng công nghiệp 4.0 ra đời kéo theo nhiều sự thay đổi và xu hướng mới được hình thành. Riêng đối với lĩnh vực CNTT cũng không nằm ngoài vùng ảnh hưởng mạnh mẽ. Chính làn sóng 4.

0 0 80

- vừa được xem lúc

Phân loại và tầm quan trọng của các node trong mạng blockchain

Trước khi đi vào phân loại và nêu rõ được tầm quan trọng của các node trọng mạng blockchain thì mình xin được trích dẫn khái niệm về blockchain từ Wikipedia như sau:. .

0 1 50

- vừa được xem lúc

Code Smart Contract bằng Assembly ?

Introduction. Hồi còn học trong ghế nhà trường bộ môn lập trình tốn nhiều não nhất của mình là code assembly. Nôm na thì bất cứ ngôn ngữ bậc cao nào như C , Go, Java,... được sinh ra để người dễ hiểu và dễ code , tuy nhiên chúng đều sẽ được compiled down xuống assembly một ngôn ngữ bậc thấp để máy h

0 0 46

- vừa được xem lúc

Dextool - Công cụ phân tích Decentralized Exchange tuyệt vời

. Trend Defi mặc dù đã bớt nhiệt nhưng những sản phẩm nổi bật của làn sóng này mang lại thì vẫn rất được người dùng ưa chuộng. Đặc biệt là các nền tảng Decentralized Exchange, tiêu biểu là Uniswap, SushiSwap, 1inch Exchange, FalconSwap,... Nhưng khi đã sử dụng các nền tảng DEx này mà không biết đến

0 0 95