Blockchain - sổ cái kỹ thuật số được phân tán, không thể thay đổi, được mã hóa - đã thu hút sự chú ý đáng kể từ cộng đồng công nghệ. Ngày nay, hầu như mọi ứng dụng sử dụng hệ thống tập trung đều có thể được phân cấp. Các ví dụ phổ biến bao gồm trao đổi tiền tệ, ngân hàng, bảo hiểm, quản lý hợp đồng, bỏ phiếu, v.v. Như vậy, blockchain có thể loại bỏ trung gian, đảm bảo dữ liệu an toàn và mang lại tính minh bạch. Những ứng dụng tiềm năng của blockchain làm cho nó trở thành một công nghệ rất hấp dẫn.
Trong bài viết này, Blockchain việt sẽ giúp các bạn hiểu quy trình phát triển một ứng dụng dựa trên blockchain. Chúng ta sẽ nghiên cứu làm thế nào để bắt đầu với phát triển blockchain và những quyết định quan trọng được thực hiện là gì. Bài viết này được viết từ một quan điểm phi kỹ thuật để mọi người có được sự hiểu biết chung về quy trình một cách đơn giản nhất có thể.
1.1. Xác định vấn đề và mục tiêu:
Quá trình phát triển bất kỳ ứng dụng nào, cũng cần bắt đầu bằng việc xác định vấn đề đang diễn ra và cách để giải quyết nó. Blockchain đã giành được sự chú ý đáng kể, tuy nhiên vẫn đang có nhiều quan niệm sai lầm về nó.
Thực tế, rất có thể là bạn có thể giải quyết vấn đề của mình mà không cần blockchain, vì blockchain chẳng nó ích gì ở đây. Bạn cần phải quyết định xem thời gian và chi phí đầu tư cho blockchain có mang lại ý nghĩa kinh doanh hay không. Thực hiện phân tích lợi ích/chi phí, kiểm tra tiềm lực cá nhân của bạn và xác định các vấn đề và rủi ro liên quan. Sau đó đưa ra quyết định là nên dùng Blockchain hay cách truyền thống sẽ tốt hơn
1.2. Xác định cơ chế đồng thuận thích hợp nhất:
Vì blockchain là một hệ thống phi tập trung, nó đòi hỏi tất cả các thành viên của mạng để xác thực một giao dịch, quá trình này được gọi là sự đồng thuận. Ví dụ, Bitcoin sử dụng bằng chứng về công việc như một cơ chế đồng thuận. Mặc dù đó là phương pháp phổ biến nhất, nhưng vẫn có rất nhiều lựa chọn thay thế khác dựa trên nhu cầu cá nhân.
Trong số tất cả các thay thế cho bằng chứng về công việc, sau đây là phổ biến nhất:
Proof of stake, Proof of Elapsed Time, Byzantine fault tolerant, Federated, Round Robin and Delegated Proof of Stake ( chúng tôi sẽ để nguyên bản tiếng anh và các bạn có thể search thêm để hiểu nhé !)
Bạn có thể chọn phương pháp lý tưởng dựa trên trường hợp sử dụng cá nhân của bạn.
1.3. Xác định nền tảng phù hợp nhất:
Nền tảng Blockchain ( Blockchain platform) giúp bạn xây dựng một ứng dụng phi tập trung mà không cần tạo một blockchain riêng biệt từ đầu. Hầu hết các nền tảng này ngày nay là nguồn mở do đó sự lựa chọn của bạn nên phụ thuộc vào phương pháp đồng thuận và vấn đề bạn cần phải giải quyết.
Một số nền tảng phổ biến bao gồm: Ethereum, BigChainDB, Hyperledger Fabric, Quorum,…
Bạn nên thực hiện một sự lựa chọn đảm bảo rằng bạn đã cân nhắc những ưu và khuyết điểm của mỗi loại . Trong trường hợp ứng dụng blockchain cấp doanh nghiệp, bạn nên đặt trọng tâm đặc biệt vào sự ổn định và bảo mật của nền tảng blockchain .
1.4. Thiết kế cấu tạo:
Giải pháp Blockchain có thể tồn tại trên đám mây (cloud), máy chủ nội bộ hoặc trong một mô hình hỗn hợp. Ngoài ra còn có nhiều tùy chọn cho cấu hình phần cứng và phần mềm như bộ vi xử lý, hệ điều hành, bộ nhớ và kích thước đĩa, v.v.
Mặc dù điều này có vẻ như công việc tầm thường nhưng bạn cần đảm bảo hệ thống có cấu hình tốt nhất.
Chúng tôi khuyên bạn nên sử dụng đám mây bất cứ khi nào có thể vì nó hỗ trợ hoạt động nhanh và linh hoạt.
Hơn nữa, bạn cần phải lựa chọn giữa các loại giải pháp blockchain sau ( mỗi loại sẽ thích hợp cho một mục đích sử dụng riêng):
• Không cần cấp phép - Bitcoin và các loại tiền điện tử lớn khác, nơi mọi người có thể trở thành thợ mỏ.
• Được cấp phép - Cơ quan đăng ký đất đai của chính phủ hoặc hệ thống bỏ phiếu
• Blockchains riêng tư - Hệ thống quản lý hợp đồng nội bộ trong các bệnh viện và các công ty dược phẩm
• Blockchains công cộng - Ethereum và tiền điện tử được bảo đảm bằng tài sản khác
• Hybrid - Một ứng dụng phổ biến để quản lý KYC được chia sẻ giữa một số ngân hàng.
1.5. Cấu hình ứng dụng:
Cấu hình một ứng dụng blockchain cần lập kế hoạch rất cẩn thận. Có rất nhiều khía cạnh của nền tảng mà một khi đã cấu hình, thì rất khó thay đổi. Một số thành phần chính bao gồm quyền của người dùng, cơ chế phát hành tài sản và tái cấp vốn, trao đổi nguyên tử, sự đồng thuận, quản lý khóa và cấu trúc, thông số, chữ ký, định dạng lắc tay và địa chỉ. Đây là một bước quan trọng để lựa chọn tư vấn chuyên gia nếu bạn vẫn là một tân binh trong công nghệ này.
1.6. Xây dựng các APIs:
Mặc dù bạn có thể nhận được một số API được tạo trước cho mục đích phát triển, bạn sẽ cần phải tạo hầu hết các API cho các trường hợp sử dụng riêng biệt. Một số mục đích chung mà API cần là:
• Tạo cặp khóa và địa chỉ
• Thực hiện các chức năng liên quan đến kiểm toán
• Thực hiện xác thực dữ liệu bằng cách sử dụng chữ ký số và hàm băm
• Lưu trữ và truy xuất dữ liệu
• Quản lý và kích hoạt các hợp đồng thông minh liên quan đến việc phát hành, thanh toán, trao đổi, ký quỹ và nghỉ hưu.
1.7. Thiết kế giao diện người dùng và quản trị viên:
Bây giờ bạn biết những gì được lên kế hoạch trong bước cuối cùng được hỗ trợ là tạo giao diện người dùng và bảng điều khiển dành cho quản trị viên cho ứng dụng.
Ở giai đoạn này, các quyết định cần phải được thực hiện liên quan đến ngôn ngữ lập trình front-end, các máy chủ và cơ sở dữ liệu bên ngoài cho ứng dụng.
Bạn sẽ sử dụng giao diện điều khiển này để quản lý việc khởi chạy mềm của ứng dụng do đó kết hợp các phân tích thích hợp vào hệ thống.
1.8. Kiểm tra và xác định các vấn đề:
Kể từ khi Blockchain vẫn còn trong giai đoạn trứng nước, nên sử dụng mô hình MVP để mở rộng ứng dụng. Trong phương pháp này thay vì phát triển ứng dụng hoàn chỉnh, bạn phát triển một giải pháp khả thi đủ tốt để chứng minh giả thuyết của bạn nhưng không cần đầy đủ các tính năng phụ hoặc giao diện người dùng cao cấp.
Ở giai đoạn này, bạn cần xác định bất kỳ sự cố về hiệu suất, thời gian chờ, sự cố, bộ nhớ hoặc bộ nhớ nào bị trục trặc. Khi và khi vấn đề phát sinh, hãy tìm một giải pháp, thực hiện nó và di chuyển xa hơn. Bằng cách này bạn tiết kiệm các nguồn lực quan trọng mà nếu không sẽ được chi cho việc mở rộng một giải pháp vô nghĩa.
Blockchain là một công nghệ rất mạnh và nó có thể được kết hợp hiệu quả với các công nghệ khác như IoT, Big data, Trí tuệ nhân tạo, Ứng dụng di động, vv Các chuyên gia công nghệ đang rất tích cực về tương lai của blockchain
Bài dịch từ: NewGenApps