Cuộc hành trình đi tìm tiếng họa mi bên trong những chuỗi khối - Ứng dụng phi tập trung (P1)
Giống như Deep Learning quá khó thì đã có Keras, thì lập trình các ứng dụng phi tập trung trên nền tảng Ethereum đã có Truffle. Hôm nay có thời gian tổng hợp lại và chia sẻ cho anh em cô gì chú bác hàng xóm láng giềng gần xa chút kiến thức. Để biết đâu ai đó đang có những ý tưởng về ứng dụng phi ...
Giống như Deep Learning quá khó thì đã có Keras, thì lập trình các ứng dụng phi tập trung trên nền tảng Ethereum đã có Truffle. Hôm nay có thời gian tổng hợp lại và chia sẻ cho anh em cô gì chú bác hàng xóm láng giềng gần xa chút kiến thức. Để biết đâu ai đó đang có những ý tưởng về ứng dụng phi tập trung táo bạo mà chưa biết bắt đầu từ đâu có thể bắt tay vào làm ngay.
1. Một số thứ cần biết trong cuộc hành trình
Như các bạn các biết hiện tại có ba loại hệ thống:
- Hệ thống tập trung: các máy tính trong mạng sẽ được kết nối đến một máy chủ và các yêu sẽ được sử lí trên máy chủ này.
- Hệ thống phân tán: trong hệ thống này sẽ có nhiều máy chủ hơn hệ thống tập trung. Điều này giúp cho hệ thống có khả năng chịu lỗi cao hơn hệ thống tập trung. (Khi một máy chủ bị lỗi, vẫn có các máy chủ khác thực hiện công việc)
- Hệ thống phi tập trung: mỗi một máy tính trong hệ thống điều đóng cả 2 vài trò: vừa là server vừa là client. Tất cả các máy tính trong mạng đều ngang hàng với nhau. Người ta nói Blockchain là một cuốn sổ cái phân tán cũng là vì lí do này. Mỗi máy tính tham gia hệ thống Blockchain đều lưu giữ một bản sao của cuốn sổ, vừa có thể góp phần xác minh các block mới trong hệ thống, vừa có thể là nơi tạo các giao dịch được đưa vào block để hệ thống xác minh. Các tính toán trên hệ thống phi tập trung được thực hiện trên nhiều máy tính.
Tuy nhiên ứng dụng phi tập trung ( Decentralized Application - viết tắt là: DApp ) mình muốn các bạn biết các đặc điểm cần lưu ý sau:
- Ứng dụng phải hoàn toàn mã nguồn mở, được điều hành tự động, và không có tổ chức nào kiểm soát được phần lớn token của nó.
- Ứng dụng có thể điều chỉnh giao thức của nó để đáp ứng các cải tiến được đề xuất và phản hồi của thị trường nhưng tất cả các thay đổi phải được quyết định bởi sự đồng thuận của người dùng.
- Các giao thức, dữ liệu và hồ sơ hoạt động của ứng dụng phải được lưu trữ mã hóa trong một Blockchain công cộng, phi tập trung để tránh việc tập trung hóa, dễ trở thành điểm yếu cho các hacker tấn công.
- Ứng dụng cần phải có ít nhất một token được mã hóa (Bitcoin hay một token nội bộ cho hệ thống của chính nó). Token này cần thiết cho việc truy cập vào ứng dụng và dùng để tặng thưởng cho bất kỳ đóng góp nào vào hệ thống.
- Ứng dụng phải tạo token theo thuật toán mật mã chuẩn đóng vai trò là bằng chứng về các node giá trị đang đóng góp cho ứng dụng (Bitcoin sử dụng thuật toán Proof of Work).
Yo... vậy thì bắt tay vào xây dưng một DApp đơn giản thôi nào. Một số thứ cần cài đặt:
- Nodejs
- FrameworkTruffle: Đây là framework được sử dụng phổ biến nhất để xây dựng các ứng dụng trên nền tảng Ethereum
- Ganache: Ứng dụng sẽ tạo một mạng Ethereum local. Sẽ có sẵn các tài khoản chứa 100 ETH (Ước gì là 100 ETH thật chứ không phải test