Báo cáo môn Thương mại điện tử - Đề tài: Blockchain - Solidity

ĐẠI HỌC QUỐC GIA TP. HCM  
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN  
------------------------------  
BÁO CÁO  
Môn: Thương mại điện tử  
Lớp : IS334.L21  
ĐỀ TÀI: BLOCKCHAIN - SOLIDITY  
GIÁO VIÊN HƯỚNG DẪN:  
Ths.Đỗ Duy Thanh  
NHÓM THỰC HIỆN:  
Trương Văn Thành  
– 17521062  
Nguyễn Lương Toàn – 18521510  
Phạm Ngọc Anh Vũ – 19522536  
TPHCM, Ngày 16 tháng 6 năm 2021  
LỜI CẢM ƠN  
Sau quá trình học tập và rèn luyện tại trường Đại học Công nghệ Thông tin chúng em đã  
được trang bị các kiến thức cơ bản, các kỹ năng thực tế để có thể hoàn thành đồ án môn học  
của mình.  
Chúng em xin gửi lời cảm ơn chân thành đến thầy Đỗ Duy Thanh đã quan tâm, hướng  
dẫn, truyền đạt những kiến thức và kinh nghiệm cho chúng em trong suốt thời gian học tập  
môn Thương Mại Điện Tử.  
Trong quá trình thực hiện nhóm chúng em chắc chăn không tránh khỏi được những sai  
sót, chính vì vậy, chúng em rất mong nhận được sự góp ý của thầy cô và các bạn nhằm hoàn  
thiện những kiến thức mà nhóm chúng em đã học tập và là hành trang để thực hiện tiếp các  
đề tài khác trong tương lai.  
Nhóm em xin chân thành cảm ơn quý Thầy Cô!  
TP. Hồ Chí Minh, ngày 16 tháng 6 năm 2021  
 
NHẬN XÉT  
(của giảng viên)  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
.................................................................................................................  
MỤC LỤC  
 
PHẦN 0: MỤC ĐÍCH ĐỀ TÀI  
- Tìm hiểu blockchain  
- Minh họa chi tiết, cụ thể Block Chain 1.0, 2.0. Các ứng dụng của nó.  
- Tìm hiểu smart contract và solidity  
- Tìm hiểu hệ sinh thái Etherium?  
- Mô tả quy trình triển khai smart contract lên mạng lưới ethereum test  
- Tìm hiểu GRT  
 
PHẦN 1: TÌM HIỂU CÔNG NGHỆ BLOCKCHAIN  
CHƯƠNG 1: TỔNG QUAN BLOCKCHAIN  
1.1. Khái niệm  
Blockchain là một sổ cái công khai về thông tin được thu thập thông qua một  
hệ thống nằm trên internet.  
Điều làm cho nó độc đáo là không có cơ quan trung ương nào phụ trách tệp  
blockchain hoặc dữ liệu mà nó chứa. Thay vào đó, mỗi máy tính giữ bản sao riêng của  
tệp và bất kỳ bản cập nhật nào cũng cần có sự chấp thuận của phần lớn các máy bên  
trong hệ thống.  
     
Blockchain được tạo thành từ các “khối”- block, mỗi khối chứa một phần dữ  
liệu. Dữ liệu gần nhất luôn được thêm vào ở đầu chuỗi, trong khi dữ liệu lâu đời nhất  
đặt ở phía dưới đáy, bên trong cái được gọi là “Khối nguyên thủy - genesis block”.  
Hình 1.1. Chuỗi khối  
Các block được liên kết với nhau bằng mật mã (các thuật toán phức tạp), đó là  
cách chuỗi được hình thành. Toán học liên quan có nghĩa là bất kỳ thay đổi nào đối  
với dữ liệu hiện tại đều phá vỡ chuỗi, do đó, mọi cố gắng thay đổi đều có thể bị phát  
hiện và từ chối bởi hệ thống.  
Hình 1.2. Quy trình mã hóa khối  
1.2. Các đặc tính của blockchain  
a. Cơ sở dữ liệu phân tán (phi tập trung)  
Hầu hết các Blockchain được thiết kế như một cơ sở dữ liệu phi tập trung thay  
vì quản lí sổ cái tập trung như ngân hàng hoặc một tổ chức nào khác. Các “tài sản” kỹ  
 
thuật số được phân phối thay vì sao chép hoặc chuyển giao trên Blockchain. Nhờ đó,  
mọi người trong cùng chuỗi có thể kiểm soát thông tin, dữ liệu có trong khối.  
Hình 1.3 Mô hình sổ cái phân tán  
b. Tính bền vững và tăng cường bảo mật  
Trong một Blockchain, mỗi khối đều có hàm băm riêng biệt cũng như tham  
chiếu đến hàm băm của khối nằm trước nó. Vì vậy, việc khai thác một chuỗi khá phức  
tạp, đặc biệt là trên các chuỗi lớn.  
Hinh 1.4. Liên kết block  
Những người khai thác chuỗi này sẽ sử dụng phần mềm chuyên dụng để giải  
quyết các vấn đề liên quan đến số học vô cùng phức tạp, khi muốn tìm ra một nonce  
tạo ra một hàm băm được chấp nhận. Bởi, mỗi nonce chỉ có 32bit trong khi mỗi hàm  
băm là 256bit, nên có khoảng bốn tỷ tổ hợp nonce và hàm băm cần phải được tìm  
kiếm trước khi tìm ra “nonce vàng” để khối của họ được thêm vào chuỗi.  
Ngoài ra, nếu có bất kì sự thay đổi nào đó ở một khối thì tất cả các khối ở sau  
đều bị ảnh hưởng vì khối sau liên kết với khối trước bằng mã băm.  
Dựa vào điều đó có thể xảy ra các cuộc tấn công hệ thống bằng cách thay đổi  
các khối đến khối cuối cùng tuy nhiên chỉ là có thể nhưng thực tế nó lại không thể.  
Tại sao?  
Mô hình trong blockchain là phi tập trung, mỗi máy được xem là một Node hệ  
thống càng nhiều Node thì càng mạnh mẽ  
Hình 1.5 Mạng lưới phi tập trung  
Mô hình này dựa trên Cơ chế đồng thuận phi tập trung. Khi một giao dịch được  
diễn ra và được thêm vào chuỗi thì nó cần phải được sự chấp nhận của đa số Node  
(máy đào) trong hệ thống này ( ở đây là các Node )  
Hình 1.6. Cơ chế đồng thuận phi tập trung  
Vì vậy trên lý thuyết hệ thống này có thể xảy ra cuộc tấn công 51%.  
Khi một hacker hoặc tổ chức cá nhân có số lượng Node trên hệ thống này chiếm đến  
51% thì mọi giao dich sẽ bị thao túng dựa vào cơ chế đồng thuận đại đa số.  
Giải quyết câu hỏi tại sao ở trên thì một hacker có thể sửa đổi một dãy block  
tuy nhiên trên hệ thống này mỗi cá nhân đều sở hữu một bản sổ cái vì vậy để hoàn  
toàn thay đổi các khối này thì phải thay đổi 51% Node trên hệ thống lúc này thông tin  
sửa đổi đó mới được chấp nhận.  
Điều này chỉ diễn ra trên lý thuyết còn thực tế để tấn công hệ thống trên là  
một điều không thể  
c. Tính minh bạch  
Các block được nối tiếp nhau tạo thành chuỗi, một khi một block đã được cập  
nhật, bạn sẽ không thể xóa thông tin trong đó đi. Blockchain hoạt động dựa trên  
nguyên tắc ghi chép phổ biến trong tài chính là không được phép xóa bỏ dữ liệu đã  
cập nhật, thay vào đó cập nhật thêm các block mới, với nội dung cần chỉnh sửa và tên  
tuổi của người chỉnh sửa. Điều này vừa giúp rõ ràng thông tin lẫn sự toàn vẹn của các  
dữ liệu đã được tạo.  
Blockchain minh bạch để mỗi người có thể theo dõi dữ liệu nếu họ muốn.  
d. Tính bất biến  
Một khi dữ liệu được đưa vào một khối thì sẽ được mã hóa bằng thuật toán mã  
hóa băm kết hợp RSA security (mã hóa bất đối xứng) đảm bảo rằng dữ liệu không thể  
sửa đổi  
Hình 1.7. Thuật toán mã hóa  
1.3. Nguyên lý hoạt động  
Hình 1.8. Nguyên lý hoạt động  
1.4. Ứng dụng của blockchain trong đời sống  
Blockchain hiện đang được ứng dụng vào rất nhiều lĩnh vực trong đời sống.  
-
-
-
-
-
-
-
Ứng dụng của blockchain trong thương mại điện tử  
Ứng dụng của Blockchain trong chuỗi cung ứng  
Ứng dụng của blockchain trong dịch vụ tài chính, ngân hàng  
Ứng dụng của blockchain trong nông nghiệp  
Ứng dụng của blockchain trong y tế  
Ứng dụng của Blockchain trong Internet of Things (IoT)  
...  
   
CHƯƠNG 2: PHIÊN BẢN BLOCKCHAIN  
2.1. Blockchain 1.0 (Tiền tệ)  
Năm 2005, người ta cho ra đời ý tưởng về việc tạo ra một loại tiền điện tử. Sổ  
cái Blockchain ra đời như một phương tiện hỗ trợ hoạt động của loại tiền này. Nói  
cách khác, Bitcoin, loại crypto đầu tiên cũng chính là ứng dụng đầu tiên của  
Blockchain.  
Hình 1.9. Bitcoin  
a. Blockchain 1.0 hoạt động như thế nào?  
Cụ thể khi khách hàng muốn sử dụng Bitcoin để thanh toán dịch vụ hay hàng  
hóa, người dùng sẽ ra lệnh ghi chép và xác nhận giao dịch. Giao dịch sẽ được ghi lại  
một cách công khai thành những khối block được xếp vào chuỗi, và được xác nhận  
bởi những người sử dụng Bitcoin khác. Trung bình cứ 10 phút, một khối block mới  
được tạo ra thông qua việc "đào" Bitcoin.  
Tức là, dựa vào giao thức của Bitcoin, cơ sở dữ liệu Blockchain được chia sẻ  
cho tất cả các máy tính tham gia vào hệ thống này. Mỗi máy tính sẽ có một bản sao  
chép của Blockchain có chứa dữ liệu ghi chép lại và là bằng chứng cho việc một giao  
dịch được hoàn tất.  
   
Bởi chỉ cần liên tưởng với loại tài sản khác (thay vì tiền điện tử), chắc chắn sẽ  
nhìn thấy tiềm năng vô hạn của nó từ đó ra đời các phiên bản cao hơn  
blockchain 2.0, 3.0 và 4.0 đáp ứng tất cả nhu cầu thực tế.  
Hình 1.10. Giai đoạn phát triển  
b. Ứng dụng của blockchain 1.0  
Hỗ trợ mọi giao dịch chuyển đổi tiền tệ, kiều hối và hệ thống thanh toán kỹ  
thuật số trong lãnh thổ tiền điện tử nói chung và Bitcoin nói riêng bằng các thuật toán  
về tiền tệ (ví blockchain).  
2.2. Blockchain 2.0 (Smart contract)  
Blockchain đã thoát khỏi sự hạn hẹp bằng cách vượt ra khỏi lĩnh vực crypto mà  
tiến đến với Smart Contract. Công nghệ này có tác dụng bảo vệ các hợp đồng thông  
minh dưới sự can thiệp của những người có mục đích không tốt. Khi làm việc trên  
loại hợp đồng này, người sử dụng sẽ không cần tiêu tốn chi phí vào việc xác thực, vận  
hành và chống gian lận. Chi tiết chương 1 phần 2  
Hình 1.11. Smart contract  
2.3. Blockchain 3.0 (Ứng dụng phi tập trung Dapp)  
DApps là viết tắt của Decentralized application tức ứng dụng phi tập trung.  
   
Có thể hiểu đơn giản thông qua việc lấy ví dụ từ các ứng dụng trên CHPlay hay  
App Store là các ứng dụng được tạo ra bởi một tổ chức, cá nhân nào đó và chịu sự chi  
phối của họ. Trái lại, các ứng dụng xuất hiện trên Blockchain không chịu sự kiểm soát  
của bất cứ một cá nhân thay vào đó là một tập thể những người có mặt trong chuỗi.  
Đó chính là sự phi tập trung của ứng dụng trên Blockchain.  
Hình 1.12. Phân biệt App và Dapp  
- Mô hình website truyền thống: Frontend → API → Database  
- Mô hình website Dapps: Frontend → Smart Contract (ABI) → Blockchain  
2.4. Blockchain 4.0 (Ứng dụng thực tiễn)  
Blockchain của thời đại này không chỉ tập trung vào lĩnh vực tài chính mà còn  
trở thành một giải pháp cho các vấn đề cơ bản của đời sống. Blockchain có tác dụng  
hỗ trợ các doanh nghiệp xây dựng một quá trình làm việc xuyên nền tảng, chẳng hạn  
như chuỗi cung ứng, hệ thống xử lý đơn hàng tự đồng, thanh toán, thu thập dữ liệu  
Internet.  
Hình 1.13. Ứng dụng blockchain  
 
CHƯƠNG 3: CÁC LOẠI BLOCKCHAIN  
Có 2 loại Blockchain  
- Blockchain công khai: Dữ liệu ở chế độ xem công khai, bất kỳ ai cũng có thể  
tải xuống một giao thức để đọc, ghi hoặc tham gia mạng (Bitcoin, Ethereum,  
Litecoin ...)  
- Blockchain riêng tư: Cho phép các tổ chức sử dụng công nghệ sổ cái phân tán  
đó Dữ liệu không công khai, những người tham gia trên mạng này sẽ bị hạn chế  
một số quyền như đọc và ghi dữ liệu.  
Hình 1.14. Bảng so sánh hai loại blockchain  
 
Tải về để xem bản đầy đủ
pdf 81 trang yennguyen 18800 Free
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo môn Thương mại điện tử - Đề tài: Blockchain - Solidity", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbao_cao_mon_thuong_mai_dien_tu_de_tai_blockchain_solidity.pdf