Đăng ký Đăng nhập
Trang chủ Ứng dụng hỗ trợ xem thông tin cà phê dựa trên Blockchain...

Tài liệu Ứng dụng hỗ trợ xem thông tin cà phê dựa trên Blockchain

.PDF
57
185
124

Mô tả:

TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ----- ----- BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: ỨNG DỤNG HỖ TRỢ XEM THÔNG TIN CÀ PHÊ DỰA TRÊN BLOCKCHAIN VĂN CÔNG THIỆU BIÊN HÒA, THÁNG 11/2018 LỜI CẢM ƠN Em xin chân thành cảm ơn tất cả các giảng viên trường Đại Học Lạc Hồng, các thầy cô khoa Công Nghệ Thông Tin đã giảng dạy và hướng dẫn chúng em trong suốt thời gian chúng em theo học tại trường. Em xin gửi lời cảm ơn đến ThS Phan Thị Hường, là giáo viên đã tận tình hướng dẫn chúng em hoàn thành đề tài nghiên cứu khoa học này. Em xin cám ơn các thầy, các cô trong khoa Công Nghệ Thông Tin đã có những ý kiến đóng góp trong các buổi báo cáo tiến độ. Ngoài ra em xin cám ơn thầy Tạ Nguyễn, giáo viên chủ nhiệm lớp 14SE111 và các bạn trong lớp cùng toàn thể gia đình và người thân đã giúp đỡ, động viên chúng em trong quá trình thực hiện đề tài này. Với vốn kiến thức còn hạn chế cùng những điều kiện khách quan không cho phép, đề tài của em khó tránh khỏi những thiếu sót cũng như chưa đáp ứng đầy đủ các yêu cầu. Do đó em hy vọng tiếp tục nhận được những ý kiến đóng góp và hướng dẫn của quý thầy cô để đề tài của em được hoàn thiện hơn. Em xin chân thành cảm ơn. Biên Hòa, tháng 11 năm 2018 Sinh viên thực hiện Văn Công Thiệu MỤC LỤC LỜI CẢM ƠN MỤC LỤC I II DANH MỤC BẢNG IV DANH MỤC HÌNH IV DANH MỤC CÁC TỪ VIẾT TẮT VI PHẦN MỞ ĐẦU 1 1. Lý do chọn đề tài 1 2. Tình hình nghiên cứu 1 3. Mục tiêu nghiên cứu 2 4. Đối tượng và phạm vi nghiên cứu 2 5. Phương pháp nghiên cứu 3 6. Những đóng góp mới của đề tài và những vấn đề mà đề tài chưa thực hiện được 3 7. Kết cấu của đề tài Chương 1: Tổng quan lý thuyết 3 5 1.1. Tổng quan về blockchain 5 1.1.1. Blockchain là gì? 5 1.1.2. Ý tưởng ra đời 5 1.1.3. Phân loại blockchain 6 1.1.4. Cơ chế đồng thuận trong blockchain 6 1.1.5. Đặc điểm chính của blockchain 7 1.1.6. Tương lai của blockchain 7 1.2. Tổng quan về Ethereum 8 1.2.1. Ethereum là gì? [3] 8 1.2.2. Kiến trúc 8 1.2.3. Ứng dụng 9 1.3. Tổng quan về smart contracts 9 1.3.1. Smart contracts là gì? 9 1.3.2. Ý tưởng ra đời Smart Contract? 9 1.3.3. Nguyên lý hoạt động 9 1.3.4. Các thành phần của smart contracts 10 1.3.5. Lợi ích 10 1.4. Các ứng dụng phi tập trung 10 1.4.1. Ứng dụng phi tập trung là gì? 10 1.4.2. Xây dựng một dApp? 11 1.5. Giới thiệu về một số phần mềm và thư viện sử dụng trong đề tài 11 1.5.1. Phần mềm Geth 11 1.5.2. Trình soạn thảo và biên dịch smart contract Remix. 11 1.5.3. Nodejs 12 1.5.4. Framework hỗ trợ triển khai smart contract Truffle 12 1.5.5. Web3.js 12 1.5.6. Metamask 12 1.5.7. Apache 12 1.6. Tiểu kết 12 Chương 2: Xây dựng hệ thống private network blockchain dựa trên nền tảng Ethereum 13 2.1. Cài đặt môi trường lập trình và một số thư viện cần thiết 13 2.1.1. Cài đặt môi trường Ethereum 13 2.1.2. Chạy thử geth 13 2.2. Thiết lập genesis block 13 2.3. Cài đặt và thiết lập cho miner 14 2.3.1. Khởi tạo miner từ genesis block 14 2.3.2. Tạo tài khoản cho người dùng trong hệ thống 15 2.3.3. Tạo file thực thi miner 15 2.3.4. Thử thực hiện giao dịch 17 2.4. Kết nối và đồng bộ các miner với nhau 17 2.5. Tiểu kết 19 Chương 3: Xây dựng ứng dụng và website với hệ thống blockchain dựa trên smart contracts 20 3.1. Sơ đồ hệ thống 21 3.1.1. Mô tả hệ thống 21 3.1.2. Mô hình Usecase của người dung 21 3.1.3. Mô hình UseCase của tài khoản User 22 3.1.4. Mô hình UseCase của Admin 23 3.2. Xây dựng smart contracts quản lý thông tin cà phê 3.2.1. Cài đặt framework truffle 25 25 3.2.2. Tạo smart contract 25 3.2.3. Kết nối smart contracts với hệ thống 26 3.3. Kết nối hệ thống lên website và ứng dụng 27 3.3.1. Tạo giao diện website 27 3.3.2. Kết nối website với hệ thống blockchain 29 3.3.3. Sử dụng metamask trình duyệt chạy được dApp 33 3.3.4. Tiểu kết 36 3.4. Xây dựng ứng dụng xem thông tin 36 3.4.1. Giao diện ứng dụng 36 3.4.2. Kết nối ứng dụng với server 37 Chương 4: THỬ NGHIỆM VÀ KẾT LUẬN 39 TÀI LIỆU THAM KHẢO 41 DANH MỤC BẢNG Bảng 4.1: Bảng so sánh lưu trữ trên blockchain vs server 45 DANH MỤC HÌNH Hình 1.1: Ý tưởng ra đời blockchain. [2] 5 Hình 1.2: Nguyên lý hoạt động smart contracts. [4] 10 Hình 1.3: Ứng dụng phi tập trung. [5] 11 Hình 2.1: Sau khi khởi tạo miner. 15 Hình 2.2: Chạy miner. 16 Hình 2.3: Vào trình điều khiển của hệ thống. 16 Hình 2.4: Kiểm tra các tài khoản trong hệ thống. 17 Hình 3.1: Sơ đồ hệ thống. 20 Hình 3.2: Mô hình Usecase tổng quát. 21 Hình 3.3: Mô hình Usecase người dùng. 21 Hình 3.4: Mô hình Usecase Admin. 23 Hình 3.5: Sơ đồng hoạt động của smart contract với hệ thống và các API hỗ trợ giao dịch. 25 Hình 3.6: Biên dịch smart contracts. 26 Hình 3.7: Kết nối với hệ thống blockchain. 27 Hình 3.8:Kiểm tra địa chỉ của smart contracts. 27 Hình 3.9: Giao diện website Admin 28 Hình 3.10: Giao diện quản lý lô hàng. 28 Hình 3.11: Giao diện quản lý user 29 Hình 3.12: Giao diện quản lý của user 29 Hình 3.13: Giao diện của metamask. 33 Hình 3.14: Chọn port để kết nối với private network. 34 Hình 3.15: Chọn Import Account để thêm tài khoản. 34 Hình 3.16: Chọn file json từ keystore để thêm tài khoản. 35 Hình 3.17: Thêm tài khoản thành công. 35 Hình 3.18: Màn hình quét mã QR code. 36 Hình 3.19: Màn hình thông tin lô hàng. 36 Hình 3.20:Sơ đồ truyền dữ liệu từ ứng dụng lên server và ngược lại. 37 Hình 4.1: Khi thay đổi dữ liệu trong block. 39 DANH MỤC CÁC TỪ VIẾT TẮT Viết tắt dApp ETH EVM Tiếng Việt Ứng dụng dựa trên nền tảng phân tán phi tập trung. Đơn vị tiền điện tử của blockchain Ethereum. Máy ảo Ethereum. PHẦN MỞ ĐẦU 1. Lý do chọn đề tài Vệ sinh an toàn thực tập là một trong những vấn đề được quan tâm nhất của xã hội và là vấn đề được thời sự,báo đài quan tâm đặc biệt, nhất là khi ngày càng nhiều các vi phạm về an toàn thực phẩm của các cơ sở sản xuất được các cơ quan chức năng phát hiện càng nhiều.Hiện nay giá cả hàng hóa và dịch vụ không còn là yếu tố quan tâm nhiều nhất, mà thay là đó là chất lượng, tiêu chuẩn liên quan đến an toàn người tiêu dùng và môi trường.Người tiêu dùng quan tâm đến nguồn gốc và quá trình sản xuất đó là chính đáng. Do sự phát triển của nhu cầu xã hội, các nước đặc biệt là các nước phát triển đã triển khai áp dụng các quy định kỹ thuật và vệ sinh đối với các sản phẩm cà phê nhập khẩu. Các quy định này ngày càng khắt khe, chặt chẽ và kiểm soát nghiêm ngặt. Các nước xuất khẩu cà phê trên thế giới đề rất quan tâm đến vấn đề đảm bảo chất lượng cũng như an toàn thực phẩm và coi nhiệm vụ quan trọng trong hoạt động xuất khẩu cà phê của mình. Trong những năm gần đây, ngành cà phê Việt Nam đã có những bước phát triển dài, đáng ghi nhận, không những đáp ứng nhu cầu trong nước mà còn trở thành một trong những ngành xuất khẩu chủ lực, nhưng để vượt qua các rào cản, đẩy mạnh xuất khẩu là một vấn đề rất khó khăn và cấp bách của ngành xuất khẩu cà phê của nước ta hiện tại. Chính vì thế các doanh nghiệp sản xuất cà phê của Việt Nam cần thiết áp dụng hệ thống truy xuất nguồn gốc. Mặc dù hệ thống này có thể làm tăng chi phí, nhưng đồng thời lợi ích thu lại từ việc an toàn là không hề nhỏ. Hệ thống truy xuất giúp khách hàng tin tưởng vào chất lượng và an toàn đối với sản phẩm của mình, qua đó nâng cao uy tín trên thị trường. Thêm vào đó, hệ thống còn giúp các doanh nghiệp có thẻ quản lý tốt chất lượng sản phẩm, từ khâu nuôi trồng, chế biến cho đến quá trình vận chuyển và phân phối. Nếu có sự cố xảy ra bất ngờ, doanh nghiệp có thể tìm ra nguyên nhân nhanh chóng và đưa ra biện pháp xử lý kịp thời. Đây là vấn đề không còn mới mẻ trên thế giới, họ đã áp dụng và thu được nhiều kết quả tốt nhưng còn khá xa lạ ở Việt Nam, em hi vọng qua nội dung mà em thực hiện trong đề tài sẽ có thể hiểu nhiều hơn về hệ thống truy xuất nguồn gốc từ đó có hướng áp dụng hiệu quả cho các doanh nghiệp sản xuất cà phê. Đây là vấn đề mới và thực tế rất cần thiết. Chính vì những lý do trên mà em đã chọn thực hiện đề tài này. 2. Tình hình nghiên cứu ❖ Ngoài nước Hệ thống truy xuất nguồn gốc phổ biến ở châu Âu và Mỹ la tinh đặt biệt là các nước EU và EU cũng đưa ra nhiều quy định cho các nước nhập khẩu vào EU. Chính vì là một thị trường phát triển ở trình độ cao nên đòi hỏi của người tiêu dùng đối với hàng hóa nhập khẩu rất khắt khe. Tại đây, giá cả hàng hóa và dịch vụ không phải là yếu tố được quan tâm nhiều, mà yêu cầu trước hết là chất lượng, mẫu mã, những tiêu chuẩn liên quan đến bảo vệ môi trường và bảo vệ sức khoẻ người tiêu dùng. Hiện nay, trên thị trường tất cả các nước thành viên EU, mọi hàng hóa nhập khẩu thường phải được kiểm tra ngay từ khâu sản xuất tại nước xuất xứ nhằm đảm bảo cho sản phẩm làm ra đáp ứng được những tiêu chuẩn của thị trường nhập khẩu. Đối với ngành công nghệ thực phẩm thì ở Australia, Italia, Canada, Mỹ, Tây Ban Nha áp dụng truy xuất nguồn gốc cho các sản phẩm thịt bò, thịt cừu, các sản phẩm từ thịt heo, cà phê. Ví dụ mới đây Quỹ Bảo vệ Động vật Hoang dã Thế giới (WWF) tại Australia, Fiji và New Zealand, phối hợp với nhà đổi mới công nghệ ConsenSys, công ty TraSeable và công ty chế biến cá ngừ và chế biến cá ngừ đại dương Sea Quest Fiji Ltd. vừa đưa ra dự án thí điểm đối với cá ngừ Quần đảo Thái Bình Dương, đây là ngành công nghiệp mà sẽ sử dụng công nghệ blockchain để theo dõi hành trình của cá ngừ từ "khi đánh bắt đến khi sử dụng". Malawi đang tìm cách hiện thực hóa điều này, sử dụng công nghệ blockchain làm nền tảng để truy xuất các chuỗi cung ứng cho các loại trà mà Unilever và chuỗi siêu thị Anh Sainsbury đang bày bán. IBM và Walmart sử dụng công nghệ blockchain để truy xuất nguồn gốc thịt lợn trung quốc,... ❖ Trong nước UBND TP.Hà Nội cũng nêu rõ các giải pháp sẽ được Thành phố tập trung triển khai. Trong đó, bên cạnh các giải pháp về tham mưu, chỉ đạo và tuyên truyền, tập huấn, Kế hoạch cũng dự kiến những nội dung công việc nhằm triển khai duy trì và phát triển hệ thống thông tin điện tử sử dụng mã QR truy xuất nguồn gốc nông sản thực phẩm. Mới đây tại diễn đàn Nông nghiệp Mùa Xuân 2018 có chủ đề “Đổi mới chuỗi cung ứng nhằm tăng cường hiệu quả nền nông nghiệp Việt Nam” ngày 24/4 đã đem lại nhiều bất ngờ thú vị. Điều đặc biệt, 3 tập đoàn của Thái và Công ty Cổ phần Lina Network đã chọn khuôn khổ Diễn đàn để thực hiện Lễ ký kết biên bản ghi nhớ thỏa thuận hợp tác ứng dụng Lina Paltform vào chuỗi cung ứng (còn gọi là ứng dụng Lina Supply Chain/LINA của Công ty Cổ phần Lina Network). Vào tháng 6 vừa qua, tại một sự kiện khác về blockchain - Vietnam Blockchain Summit 2018 với chủ đề "Từ công nghệ tới chính sách" - 500 trái xoài ứng dụng công nghệ blockchain để truy xuất nguồn gốc của HTX Mỹ Xương đã được trình làng. 3. Mục tiêu nghiên cứu Đề tài thực hiện với các mục tiêu: − − − − − Tìm hiểu về blockchain. Xây dựng một hệ thống blockchain private network. Tìm hiểu smart contract. Lập trình một smart contract để thực hiện quản lý thông tin cà phê. Xây dựng một website hỗ trợ tra cứu và quản lý thông tin cà phê. − Xây dựng app để xem thông tin cà phê. 4. Đối tượng và phạm vi nghiên cứu ❖ Đối tượng nghiên cứu − Nền tảng Ethereum blockchain. − Ngôn ngữ lập trình Solidity để lập trình smart contract. − Framework Truffle của nodejs để triển khai smart contract lên hệ thống blockchain. − Thư viện web3js. ❖ Phạm vi nghiên cứu − Xây dựng một hệ thống blockchain nội bộ. − Lập trình một hợp đồng thông minh trong việc quản lý bằng. − Xây dựng một website và ứng dụng dựa trên nền tảng blockchain. 5. Phương pháp nghiên cứu − Nghiên cứu về cách thức làm việc với hệ thống blockchain của Ethereum. − Tìm hiểu quy trình của sản phẩm cà phê tới người tiêu dung. − Phân tích dữ liệu để lập trình smart contract trong quản lý. − Nghiên cứu cách để kết nối website với blockchain. 6. Những đóng góp mới của đề tài và những vấn đề mà đề tài chưa thực hiện được ❖ Những đóng góp mới − Ứng dụng công nghệ blockchain đưa vào thực tiễn, giúp hạn chế việc làm giả thông tin sản phẩm. − Đóng góp thêm một giải pháp chống làm giả thông tin sản phẩm, nâng cao an toàn thông tin sản phẩm. ❖ Những vấn đề chưa thực hiện được − Chưa lấy được dữ liệu thực tế. − Hệ thống còn chậm do phụ thuộc vào cấu hình máy tính. 7. Kết cấu của đề tài Luận văn được chia làm ba phần: phần mở đầu, phần nội dung và phần kết luận. Phần mở đầu Nêu lý do chọn đề tài, tổng quan tình hình phát triển, mục tiêu nghiên cứu đề tài, đối tượng, phạm vi, phương pháp nghiên cứu cũng như những đóng góp mới của đề tài. Bên cạnh đó cũng chỉ ra mặt hạn chế mà đề tài chưa thực hiện được để giúp mọi người có cái nhìn rõ hơn. Phần nội dung chính: gồm 3 chương ● Chương 1: Tổng quan lý thuyết Trong chương này tác giả sẽ giới thiệu về kiến thức cơ bản về công nghệ blockchain, nền tảng ethereum, smart contract và các ứng dụng phi tập trung. Đồng thời, tác giả cũng sẽ giới thiệu một số thư viện và framework mà tác giả đã dùng trong đề tài. ● Chương 2: Xây dựng hệ thống blockchain dựa trên nền tản Ethereum Trong chương này tác giả trình bày chi tiết cho người đọc sẽ hiểu cách để tự xây dựng một hệ thống private network blockchain dựa trên nền tảng Ethereum. ● Chương 3: Xây dựng ứng dụng và website với hệ thống blockchain dựa trên smart contracts Trong chương này tác giả nêu một số kiến thức cơ bản của smart contracts,ngôn ngữ solidity, kết nối smart contracts lên hệ thống blockchain để tạo ra một cơ sở dữ liệu kết nối với website. Phần kết luận Đưa ra những kết luận và kiến nghị về chương trình đã xây dựng. Chương 1: 1.1. Tổng quan lý thuyết Tổng quan về blockchain 1.1.1. Blockchain là gì? Blockchain sở hữu tính năng vô cùng đặc biệt đó là việc truyền tải dữ liệu không đòi hỏi một trung gian để xác nhận thông tin. Hệ thống Blockchain tồn tại rất nhiều nút độc lập có khả năng xác thực thông tin mà không đòi hỏi “dấu hiệu của niềm tin”. Thông tin trong Blockchain không thể bị thay đổi và chỉ được bổ sung thêm khi có sự đồng thuận của tất cả các nút trong hệ thống. Đây là một hệ thống bảo mật an toàn cao trước khả năng bị đánh cắp dữ liệu. Ngay cả khi một phần của hệ thống Blockchain sụp đổ, những máy tính và các nút khác sẽ tiếp tục bảo vệ thông tin và giữ cho mạng lưới tiếp tục hoạt động. Blockchain sở hữu tính năng vô cùng đặc biệt đó là việc truyền tải dữ liệu không đòi hỏi một trung gian để xác nhận thông tin. Hệ thống Blockchain tồn tại rất nhiều nút độc lập có khả năng xác thực thông tin mà không đòi hỏi “dấu hiệu của niềm tin”. Thông tin trong Blockchain không thể bị thay đổi và chỉ được bổ sung thêm khi có sự đồng thuận của tất cả các nút trong hệ thống. Đây là một hệ thống bảo mật an toàn cao trước khả năng bị đánh cắp dữ liệu. Ngay cả khi một phần của hệ thống Blockchain sụp đổ, những máy tính và các nút khác sẽ tiếp tục bảo vệ thông tin và giữ cho mạng lưới tiếp tục hoạt động.. [1]fydyvcc 1.1.2. Ý tưởng ra đời Bắt nguồn từ bài toán Các vị tướng Byzantine (Byzantine Generals) trong ngành khoa học máy tính và xử lý đường truyền tin cậy trong một hệ thống phân cấp. Nội dung bài toán mô tả: Một đạo quân đi chiếm thành và các vị tướng nằm ở nhiều vị trí khác nhau. Trong đó có N tướng trung thành muốn chiếm thành và M tướng phản bội muốn rút binh, một tướng phản bội truyền tin cho một nhóm là tấn công và truyền tin cho nhóm khác là rút binh. Vậy làm sao để các tướng có thể nhất quán thông tin và cùng nhau chiếm thành? Chỉ cần một sơ xuất trong việc truyền tin có thể khiến cả đạo quân có thể bị tiêu diệt. [2] Hình 1.1: Ý tưởng ra đời blockchain. [2] Đây là ý tưởng mở đầu cho một hệ thống Blockchain có thể giúp các vị tướng tin tưởng nhau hơn. Sau cuộc khủng hoảng tài chính năm 2008, hệ thống tài chính Mỹ sụp đổ hoàn toàn khiến người dân đánh mất niềm tin vào đồng tiền của một bên thứ ba đáng tin cậy. Ý tưởng về Bitcoin – một đồng tiền phân cấp ngang hàng trên mạng máy tính lần đầu tiên được Satoshi Nakamoto đưa ra, cũng là ứng dụng đầu tiên của Blockchain. 1.1.3. Phân loại blockchain Hệ thống Blockchain chia thành 3 loại chính: - Public: Bất kỳ ai cũng có quyền đọc và ghi dữ liệu trên Blockchain. Quá trình xác thực giao dịch trên Blockchain này đòi hỏi phải có hàng nghìn hay hàng vạn nút tham gia. Do đó để tấn công vào hệ thống Blockchain này là điều bất khả thi vì chi phí khá cao. Ví dụ: Bitcoin, Ethereum… - Private: Người dùng chỉ được quyền đọc dữ liệu, không có quyền ghi vì điều này thuộc về bên tổ chức thứ ba tuyệt đối tin cậy. Tổ chức này có thể hoặc không cho phép người dùng đọc dữ liệu trong một số trường hợp. Bên thứ ba toàn quyền quyết định mọi thay đổi trên Blockchain. Vì đây là một Private Blockchain, cho nên thời gian xác nhận giao dịch khá nhanh vì chỉ cần một lượng nhỏ thiết bị tham gia xác thực giao dịch. Ví dụ: Ripple là một dạng Private Blockchain, hệ thống này cho phép 20% các nút là gian dối và chỉ cần 80% còn lại hoạt động ổn định là được. - Permissioned: Hay còn gọi là Consortium, một dạng của Private nhưng bổ sung thêm một số tính năng nhất định, kết hợp giữa “niềm tin” khi tham gia vào Public và “niềm tin tuyệt đối” khi tham gia vào Private. Ví dụ: Các ngân hàng hay tổ chức tài chính liên doanh sẽ sử dụng Blockchain cho riêng mình. [2] 1.1.4. Cơ chế đồng thuận trong blockchain Cơ chế đồng thuận trong Blockchain có thể hiểu như cách thức mà các vị tướng Byzantine có thể đạt đồng thuận để cùng nhau chiếm thành. Sau đây là các loại cơ chế đồng thuận phổ biến: - Proof of Work (Bằng chứng Công việc): Phổ biến trong Bitcoin, Ethereum, Litecoin, Dogecoin và hầu hết các loại tiền mã hoá. Tiêu tốn khá nhiều năng lượng điện. - Proof of Stake (Bằng chứng Cổ phần): Phổ biến trong Decred, Peercoin và trong tương lai là Ethereum và nhiều loại tiền mã hoá khác. Phân cấp hơn, tiêu hao ít năng lượng và không dễ gì bị đe doạ. - Delegated Proof-of-Stake (Uỷ quyền Cổ phần): Phổ biến trong Steemit, EOS, BitShares. Chi phí giao dịch rẻ; có khả năng mở rộng; hiệu suất năng lượng cao. Tuy nhiên vẫn một phần hơi hướng tập trung vì thuật toán này lựa chọn người đáng tin cậy để uỷ quyền. - Proof of Authority (Bằng chứng Uỷ nhiệm): Đây là mô hình tập trung thường thấy trong POA.Network, Ethereum Kovan testnet. Hiệu suất cao, có khả năng mở rộng tốt. - Proof-of-Weight (Bằng chứng Khối lượng / Càng lớn càng tốt): Phổ biến trong Algorand, Filecoin. Có thể tuỳ chỉnh và khả năng mở rộng tốt. Tuy nhiên quá trình thúc đẩy việc phát triển sẽ là một thử thách lớn. - Byzantine Fault Tolerance (Đồng thuận chống gian lận / Tướng Byzantine bao vây Blockchain): Phổ biến trong Hyperledger, Stellar, Dispatch, và Ripple. Năng suất cao; chi phí thấp; có khả năng mở rộng. Tuy nhiên vẫn chưa thể tin tưởng hoàn toàn. Thuật toán này có 2 phiên bản là: - Practical Byzantine Fault Tolerance (Đồng thuận chống gian lận / Tướng Byzantine bao vây Blockchain trong thực tế) Federated Byzantine Agreement (Liên minh Byzantine cùng đồng thuận) Directed Acyclic Graphs (Thuật toán tô pô): Thường thấy trong Iota (công nghệ Tangle), Hashgraph, Raiblocks/Nano (công nghệ Block-lattice), là một đối thủ của Blockchain. [2] 1.1.5. Đặc điểm chính của blockchain Không thể làm giả, không thể phá hủy các chuỗi Blockchain: theo như lý thuyết thì chỉ có máy tính lượng tử mới có thể giải mã Blockchain và công nghệ Blockchain biến mất khi không còn Internet trên toàn cầu. Bất biến: dữ liệu trong Blockchain không thể sửa (có thể sửa nhưng sẽ để lại dấu vết) và sẽ lưu trữ mãi mãi. Bảo mật: Các thông tin, dữ liệu trong Blockchain được phân tán và an toàn tuyệt đối. Minh bạch: Ai cũng có thể theo dõi dữ liệu Blockchain đi từ địa chỉ này tới địa chỉ khác và có thể thống kê toàn bộ lịch sử trên địa chỉ đó. Hợp đồng Thông minh: là hợp đồng kỹ thuật số được nhúng vào đoạn code ifthis-then-that (IFTTT), cho phép chúng tự thực thi mà không cần bên thứ ba. [1] 1.1.6. Tương lai của blockchain Sự xuất hiện của Blockchain cũng như các cột mốc khi máy tính cá nhân hoặc Internet ra đời, hệ thống này sẽ thay đổi cách mà chúng ta hiểu biết và nhìn nhận xã hội. Thông tin trong Blockchain không thể bị làm giả (có thể nhưng vẫn sẽ để lại dấu vết), mọi thay đổi cần phải nhận được sự đồng thuận của tất cả các nút tham gia trong hệ thống. Nó là một hệ thống không dễ dàng sụp đổ, vì ngay cả khi một phần mạng lưới tê liệt thì các nút khác vẫn sẽ tiếp tục hoạt động để bảo vệ thông tin. Công nghệ Blockchain mở ra một xu hướng mới cho các lĩnh vực như truy xuất nguồn gốc sản phẩm ,tài chính ngân hàng, logistics, điện tử viễn thông, kế toán kiểm toán… Hiện nay có rất nhiều công ty và tập đoàn lớn đang xây dựng mạng lưới Blockchain cho riêng mình. Vì thế chúng ta sẽ sớm thấy điều này có thể tạo ra một làn sóng cho tương lai. [2] 1.2. Tổng quan về Ethereum 1.2.1. Ethereum là gì? [3] ● Ethereum là một nền tảng mã nguồn mở dựa trên công nghệ Blockchain cho phép các nhà phát triển xây dựng và triển khai các ứng dụng và hợp đồng thông minh hoạt động trên nền tảng Blockchain. ● Mạng lưới Ethereum sử dụng đồng coin “Ether” hoạt động với tư cách tiền tệ của mạng lưới. Ether được trao đổi như một cách thức chi trả cho việc vận hành các ứng dụng phi tập trung trên mạng lưới. Đồng Ether cũng là coin lớn thứ hai thế giới vì giá trị vốn hóa thị trường đứng sau Bitcoin. 1.2.2. Kiến trúc ● Ether Tiền mã hóa được giao dịch trong mạng lưới Ethereum được gọi là ether. Nó được liệt kê dưới mã ETH và giao dịch trên các sàn giao dịch tiền mã hóa. Nó cũng được sử dụng để trả phí giao dịch và dịch vụ tính toán trên mạng Ethereum. ● Máy ảo Ethereum (Ethereum Virtual Machine) Máy ảo Ethereum là một môi trường chạy các hợp đồng thông minh Ethereum. Nó được hoàn toàn cô lập từ mạng, hệ thống tập tin và các quá trình khác của hệ thống máy chủ. Mỗi nút Ethereum trong mạng chạy một EVM và thực hiện các hướng dẫn giống nhau. Ethereum Virtual Machines đã được lập trình trong C++, Go, Haskell, Java, Python, Ruby, Rust và WebAssembly. ● Hợp đồng thông minh Hợp đồng thông minh là một cơ chế trao đổi xác định, được kiểm soát bởi các phương tiện kỹ thuật số mà có thể giúp cho việc thực hiện giao dịch trực tiếp giữa các thực thể mà không cần tin cậy nhau. Các hợp đồng này được định nghĩa bằng cách lập trình và được chạy chính xác như mong muốn mà không bị kiểm duyệt, lừa đảo hay sự can thiệp từ bên thứ ba trung gian. Chúng có thể được sử dụng để tạo điều kiện, xác minh và thực thi việc đàm phán hoặc thực hiện các hướng dẫn thủ tục kinh tế và có khả năng tránh được sự kiểm duyệt, thông đồng và rủi ro từ phía đối tác. Trong Ethereum, các hợp đồng thông minh được coi là các kịch bản tự trị hoặc các ứng dụng phân cấp được lưu trữ trong chuỗi khối Ethereum để thực hiện sau đó bởi EVM. Các hướng dẫn được nhúng trong các hợp đồng Ethereum được thanh toán bằng ether và có thể được thực hiện bằng nhiều ngôn ngữ Turing-complete khác nhau. ● Tài khoản Mỗi tài khoản Ethereum được đại diện bởi 20 ký tự. Các thông số sau được lưu trong dữ liệu trạng thái (state) của Ethereum cho mỗi tài khoản: - Số nonce, để đảm bảo mỗi giao dịch chỉ được xử lý một lần. - Số dư tài khoản - Mã nguồn hợp đồng (nếu có) - Phần lưu trữ của tài khoản (mặc định là trống) Có hai loại tài khoản: Tài khoản ngoại vi được quản lý bởi khóa riêng tư, và tài khoản hợp đồng được quản lý bởi mã hợp đồng. Tài khoản ngoại vi không chứa mã hợp đồng, có thể gửi thông điệp đi bằng cách tạo và ký kết một giao dịch, giống như tài khoản Bitcoin. Về phía tài khoản hợp đồng, mỗi khi nó nhận được 1 thông điệp, mã hợp đồng sẽ chạy và cho phép đọc và ghi vào phần lưu trữ của nó, kèm theo việc gửi thông điệp đi và tạo ra hợp đồng khác lần lượt. 1.2.3. Ứng dụng Ethereum (ETH) là một loại cryptocurrency mới tương tự như Bitcoin. Nhưng Ethereum không đơn thuần chỉ là một loại tiền tệ. Ethereum là một nền tảng điện toán có tính chất phân tán, công cộng, mã nguồn mở dựa trên công nghệ Blockchain. Mục tiêu của Ethereum hướng tới là tạo ra một nền tảng blockchain cho các lập trình viên tạo ra các ứng dụng kết nối với smart contracts nhằm giải quyết mọi số vấn đề cần thiết cho cuộc sống. 1.3. Tổng quan về smart contracts 1.3.1. Smart contracts là gì? − Smart contract là một bộ giao thức đặc biệt với mục tiêu là đóng góp xác nhận hay tiến hành quá trình đàm phán và thực hiện hợp đồng. Smart contract cho phép chúng ta triển khai giao dịch mà không cần thông qua một bên thứ ba trung gian. − Những giao dịch này hoàn toàn dễ dàng truy dấu và không thể bị can thiệp hoặc đảo chiều. Smart contract chứa trong mình toàn bộ những thông tin chi tiết về các điều khoản và thực hiện chúng một cách tự động. 1.3.2. Ý tưởng ra đời Smart Contract? Ý tưởng này ban đầu được đưa ra bởi nhà khoa học máy tính và viết mật mã Nick Szabo vào năm 1994. Ông đã nêu ra những nguyên tắc hoạt động chính, nhưng ở thời điểm ấy thì vẫn chưa có đủ phương tiện và môi trường thích hợp để hiện thực hóa tất cả. Thế nhưng mọi chuyện đã thay đổi với sự ra đời và phát triển của công nghệ Blockchain. Bitcoin đã đặt ra những nền tảng cơ bản cho việc thiết lập hợp đồng trên Blockchain. Tuy nhiên, nó vẫn chưa thể thỏa mãn mọi yêu cầu. Chỉ đến khi Ethereum xuất hiện thì ý tưởng smart contract mới được phổ biến đến cho mọi người dùng, cung cấp cho ta thêm một phương thức mới để thiết lập hợp đồng. [4] 1.3.3. Nguyên lý hoạt động Nguyên lý vận hành của smart contract có thể đem so sánh với một chiếc máy bán hàng tự động. Chúng chỉ tự động thực hiện những lệnh mà đã được lập trình sẵn từ trước. Đầu tiên, tài sản và điều khoản hợp đồng đều được mã hóa và chuyển vào một block thuộc Blockchain. Smart contract này tiếp đó sẽ được phân phối và sao chép lại bởi các node hoạt động trên nền tảng đó. Hình 1.2: Nguyên lý hoạt động smart contracts. [4] Sau khi có nhận lệnh triển khai thì hợp đồng sẽ được triển khai theo đúng như điều khoản định sẵn. Đồng thời, smart contract cũng sẽ tự động kiểm tra quá trình thực hiện những cam kết nêu trong hợp đồng 1.3.4. Các thành phần của smart contracts - Chủ thể hợp đồng: Chương trình phải được cấp khả năng truy cập đến sản phẩm/dịch vụ liệt kê trong hợp đồng để có thể tự động khóa hay mở khóa chúng. - Chữ ký điện tử: Tất cả các bên tham gia đồng ý triển khai thỏa thuận bằng các khóa cá nhân của họ. - Điều khoản hợp đồng: Điều khoản của smart contract có dạng một chuỗi các hoạt động. Các bên tham gia hợp đồng đều phải ký chấp nhận nó. - Nền tảng phân quyền: Smart contract sau khi hoàn tất sẽ được tải lên Blockchain của nền tảng phân quyền tương ứng và được phân phối về cho các node của nền tảng ấy. 1.3.5. Lợi ích - Tính bảo mật :Smart contract được mã hóa và phân phối về cho các node. Cách thức này bảo đảm nó sẽ không bị thất lạc hay sửa đổi mà không được bạn cho phép. - Hiệu quả về kinh tế và nhanh gọn: Hầu hết các công đoạn đều được tự động hoá, và gần như loại bỏ hoàn toàn bên trung gian. - Tiêu chuẩn hóa: Hiện đã xuất hiện một loạt các hình thức smart contract khác nhau. Người dùng có thể chọn ra một kiểu và thay đổi sao cho phù hợp nhất với nhu cầu bản thân.
- Xem thêm -

Tài liệu liên quan

Tài liệu vừa đăng