TỰ TẠO CÔNG NGHỆ BLOCKCHAIN CHO RIÊNG MÌNH (PHẦN 1)

 Một số người nghĩ rằng Blockchain là một giải pháp được chờ đợi cho mọi vấn đề hiện nay, không có nghi ngờ rằng công nghệ này là một điều kỳ diệu của máy tính. Nhưng chính xác Blockchain là gì?

Theo kết quả tìm kiếm trên Google Search, đó là “sổ ghi kỹ thuật số, trong đó các giao dịch được thực hiện bằng Bitcoin hoặc các loại tiền ảo khác được ghi lại theo trình tự thời gian và công khai.”

Nói chung, Blockchain là một cơ sở dữ liệu công cộng, nơi dữ liệu mới được lưu trữ trong các khối và được thêm vào một chuỗi không thay đổi (do đó nó được gọi là Blockchain) với dữ liệu được thêm vào trong quá khứ. Trong trường hợp của bitcoin và các các loại tiền ảo khác, những dữ liệu này là các nhóm giao dịch. Tất nhiên dữ liệu có thể là bất kỳ loại nào.

Trong bài viết này, Hybrid Technologies sẽ cùng bạn tạo ra một blockchain đơn giản với ít hơn 50 dòng code Python 2 (được gọi là SnakeCoin)

Tạo blockchain riêng cho mình

Chúng ta sẽ bắt đầu bằng cách xác định các block sẽ trông như thế nào. Trong Blockchain, mỗi khối được lưu trữ với một timestamp và một index (tùy chọn). Trong SnakeCoin, chúng ta sẽ lưu trữ cả hai. Và để giúp đảm bảo tính toàn vẹn trong suốt quá trình blockchain, mỗi khối sẽ tự xác định hash. Giống bitcoin, mỗi hash của khối sẽ bao gồm: block’s index, timestamp, data, và khối hash trước đó. Dữ liệu có thể là bất cứ thứ gì bạn muốn.

Photo credit: Aunyks.

Vậy là chúng ta đã có 1 cấu trúc khối. Nhưng vì chúng ta đang tạo ra một Blockchain cần phải bắt đầu thêm các khối vào chuỗi giá trị.

Như đã đề cập ở trên, mỗi khối yêu cầu thông tin từ phần trước đó. Điều đó có nghĩa là, làm thế nào khối đầu tiên trong Blockchain đạt được điều đó? Khối đầu tiên (khối gene) là khối đặc biệt. Trong nhiều trường hợp, nó được thêm vào bằng tay hoặc có một logic nhất định cho phép nó được thêm vào. Chúng ta sẽ tạo ra một hàm chỉ đơn giản trả về một khối gene để làm cho mọi thứ trở nên dễ dàng. Khối này có index bằng 0 và nó có một giá trị dữ liệu tùy ý và một giá trị tùy ý trong tham số “trước hash”.

Photo credit: Aunyks.

Bây giờ, chúng ta có thể tạo ra một khối gene, chúng ta cần một hàm để tạo các khối kế tiếp. Chức năng này sẽ lấy các khối trước đó trong chuỗi như là một tham số, tạo ra dữ liệu như một tiền đề, và trả lại một khối mới với các dữ liệu thích hợp của nó. Khi các khối thông tin mới từ những cái trước, sự hoàn thiện của blockchain tăng lên. Các tác động từ bên ngoài thay đổi quá khứ và thay thế dây chuyền của chúng ta bằng một cái mới hoàn toàn của riêng họ nếu chúng ta không làm điều này. Chuỗi hash này hoạt động như một minh chứng bảo mật và giúp đảm bảo rằng khi một khối được thêm vào Blockchain nó không thể được thay thế hoặc gỡ bỏ.

Photo credit: Aunyks.

Bây giờ có thể tạo ra Blockchain của riêng mình! Trong trường hợp này, Blockchain chính là một danh sách Python đơn giản. Phần tử đầu tiên của danh sách là khối gene. Và tất nhiên, chúng ta cần thêm các khối kế tiếp. Bởi vì SnakeCoin là blockchain ít nhất, ta sẽ chỉ thêm khoản 20 cái mới. Chúng ta có thể làm điều này với một vòng lặp for.

Photo credit: Aunyks.

Kiểm tra những gì chúng ta đã làm được.

 

Blockchain của chúng ta đã hoạt động. Nếu bạn muốn xem thêm thông tin trong bảng điều khiển, bạn có thể chỉnh sửa file source hoàn chỉnh và timestamp hoặc dữ liệu của mỗi khối.

Đó là về tất cả những gì mà SnakeCoin cung cấp. Để làm cho quy mô của SnakeCoin trở nên tương thích với các blockchain hiện nay, chúng ta phải bổ sung thêm nhiều tính năng như một lớp máy chủ để theo dõi các thay đổi đối với chuỗi trên nhiều máy và một thuật toán xác minh để hạn chế số khối được thêm vào theo thời gian. Chúc các bạn thành công!

Nguồn: Techinasia.

Facebook Comments
Đánh giá bài viết

Bạn thích bài viết này chứ?
Đăng ký để nhận những bài viết thú vị như thế hàng tuần.

Đừng sợ thất bại, chỉ sợ việc dậm chân tại chỗ

TÌM VIỆC
Bình luận