Xây dựng 1 Blockchain đơn giản chỉ với 50 dòng code
Tôi là sinh viên năm nhất chuyên ngành Khoa học Máy của Đại học Howard tại Washington, DC, thủ đô của Hoa Kỳ. Bạn có thể tạo một bài đăng cộng đồng giống như Gerald ở đây.
Mặc dù 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 của tôi, đó 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, nó 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.
Công nghệ Blockchain đã làm tăng thêm giá trị đồng tiển ảo như bitcoin và Litecoin mặc dù không được chấp nhận hoặc quản lý bởi cơ quan có trách nhiệm. Điều này mang lại sự tự do giao dịch cho các cá nhân mất niểm tin vào hệ thống ngân hàng ngày nay. Blockchain đã “cách mạng hóa” các tính toán phân tán dưới dạng các công nghệ như Ethereum, và đưa ra các khái niệm thú vị như hợp đồng thông minh.
Trong bài viết này, tôi sẽ tạo ra một blockchain đơn giản với ít hơn 50 dòng code Python 2. Nó sẽ đượ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.
Tuyệt vời! Chúng tôi đã 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ư tôi đã đề 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 đó? Vâng, 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”.
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. Nếu chúng ta không làm điều này, sẽ dễ dàng bị 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ọ. 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ỏ.
Đó là phần công việc khó khăn. Bây giờ, chúng ta 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, chúng tôi 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.
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. Nếu bạn muốn có thêm thông tin về kỹ thuật, bạn có thể xem bản bitcoin gốc ở đây.
Chúc bạn may mắn và hạnh phúc
Via Techinasia
- HSBC thực hiện thành công giao dịch tài trợ thương mại bằng Blockchain lần đầu tiên trên thế giới
- Blockchain – Khởi nguồn của một nền kinh tế mới: Chương 5 – Các khái niệm nâng cao (Phần 2)
- Hơn nửa triệu đô tiền điện tử bị đem bán đấu giá ở Anh
- Việt Nam sẽ sớm trở thành một trong những trung tâm đổi mới Blockchain của Đông Nam Á
- Blockchain sẽ thúc đẩy cuộc cách mạng công nghiệp tiếp theo
- Blockchain – Khởi nguồn của một nền kinh tế mới: Chương 3 – Blockchain 3.0 (Phần 3)
- Blockchain – Khởi nguồn của một nền kinh tế mới: Chương 3 – Blockchain 3.0 (Phần 5)
- Các nhà nghiên cứu Trung Quốc tung ra chỉ số xếp hạng các dự án Blockchain
- Công nghệ Blockchain của startup Việt Nam vinh dự được Chính phủ Lào “chọn mặt gửi vàng”
- Blockchain – Khởi nguồn của một nền kinh tế mới: Chương 5 – Các khái niệm nâng cao (Phần 1)
- Kế Toán Tam-Phân – Cách mạng trong ngành Kế Toán với nền tảng Blockchain
- Cập nhật: 52 sàn giao dịch sẽ hỗ trợ TRON (TRX) nâng cấp Blockchain và di chuyển token
DVMS chuyên:
- Tư vấn, xây dựng, chuyển giao công nghệ Blockchain, mạng xã hội,...
- Tư vấn ứng dụng cho smartphone và máy tính bảng, tư vấn ứng dụng vận tải thông minh, thực tế ảo, game mobile,...
- Tư vấn các hệ thống theo mô hình kinh tế chia sẻ như Uber, Grab, ứng dụng giúp việc,...
- Xây dựng các giải pháp quản lý vận tải, quản lý xe công vụ, quản lý xe doanh nghiệp, phần mềm và ứng dụng logistics, kho vận, vé xe điện tử,...
- Tư vấn và xây dựng mạng xã hội, tư vấn giải pháp CNTT cho doanh nghiệp, startup,...
Vì sao chọn DVMS?
- DVMS nắm vững nhiều công nghệ phần mềm, mạng và viễn thông. Như Payment gateway, SMS gateway, GIS, VOIP, iOS, Android, Blackberry, Windows Phone, cloud computing,…
- DVMS có kinh nghiệm triển khai các hệ thống trên các nền tảng điện toán đám mây nổi tiếng như Google, Amazon, Microsoft,…
- DVMS có kinh nghiệm thực tế tư vấn, xây dựng, triển khai, chuyển giao, gia công các giải pháp phần mềm cho khách hàng Việt Nam, USA, Singapore, Germany, France, các tập đoàn của nước ngoài tại Việt Nam,…
Quý khách xem Hồ sơ năng lực của DVMS tại đây >>
Quý khách gửi yêu cầu tư vấn và báo giá tại đây >>