ĐẠ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
LỜI CẢM ƠN ......................................................................................................................... 2
MỤC LỤC .............................................................................................................................. 4
PHẦN 0: MỤC ĐÍCH ĐỀ TÀI .............................................................................................. 7
PHẦN 1: TÌM HIỂU CÔNG NGHỆ BLOCKCHAIN .......................................................... 8
CHƯƠNG 1: TỔNG QUAN BLOCKCHAIN ................................................................... 8
1.1. Khái niệm ............................................................................................................ 8
1.2. Các đặc tính của blockchain ................................................................................ 9
1.3. Nguyên lý hoạt động ......................................................................................... 14
1.4. Ứng dụng của blockchain trong đời sống ......................................................... 14
CHƯƠNG 2: PHIÊN BẢN BLOCKCHAIN .................................................................... 15
2.1. Blockchain 1.0 (Tiền tệ) .................................................................................... 15
2.2. Blockchain 2.0 (Smart contract) ........................................................................ 17
2.3. Blockchain 3.0 (Ứng dụng phi tập trung Dapp) ................................................ 17
2.4. Blockchain 4.0 (Ứng dụng thực tiễn) ................................................................ 19
CHƯƠNG 3: CÁC LOẠI BLOCKCHAIN ...................................................................... 20
CHƯƠNG 4: THUẬT NGỮ QUAN TRỌNG TRONG BLOCKCHAIN ....................... 21
4.1. 51% Attack ........................................................................................................ 21
4.2. Public Key ......................................................................................................... 21
4.3. Private Key ........................................................................................................ 22
4.4. Mining pool ....................................................................................................... 22
PHẦN 2: TÌM HIỂU SMART CONTRACT & SOLIDITY ............................................... 23
CHƯƠNG 1: SMART CONTRACT ................................................................................ 23
1.1. Khái niệm .......................................................................................................... 23
1.2. Cách hoạt động .................................................................................................. 24
1.3. Lợi ích của Smart contract ................................................................................ 25
1.4. Ưu nhược điểm .................................................................................................. 26
1.5. Ứng dụng Smart contract (Blockchain 2.0) ...................................................... 27
CHƯƠNG 2: SOLIDITY .................................................................................................. 29
2.1. Khái niệm .......................................................................................................... 29
2.2. Các khái niệm cơ bản của Solidity .................................................................... 29
2.3. Sử dụng Metamask triển khai Smart contract trong Solidity ............................ 30
PHẦN 3: HỆ SINH THÁI ETHEREUM ............................................................................. 35
CHƯƠNG 1: TỔNG QUAN ETHEREUM ...................................................................... 35
1.1. Ethereum (ETH) ...................................................................................................... 35
1.2. Ethereum 2.0 ........................................................................................................... 35
1.3. Các giai đoạn để hoàn thành ETH 2.0 .................................................................... 37
1.4. Cách thức hoạt động của Ethereum ........................................................................ 38
1.5. Ưu điểm và nhược điểm của đồng Ethereum ......................................................... 39
1.6. Sử dụng Ethereum ................................................................................................... 40
1.7. Cách tạo ví Ethereum .............................................................................................. 43
CHƯƠNG 2: ỨNG DỤNG ĐƯỢC XÂY DỰNG TRÊN ETHEREUM ......................... 45
2.1. Tài chính phi tập trung (Defi) và Ethereum ............................................................ 45
2.2. Sàn giao dịch phi tập trung (DEX) và Ethereum .................................................... 46
2.3. Ứng dụng phi tập trung (Dapps) ............................................................................. 47
CHƯƠNG 3: CÁCH ĐỂ KIẾM ETHEREUM ................................................................. 49
3.1. Các cách đầu tư ETH .............................................................................................. 49
3.2. Hướng dẫn cách mua Ethereum. ............................................................................. 53
PHẦN 4: TÌM HIỂU GRT ................................................................................................... 60
4.2.Phương thức hoạt động của The Graph ...................................................................... 60
4.2.1. Vấn đề được giải quyết bằng The Graph ............................................................. 60
4.2.2. Giải pháp của The Graph ..................................................................................... 61
4.2.3. Hệ sinh thái của The Graph.................................................................................. 62
4.3. Token GRT ................................................................................................................. 63
4.4. Một số thông tin cơ bản về token GRT ...................................................................... 63
4.4.1. Phân bố token GRT .............................................................................................. 63
4.4.2. Public sale ............................................................................................................ 64
4.4.3. Đội ngũ phát triển dự án ...................................................................................... 65
4.4.5. Cách kiếm và sở hữu GRT Token ....................................................................... 66
4.4.6. Sàn giao dịch GRT Token .................................................................................... 66
4.4.7. Ví lưu trữ token GRT ........................................................................................... 66
4.5. Tương lai của GRT Token ......................................................................................... 67
PHẦN 5: MÔ TẢ QUY TRÌNH TRIỂN KHAI ỨNG DỤNG ............................................ 68
Các bước để xây dựng một project ................................................................................... 68
BẢNG PHÂN CHIA CÔNG VIỆC ..................................................................................... 79
TÀI LIỆU THAM KHẢO .................................................................................................... 81
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
CHƯƠNG 4: THUẬT NGỮ QUAN TRỌNG TRONG BLOCKCHAIN
4.1. 51% Attack
Thuật ngữ này mô tả tình huống quá nhiều sức mạnh tính toán (hash power) của
mạng lưới blockchain được tập trung tại một chỗ. Có thể một người hoặc một nhóm
người dùng kiểm soát 51% sức mạnh tính toán, hệ thống có thể “bị” điều khiển một
cách có chủ đích hoặc vô tình thực hiện các giao dịch xung đột xâm phạm đến hệ
thống.
4.2. Public Key
Là một mật mã cho phép người dùng nhận tiền điện tử vào tài khoản của mình.
Khóa công khai cùng với khóa riêng là những công cụ quan trọng cần có để đảm bảo
an ninh cho nền kinh tế tiền điện tử.
Hình 1.15. Giải mã bằng public key
4.3. Private Key
Là khóa riêng tư, là một hình thức mã hóa tinh vi cho phép người dùng truy cập
vào tiền điện tử của mình. Khóa riêng là một khía cạnh không thể thiếu của bitcoin và
altcoin, và bảo mật của nó giúp bảo vệ người dùng khỏi bị đánh cắp và truy cập trái
phép vào tiền.
Hình 1.16. Giải mã bằng private key
4.4. Mining pool
Là một hệ thống phần mềm tập trung nhóm các thợ đào để có thể xác nhận
khối (block) và xử lý giao dịch nhiều hơn. Lợi nhuận sẽ được phân chia cho các
thành viên trong nhóm.
PHẦN 2: TÌM HIỂU SMART CONTRACT & SOLIDITY
CHƯƠNG 1: SMART CONTRACT
1.1. Khái niệm
Hợp đồng thông minh được Nick Szabo định nghĩa là một công cụ kết hợp giao
thức và giao diện người dùng giúp chính thức hóa và bảo mật mạng máy tính. Sử
dụng trong nhiều lĩnh vực liên quan đến các thỏa thuận hợp đồng.
Bitcoin (Một loại tiền mã hóa dưới dạng phần mềm mã nguồn mở, giúp trao đổi
trực tiếp bằng Internet) đã đặt ra nền tảng cơ bản để thiết lập Smart Contract. Thế
nhưng hợp đồng thông minh chỉ thực sự được thỏa mãn mọi yêu cầu và được nhiều
người sử dụng khi Ethereum (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ở) ra đời.
Toàn bộ quá trình được thực hiện tự động bởi các bên mà không cần gặp mặt
trực tiếp và không có sự can thiệp từ bên ngoài. Phương thức thiết lập hợp đồng mới
này vẫn đảm bảo tính minh bạch, có thể truy xuất, đảo chiều và không bị can thiệp từ
bên ngoài.
Hợp đồng thông minh Hợp đồng truyền thống
Điểm giống nhau giữa hợp đồng truyền thống và hợp đồng thông minh nằm ở chỗ
các điều khoản và hình phạt đều được nêu rõ ràng.
- Được tạo ra bởi các chuyên gia pháp lý. - Được tạo bởi ngôn ngữ lập trình như
- Biên soạn một lượng lớn tài liệu. C++, Go, Python, Java trên hệ thống
- Cần phải có bên thứ ba để thực thi. máy tính.
- Mất khá nhiều thời gian để thỏa thuận và đi - Toàn bộ mã được thực hiện bởi hệ
đến ký kết. thống sổ cái phân tán Blockchain.
- Không cần đến bên thứ ba trung gian.
- Đảm bảo tính minh bạch và chính - Hợp đồng có thể tồn tại nhiều vấn đề, không
xác trong việc thực thi. minh bạch.
- Mất nhiều chi phí và phải dựa vào hệ thống
tư pháp để giải quyết khi có sự cố.
Bảng so sánh hợp đồng điện tử và hợp đồng truyền thống
1.2. Cách hoạt động
Smart Contract chỉ tự động thực hiện khi những điều khoản đã được lập trình
sẵn từ trước. Các điều khoản trong hợp đồng sẽ được viết bằng ngôn ngữ lập trình,
sau đó mã hóa và chuyển vào một block thuộc Blockchain. Sau đó, hợp đồng thông
minh được phân phối và sao chép lại bằng các Node đang hoạt động tại nền tảng đó.
Sau khi có lệnh triển khai thì hợp đồng sẽ được triển khai theo đúng điều
khoản. Đồng thời, tự động kiểm tra quá trình thực hiện những cam kết, điều khoản.
Vì hệ thống hoạt động dựa trên câu lệnh “If - Then” và hàng trăm người giám
sát nên sẽ không xảy ra lỗi sai trong quá trình giao nhận.
Hình 2.1. Quá trình trao đổi hợp đồng
Ví dụ: Nếu bạn muốn mua một chiếc xe từ công ty tôi và trả tiền điện tử qua
hệ thống Blockchain.
Biên nhận sau đó sẽ được đưa vào hợp đồng thông minh của công ty và có
trách nhiệm giao mật mã và chiếc xe cho bạn với đúng thời hạn đã nêu trong hợp
đồng.
Nếu mật mã của công ty không giao đúng thời hạn thì tiền sẽ được chuyển
lại vào tài khoản bạn. Nếu đến trước thời hạn thì hệ thống sẽ giữ lại cả tiền của bạn
và mật mã của công ty tôi để chuyển vào đúng ngày.
Hình 2.2. Quá trình thanh toán bằng hợp đồng thông minh
1.3. Lợi ích của Smart contract
Smart Contract là một ứng dụng tận dụng tất cả những điểm mạnh của công
nghệ Blockchain mang lại vì vậy nó có rất nhiều lợi ích, dưới đây là các lợi ích
chính của nó.
- Tự động hóa: Quá trình được thực hiện hợp đồng là tự động bằng. Đồng thời
bạn chính là người tạo hợp đồng, không còn phải phụ thuộc vào môi giới, luật sư
hay bất kì ai khác. Như vậy, nó cũng xóa bỏ những nguy cơ đến từ bên thứ ba
- Không bị thất lạc: Tài liệu của bạn được mã hóa trên một cuốn sổ cái chung,
có nghĩa là không thể bị thất lạc.
Hình 2.3. Lợi ích của Smart contract
- An toàn: Blockchain sẽ đảm bản sự an toàn cho tài liệu của bạn. Không một
hacker nào có thể đe dọa đến chúng.
- Tốc độ: Hợp đồng thông minh sử dụng các ngôn ngữ lập trình, code phần mềm
để tự động hóa các điều khoản, tiết kiệm hàng tiếng đồng hồ cho những công việc
không cần thiết.
- Tiết kiệm: Hợp đồng thông minh tiết kiệm cho bạn hàng đống tiền nhờ xóa bỏ
khâu trung gian.
- Chính xác: Các hợp đồng tự động không chỉ nhanh và rẻ hơn mà còn tránh
được các lỗi thường thấy khi viết giấy tờ.
1.4. Ưu nhược điểm
a. Ưu điểm
- Ứng dụng của hợp đồng thông minh có thể được sử dụng vào nhiều lĩnh
vực khác nhau: Logistic, ngân hàng, bất động sản, bầu cử,...
- Tự do: Không nhận sự quản lý của bất kỳ một cơ quan nào.
- Giảm thiểu rủi ro đến từ bên thứ ba.
- An toàn và minh bạch.
- Tiết kiệm và nhanh chóng.
b. Nhược điểm
- Rủi ro từ Internet: Có thể bị tấn công hoặc khai thác bởi các hacker nếu để
lộ những thông tin quan trọng.
- Không nhận được quyền pháp lý: Quyền lợi có thể không được bảo vệ vì
chưa có chính sách.
- Yêu cầu cao về trình độ triển khai của các lập trình viên và hệ thống. Từ
đó, chi phí để trả cho họ và cơ sở hạ tầng là không hề nhỏ.
1.5. Ứng dụng Smart contract (Blockchain 2.0)
a. Sử dụng cho các cuộc bầu cử
Việc thao túng kết quả bầu cử là rất khó, tuy nhiên vẫn có thể xảy ra, nhưng
hợp đồng thông minh thì sẽ bao giờ có thể thao túng. Bởi vì những phiếu vote
được bảo vệ bởi sổ cái sẽ cần được giải mã và cần phải có một quyền truy cập
đủ mạnh để tiếp cận nó. Và sự thực là không ai nắm trong tay quyền lực như
vậy trong blockchain.
b. Sử dụng cho các nhà quản lý
Vào năm 2015, Tập đoàn Trust & Clearing (DTCC) đã sử dụng một sổ cái
Blockchain để lưu trữ thông tin về tài sản chứng khoán trị giá 1.500 nghìn tỷ
USD, đồng nghĩa với 345 triệu giao dịch.
c. Logistics (Chuỗi cung ứng)
Chuỗi cung ứng là một hệ thống kéo dài và mỗi bộ phận phải theo dõi và ghi
lại thông tin để biết vấn đề phát sinh ở đâu.
Do quá trình dài hơi và kém năng suất, với Smart contract mỗi bộ phận tham
gia đều có thể theo dõi quá trình công việc => đảm bảo tính minh bạch, chống
gian lận.
d. Dịch vụ y tế
Với Smart Contract thì hồ sơ bệnh lý của người bệnh sẽ được mã hóa và
lưu trữ trên Blockchain với một khóa riêng, chỉ những người có khóa đó mới
có thể truy cập vào xem hồ sơ được. Sổ cái cũng có thể được sử dụng trong
việc quản lý chăm sóc y tế, ví dụ như giám sát thuốc men, kết quả xét nghiệm
và quản lý các nguồn cung y tế.
CHƯƠNG 2: SOLIDITY
2.1. Khái niệm
Solidity là ngôn ngữ lập trình để cài đặt hợp đồng thông minh (smart contract).
Solidity khá giống Javascript, hiện tại là ngôn ngữ phổ biến nhất cho lĩnh vực này.
2.2. Các khái niệm cơ bản của Solidity
a. Contracts
Mã của Solidity được đóng gói trong các hợp đồng. Một hợp đồng là khối xây
dựng cơ bản của các ứng dụng Ethereum – tất cả các biến và chức năng thuộc về một
hợp đồng, và đây là điểm khởi đầu của tất cả các dự án của bạn. VD về contract có
tên HelloWorld:
b. Version Pragma
Tất cả các mã nguồn đều bắt đầu với một phiên bản “version pragma“-một
tuyên bố của phiên bản của trình biên dịch Solidity. Đây là để ngăn chặn các vấn đề
với các phiên bản trình biên dịch tương lai có khả năng giới thiệu những thay đổi có
thể phá vỡ mã của bạn. Ở VD trên version pragma là: ^0.4.0
c. Biến
Solidity yêu cầu khai báo biến và kiểu dữ liệu trước khi sử dụng.
VD: uint public numberOne = 20;
d. Structs
Cho phép tạo các kiểu dữ liệu phức tạp hơn có nhiều thuộc tính. Kiểu cấu trúc
này tương tự như trong ngôn ngữ lập trình C.
e. Array
Có hai loại mảng trong Solidity: mảng cố định và mảng động.
Bạn có thể khai báo một mảng như là public, và Solidity sẽ tự động tạo ra một
phương thức getter cho nó. Cú pháp như sau: Person[] public people;
Các hợp đồng khác sau đó sẽ có thể đọc (nhưng không viết) cho mảng này. Vì
vậy, đây là một mô hình hữu ích để lưu trữ dữ liệu công cộng trong hợp đồng của
bạn.
2.3. Sử dụng Metamask triển khai Smart contract trong Solidity
a. IDE
Để viết và thực thi mã solidity, IDE phổ biến nhất được sử dụng là REMIX.
https://remix.ethereum.org/ hoặc có thể sử dụng Mist (trình duyệt Ethereum DApp).
Sau khi viết mã và biên dịch nó, chúng ta có thể triển khai nó theo 3 cách:
- JavaScriptVM
- Injected Web3
- Web3 Provider
Các bước dưới đây triển khai hợp đồng bằng cách sử dụng MetaMask dưới
dạng Injected Web3.
b. Cài đặt ví thử nghiệm Metamask
Tìm kiếm từ khóa “Metamask” trong Extension.
Hình 2.4. Metamask Extension
Sau khi cài đặt và thiết lập tài khoản
B1. Chọn Ropsten Test Network từ danh sách mạng lưới có sẵn
Hình 2.4. Test Network
B2. Nhận đồng eth thử nghiệm tại https://faucet.metamask.io/
B3. MetaMask đã sẵn sàng để triển khai
Note: Các bạn có thể chọn mạng thử nghiệm Rinkeby và tham khảo cách
nhận đồng ETH test tại https://www.youtube.com/watch?v=WvQ9O1HURgk
c. Các bước triển khai contract
B1. Tạo một file mới với đuôi .sol
Hình 2.5. Tạo file solidity
B2. Viết một đoạn mã đơn giản cho việc biên dịch và thử nghiệm
pragma solidity ^0.4.26; // Creating a contract contract shreyansh_05 { // Defining a function to function get_output() public pure returns (string) { return ("Hi, your contract ran successfully"); } }
Hình 2.6. Compile mã code solidity
B3. Sau khi biên dịch và chuyển sang phần Deploy ngay bên dưới phần
Compile và chọn Injected Web3 thay cho JavaScriptVM như hình dưới đây
Hình 2.7. Thiêt lập môi trường deploy
B4. Bây giờ hợp đồng đã sẵn sàng để được triển khai. Nhấp nút Deploy và
MetaMask sẽ yêu cầu xác nhận như sau
Hình 2.8. Xác nhận đã triển khai
B5. Bây giờ, để xác minh xem giao dịch (quy trình) của bạn có được thực
hiện thành công hay không, bạn có thể kiểm tra số dư của mình trên
MetaMask.
Hợp đồng của bạn đã hoàn toàn sẵn sàng hoạt động. Đảm bảo rằng phiên
bản trình biên dịch khớp với phiên bản mã solidity của bạn. Đây là cách triển
khai cơ bản của MetaMask với Solidity.
PHẦN 3: HỆ SINH THÁI ETHEREUM
CHƯƠNG 1: TỔNG QUAN ETHEREUM
1.1. Ethereum (ETH)
Ethereum là một nền tảng điện toán phân tán chuỗi khối chạy trên công nghệ
Blockchain, thông qua việc sử dụng chức năng hợp đồng thông minh (Smart Contract).
Ethereum có thể thực hiện các giao dịch, hợp đồng mạng ngang hàng thông qua Ether
(ETH).
Ethereum được giới thiệu vào cuối năm 2013 bởi Vitalik Buterin.
Theo lộ trình phát triển gồm:
1. Frontier
2. Homestead
3. Metropolis
4. Serenity (Ethereum 2.0)
Tính đến tháng 12 năm 2019, Ethereum đã hoàn tất 3 giai đoạn và chuẩn bị bước vào
giai đoạn thứ 4.
1.2. Ethereum 2.0
Ethereum 2.0 còn được biết đến là Serentity. Đây là một tên gọi chung cho một số
cập nhật lớn của Ethereum.
Bản cập nhật này sẽ giải quyết bộ ba bất khả thi của Blockchain: bảo mật, khả mở
rộng mạng lưới, phân tán.
Cách phần chính để giải quyết 3 vấn đề nan giải này:
• Beacon Chain
• Proof of Stake (PoS)
• Sharding
• eWASM
Hình 3.1. Cấu trúc Ethereum 2.0
➢ Beacon Chain
Beacon chain là cốt lõi của Ethereum 2.0. Chuỗi này sẽ chạy song song và liên kết
chéo giữa Main chain và và Shard Chain.
➢ Proof of Stake (PoS)
PoS là cơ chế đồng thuận sẽ thay thế cho cơ chế hiện tại là PoW (Proof of Work).
Việc chuyển đổi sẽ thông qua một cơ chế đồng thuận lai giữa PoS và PoW – Casper Friendly
Finality Gadget (FFG).
Vì thế hệ thống sẽ ngày càng mạnh hơn và không còn chịu sự ảnh hưởng hay chi phối
từ các thợ mỏ.
Thông thường, một giao dịch Ethereum cần có thợ đào xác nhận, nếu không thì giao
dịch đó sẽ không thành công.
➢ Sharding
Sharding là một phương thức nhân rộng thông lượng giao dịch trên chuỗi. Phương thức
được thực hiện bằng cách tách cơ sở dữ liệu lớn thành các cơ sở dữ liệu nhỏ.
Những dữ liệu nhỏ đậy được gọi là “shard”.
➢ eWASM
Ethereum-flavored WebAssembly (eWASM) là một tập con hạn chế của
WebAssembly(Wasm) được sử dụng cho hợp đồng tương lai.
Mỗi shard sẽ bao gồm 1 eWASM tương đương với máy ảo Ethereum (Ethereum Virtual
Machine).
Hiện tại, chưa có sự đồng thuận của nhà phát triển cho việc thay thế EVM. Nhưng nhà
phát triển sẽ có kế hoạch.
1.3. Các giai đoạn để hoàn thành ETH 2.0
Để hoàn thành ETH 2.0, chúng ta cần trải qua 3 giai đoạn, gồm:
➢ Giai đoạn 0
Giai đoạn đầu tiên là sự ra mắt của Beacon Chain sẽ triển khai PoS trên chuỗi. Trong giao
đoạn này cũng sẽ ra mắt một loại tài sản trên chuỗi Beacon.
Loại tài sản này được gọi Beacon ether (BETH). BETH được xem như là phần thưởng
xác thực dùng để trả thưởng cho những người Staking.
Ngoài ra, bạn cũng có thể sở hữu BETH bằng cách dùng ETH để mua. Mỗi ETH sẽ bằng
1 Beacon ether.
Giai đoạn này chưa hỗ trợ sharding, smart contracts và chuyển giao tài sản. Nên bạn sẽ
không thể rút được BETH đến khi sharding có thể thực thi trong giai đoạn 2.
➢ Giai đoạn 1
Giai đoạn tiếp theo sẽ chuyển tập trung vào Shard Chain. Sharding sẽ chia nhỏ thông tin
trạng thái thành các ‘shard’ để đạt mục tiêu về khả năng mở rộng và cải thiện tốc độ mạng
lưới.
➢ Giai đoạn 2
Giai đoạn 2 được coi là giai đoạn cuối cùng của Serenity khi nó hoàn thành nâng cấp lớp
cơ sở và giai đoạn này được thiết lập để diễn ra vào khoảng năm 2021.
Trong giai đoạn này, chuỗi shard sẽ chuyển sang trạng thái chuỗi cấu trúc hỗ trợ các hợp
đồng thông minh và chuyển giao tài sản
1.4. Cách thức hoạt động của Ethereum
Hình 3.2. Cách thức hoạt động Ethereum 2.0
Chuỗi khối Ethereum rất giống với bitcoin, nhưng với hợp đồng thông minh, ngôn
ngữ lập trình của nó cho phép các nhà phát triển viết phần mềm thông qua các giao dịch
blockchain quản lý và tự động hóa các kết quả cụ thể.
Hợp đồng thông minh đảm bảo các điều khoản được thực hiện bằng cách viết nó vào
mã. Hợp đồng sẽ tự động thực hiện thỏa thuận ngay khi đáp ứng các điều kiện được xác định
trước.
Ví dụ, một người dùng Ethereum có thể tạo một hợp đồng thông minh để gửi một
lượng ether nhất định cho bạn bè vào một ngày nhất định. Họ sẽ viết mã này vào blockchain
và ngay khi hợp đồng hoàn tất ether sẽ tự động được chuyển cho bên kia.
Chi tiết chương 1 phần 2
1.5. Ưu điểm và nhược điểm của đồng Ethereum
➢ Ưu điểm:
Có hầu hết các đặc tính của blockchain.
Không chịu ảnh hưởng của bên thứ 3 vì thế quỹ DAO được triển khai trong mạng không
bị kiểm soát bởi bấy kì ai.
Sử dụng cơ chế đồng thuận phi tập trung
Toàn bộ nền tảng được phân cấp. Do đó tất cả các ứng dụng luôn ở trạng thái trực tuyến
và không bao giờ tắt. Tính phi tập trung và bảo mật bằng mật mã giúp cho mạng Ethereum
chống lại hacker và các hoạt động lừa đảo
➢ Nhược điểm:
Đã từng bị tấn công quỹ DAO và tổn thất hơn 3,6 triệu token Ether. Kẻ tấn công đã khai
thác 1 lỗi từ mã. Tổn thẩt không chỉ ở lượng token bị đánh cắp. Mà nó còn làm suy yếu niền
tin của người dùng trên toàn bộ mạng etherum, giá trị của Ether đã giảm từ hơn 20 đôla
xuống con 12 đôla vào thời điểm đó.
Được thiết kế là các hợp đồng thông minh, nên sai sót sẽ xảy ra ở khâu viết mã. Và bất
kì lỗi nhỏ nào cũng có thể bị khai thác. Nếu lỗi xảy ra sẽ không có cách nào trực tiếp ngăn
cản các cuộc tấn công. Cách duy nhất là đạt được sự đồng thuận và viết lại 1 mã cơ bản.
=> Tuy nhiên điều này đi ngược với bản chất của Blockchian-1 sổ cái không thể thay đổi
và bất biến.
1.6. Sử dụng Ethereum
Ngoài việc nó được các nhà phát triển sử dụng để thúc đầy các dự án của mình trên
mạng lưới Ethereum thì ETH giống như 1 tài sản kỹ thuật số. Đối với các nhà đầu tư thì nó
cũng giống như các đồng tiền điện tử khác.
➢ Giao dịch ETH với các tiền điện tử khác trên Sàn giao dịch
Hiện tại có hàng trăm mã thông báo thay thế trong hệ sinh thái Blockchain. Các Altcoin
này có giá trị dao động, đôi khi hàng ngàn phần trăm trong một ngày và mua hoặc bán những
đồng tiền này với hy vọng kiếm được lợi nhuận lớn đã trở thành một thông lệ.
Khi bạn có ví Ether, quá trình giao dịch Ethereum của bạn cũng đơn giản như đăng ký
trao đổi lựa chọn của bạn, tìm kiếm các giao dịch mong muốn của bạn và sau đó thực hiện
chúng. Bạn cũng có thể giao dịch ETH lấy Bitcoin hoặc các tài sản tiền điện tử khác như
Litecoin, Ripple Dash, v.v. thông qua hầu hết các trao đổi trực tuyến.
➢ Tham gia vào ICO
ICO-Hình thức gọi vốn đầu tư, là một quá trình mà một dự án mới bán các loại tiền điện
tử mới, thường để đổi lấy Bitcoin hoặc Ethereum. Điều này tương tự như gây quỹ cộng
đồng, hoặc IPO (Phát hành lần đầu ra công chúng) nơi khởi nghiệp bán cho các cổ đông ban
đầu. IPO được thiết kế để cung cấp cho các công ty khởi nghiệp vốn đầu tư mạo hiểm mà họ
cần để thành công trong việc biến dự án của họ thành hiện thực.
Điều này hấp dẫn người nắm giữ ETH vì họ có thể giao dịch ETH của họ lấy một phần
tài sản tiền điện tử của công ty với giá chiết khấu so với giá trị tài sản * có thể * được định
giá khi mã thông báo mới được công khai.
Nếu mọi việc suôn sẻ, chủ sở hữu của các mã thông báo mới này có thể chọn bán khi dự
án được công khai và nếu dự án đạt được lực kéo trên thị trường, điều này khả năng sẽ tạo
ra lợi nhuận khổng lồ. Tuy nhiên, nếu mọi thứ không ổn và các mã thông báo mới được thị
trường coi là vô giá trị, thì những người tham gia ICO có thể sẽ mất trắng.
➢ Giao dịch Ether cho hàng hóa và dịch vụ
Cũng như Bitcoin và các đồng tiền điện tử khác, Ethereum có thể được giao dịch với bất
kỳ ai có địa chỉ ví liên quan. Ethereum Blockchain rất tốt trong việc tạo điều kiện cho các
giao dịch ngang hàng, và nó rẻ và nhanh hơn nhiều so với Bitcoin Blockchain.
ETH cũng có thêm lợi ích cho việc sử dụng các hợp đồng thông minh của Wap, một quy
trình cải tiến nhằm đưa các tham số vào giao dịch và sau đó yêu cầu các thỏa thuận được
phải được đáp ứng trước khi có thể trao đổi tiền.
Điều này giúp loại bỏ sự cần thiết của bên thứ ba, chẳng hạn như luật sư hoặc tổ chức
ngân hàng. Và nó cho phép bạn tìm kiếm trong cộng đồng hoặc các thị trường P2P (ngang
hàng) các cá nhân có hàng hóa, dịch vụ và thậm chí cả tiền tệ pháp định mà bạn muốn giao
dịch Ethereum của mình.
➢ Đổi ETH lấy tiền thật (tiền pháp định)
Trao đổi ETH của bạn với các loại tiền pháp định là một quá trình khá đơn giản. Phổ biến
nhất là thông qua một trao đổi trực tuyến được thiết lập. Bước đầu tiên là tìm một sàn giao
dịch có thể cung cấp cho bạn loại tiền bạn muốn để đổi lấy ETH.
Khi bạn trao đổi, bạn chỉ cần làm theo hướng dẫn của họ để thiết lập tài khoản của bạn.
Tất nhiên bạn sẽ cần xác minh danh tính của mình để ràng buộc trao đổi với tài khoản ngân
hàng của bạn, mặc dù có một số trao đổi với các khoản rút tiền nhỏ mà không cần xác minh
danh tính để duy trì tính ẩn danh mà một số người dùng tiền điện tử coi trọng.
Một tùy chọn phổ biến khác là chuyển đổi Ethereum của bạn thông qua thẻ ghi nợ trả
trước. Có rất nhiều tùy chọn có sẵn và một khi được tài trợ, thẻ hoạt động gần như giống hệt
với thẻ ghi nợ truyền thống mà bạn quen thuộc.
Một số thẻ này được gắn trực tiếp vào ví điện tử, có nghĩa là bạn có thể chi tiêu ETH
được lưu trữ trong ví của mình mọi lúc, mọi nơi. Khi có thông báo cầu bạn phải nộp một
khoản thanh toán Ethereum vào tài khoản, tức là bạn cần “nạp” thêm tiền vào thẻ của bạn
trước khi sử dụng.
Các phương thức trao đổi không phổ biến khác bao gồm sử dụng thị trường ngang hàng,
trong đó người dùng tự do trao đổi tài sản của họ với nhau trong một môi trường an toàn và
được mã hóa, bỏ qua nhu cầu trao đổi của bên thứ ba.
Hãy nghĩ về điều này như một diễn đàn trực tuyến nơi bạn giao dịch trực tiếp với các cá
nhân khác muốn giao dịch hàng hóa, dịch vụ và tài sản của họ, bao gồm cả tiền pháp định.
Tất nhiên, bạn luôn có thể cố gắng tìm ai đó muốn mua ETH trực tiếp từ bạn trong cộng
đồng, như một giao dịch cá nhân giữa các bên.
Hãy nhớ luôn luôn biết rằng bất kỳ trao đổi Ethereum nào với tiền pháp định đều phải
chịu thuế ở hầu hết các quốc gia và bạn sẽ phải nộp thuế theo quy định của quốc gia bạn khi
giao dịch và khi bạn nhận lợi nhuận.
1.7. Cách tạo ví Ethereum
Ví Ethereum là công cụ cho phép người dùng tạo địa chỉ ví Ethereum để lưu trữ các
token được phát hành trên chuỗi khối của Ethereum, bao gồm cả ETH.
➢ Các loại ví Etherum phổ biến:
• Ví Giấy (Paper Wallet):
Loại ví cơ bản nhất được biết đến là một loại ví giấy, tên là một loại giấy có khóa riêng
được viết hoặc in trên đó.
Thông tin trên mảnh giấy này là tất cả những gì cần thiết để kiểm soát tất cả các tài sản
trên tài khoản Ethereum.
• Ví phần cứng (Hardware Wallet ):
Đây là loại ví lưu trữ Private Key trong một thiết bị phần cứng, rất dễ sử dụng và an toàn.
Nhưng, loại ví này người dùng phải dùng tiền để mua. Một số ví cứng lưu trữ Ethereum uy
tín: Ledger Nano S, Ledger Nano X, Trezor, KeepKey
• Ví phần mềm (Software Wallet):
Đây là loại ví lưu trữ Ethereum trên ổ cứng của máy tính hay điện thoại. Dễ sử dụng
nhưng cũng dễ bị hacker tấn công và không bảo mật bằng ví cứng.
• Ví sàn:
Cách phổ biến nhất để mọi người mua tài sản tiền điện tử đầu tiên của họ là thông qua
một sàn giao dịch cho phép mọi người giao dịch giữa tiền tệ fiat và cryptocurrency.
Sàn giao dịch cũng hoạt động như ví vì nền tảng kiểm soát các khóa riêng thay mặt cho
người dùng.
Lợi ích của việc có một nền tảng kiểm soát các khóa riêng của bạn là tiền hoặc tài sản của
bạn có thể được phục hồi nếu bạn mất mật khẩu.
➢ Cách tạo ví Ethereum
B1: Truy cập vào myetherwallet.com để bắt đầu quá trình đăng ký.
B2: Điền Password và bấm Create New Wallet
B3: Download Keystore File (UTC / JSON). Sau khi download xong, bấm vào I
understand. Continue. Lúc này, Private Key của ví sẽ hiện ra.
B4: Lưu Private Key cũng như Keystore/JSON File. Tiếp theo bấm vào Print Paper
Wallet và lưu lại.
CHƯƠNG 2: ỨNG DỤNG ĐƯỢC XÂY DỰNG TRÊN ETHEREUM
2.1. Tài chính phi tập trung (Defi) và Ethereum
Hình 3.3.Ứng dụng tài chính phi tập trung trên Ethereum
Khi giao dịch các dịch vụ tài chính dựa trên Ethereum, kết nối các cá nhân ngang hàng
sẽ cho phép họ truy cập tài sản dễ dàng hơn và chi phí hợp lý hơn khi bạn thực hiện các giao
dịch thông thường như hiện nay. Vì hầu hết các dịch vụ tài chính của bạn như chuyển tiền,
mua bán tài sản, hoặc cho vay đều được kiểm soát và tính phí bởi một bên trung gian.
➢ Ứng dụng tài chính phi tập trung trên Ethereum
Ethereum hiện là nền tảng có nhiều ứng dụng defi hoạt động nhất. Phần này chắc cũng là
những ứng dụng cho các nhà đầu sử dụng nhiều nhất nên mình sẽ liệt kê nó trước:
• Stablecoin: Là các loại tiền điện tử được thiết kế để giảm thiểu tác động của biến
động giá.
• Coinbase Wallet: Ví đa tiền tệ, được cung cấp quyền truy cập vào Ứng dụng phân
cấp Web (dApps) bởi các hợp đồng thông minh Ethereum.
• Huobi Wallet: Ví đa tiền tệ, trình duyệt dApps và staking như một dịch vụ cho các
mạng PoS.
• MyEtherWallet: Miễn phí, mã nguồn mở, giao diện phía máy khách để tạo ví
Ethereum và tương tác với dApps.
• Trust Wallet: Ví tiền điện tử đa năng để lưu trữ các mã thông báo BEP2, ERC20 và
ERC721.
…
Những ứng dụng trên được rất nhiều người sử dụng vì tính tiện ích của nó. Ngoài ra còn
các ứng dụng tiện ích của ethereum với Defi như: Đầu tư, thanh toán, cho vay, bảo hiểm, dự
đoán thị trường…
2.2. Sàn giao dịch phi tập trung (DEX) và Ethereum
Hình thức trao đổi phi tập trung có thể kể đến như: Mạng ngang hàng (peer-to-peer),…
Cùng với đó là ứng dụng phi tập trung dapp, nơi mà người dùng tương tác với hợp đồng
thông minh.
Một trong những sàn giao dịch ngang hàng tốt nhất hiện nay tại Việt Nam đó là
Binance P2P. Các nhà đầu tư có thể thực hiện mua bán Ether trực tiếp bằng VND.
2.3. Ứng dụng phi tập trung (Dapps)
Hình 3.4. Các ứng dụng trên Ethereum Dapps cho các nhà đầu tư.
Ứng dụng phi tập trung Dapp cùng với mạng ngang hàng giúp người dùng tương tác với
hợp đồng thông minh.
➢ Các ứng dụng trên Ethereum cho các nhà đầu tư
Dưới đây là danh sách các Ethereum dapps có thể sử dụng ngay bây giờ. Hầu hết đều có
sẵn để tải xuống miễn phí thông qua các cửa hàng Apple hoặc Google Play hoặc trực tiếp
thông qua các trang web của họ dưới dạng bản demo, betas hoặc bản phát hành đầy đủ.
➢ Trình duyệt, ví và các tiện ích:
• MetaMask: Ứng dụng Plug-in trình duyệt cho phép kết nối thiết bị của bạn với
mạng lưới Ethereum.
• Status: Trình duyệt di động Ethereum với ví token, chat và cổng thông tin dApp.
• Brave: Một trình duyệt web và di động được tích hợp với BAT và ERC-20
tokens.
• Opera: Trình duyệt Dapp với ví Ethereum tích hợp.
• Ethereum Name Service: Một tiện ích để tạo địa chỉ ví ETH được cá nhân hóa
và đơn giản.
• Civic: Bảo mật danh tính và quản lý dữ liệu trên blockchain.
• Alethio: Nền tảng phân tích mạng Ethereum.
➢ Các ứng dụng khác:
Ngoài danh mục ví, các trang web hay các tiện ích. Ứng dụng của ethereum còn trải
dài trên rất nhiều lĩnh vực khác như: Platform, market, Mạng xã hội, game,…
➢ Một vài ví dụ cho người dùng nghiên cứu như sau:
• IDEX: Một trao đổi phi tập trung với giao dịch thời gian thực và thông lượng
giao dịch cao.
• ForkDelta: Một trao đổi token Ethereum phi tập trung.
➢ Điều làm cho Ethereum DApps khác biệt
Các ứng dụng được xây dựng trên Ethereum (DApps) có thể làm những điều mà các
ứng dụng thông thường không thể:
• Tạo các loại tiền và tài sản kỹ thuật số mới.
• Các ứng dụng web không thể ngăn chặn và không thể kiểm soát.
• Xây dựng các tổ chức phi tập trung, tài sản hoặc thế giới ảo được quản lý chung.
DApps trên Ethereum là các ứng dụng web được hỗ trợ bởi các hợp đồng thông minh
Ethereum . Thay vì sử dụng máy chủ hoặc cơ sở dữ liệu tập trung, các ứng dụng này dựa
vào blockchain làm phần phụ trợ cho toán học logic và lưu trữ chương trình.
Điều này dẫn đến các ứng dụng tiềm năng không thể ngăn chặn: Bất kỳ ai cũng có thể
triển khai một bản sao và tự do kết nối nó với mạng Ethereum công cộng.
CHƯƠNG 3: CÁCH ĐỂ KIẾM ETHEREUM
3.1. Các cách đầu tư ETH
Đầu tư Ethereum có nhiều cách và nhiều hình thức khác nhau. Tuy nhiên điển hình
phải kể đến đó là Giao dịch ETH truyền thống, đào Ethereum và giao dịch ký quỹ Ethereum.
➢ Giao dịch Ethereum truyền thống
Theo như thống kê của trang ycharts thì chi phí trung bình cho mỗi giao dịch Ethereum
là 2,042 USD. Đây là số liệu được thống kê ngày hôm qua tức là ngày 14/10/2020.
Con số này đã tăng lên từ 1,933 USD của ngày hôm qua (tăng 5,61%). Nếu so với 1 năm
về trước thì chi phí giao dịch 1 ETH đã tăng 1570%.
Hình 3.5. Biểu đồ phí giao dịch 1 năm của ETH -Nguồn: Ycharts.com
Có thể thấy phí giao dịch của ETH tăng một cách chóng mặt. Và con số này có lẽ sẽ càng
tăng theo thời gian.
➢ Đào Ethereum
Nếu bạn là thợ đào ETH, thì ngoài phí giao dịch nêu trên ra, bạn cần phải cộng phí máy
đào, tiền điện và phí lưu trữ v.v. Theo thống kế của Venturebeat:
Số lượng GPU 4
Tỉ lệ băm trên mỗi GPU ( Mh/s) 40
Tổng tỷ lệ băm (Mh/s) 160
Điện năng tiêu thụ khai thác (W) 1000
Giá điện (USD/kWh) 0,1
Chi phí điện hàng ngày (USD) 2,4 (Khoảng 55.000 VNĐ)
1,5% Phí khai thác mỏ
3.000 ( Khoảng 69 triệu VNĐ) Tổng chi phí phần cứng (USD)
Tuy nhiên chi phì này chỉ là mức tính tương ứng vì ở mỗi quốc gia khác nhau thì chi phí
sẽ khác nhau. Nhưng nhìn vào chi phí này cũng đủ thấy rằng để có 1 “dàn khoan” Ethereum
hợp lý không hề rẻ chút nào.
Đây là biểu đồ về hệ số khó khăn trong việc khai thác khối Ethereum. Hệ số này đang
tăng theo cấp số nhân điều đó có nghĩa là độ khó của việc khai thác ETH đang gia tăng chóng
mặt.
➢ Giao dịch ký quỹ Ethereum
Đây là hình thức phổ biến nhất hiện tại vì nó dễ dàng tiếp cận với mọi nhà đầu tư, đặc
biệt là với các nhà đầu tư nhỏ lẻ. Vậy hình thức này kiếm tiền như thế nào?
Về bản chất thì giao dịch ký quỹ ETH cho phép nhà đầu tư kiếm lợi nhuận dựa trên
sự chênh lệch giá của ETH và không cần sử hữu chúng. Và một điều đặc biệt hơn nữa là nhà
đầu tư có thể kiếm được lợi nhuận theo cả 2 chiều tăng giảm của giá ETH miễn là nhà đầu
tư dự đoán chính xác xu hướng di chuyển.
Lợi thế khi giao dịch ký quỹ:
✓ Vốn thấp: Khoản đầu tư của bạn sẽ được khuếch đại sau khi sử dụng đòn bẩy tài
chính
✓ Chi phí giao dịch thấp: không có chi phí lưu trữ và không có rủi ro bị hack vì
không sở hữu tài sản.Thay vào đó bạn chỉ cần phải trả một khoản phí rất nhỏ cho sàn
giao dịch.
✓ Nhanh chóng và tiện lợi: Chỉ cần đăng ký tài khoản online, với các thiết bị thông
minh được kết nối internet là bạn có thể giao dịch ở bất cứ đâu bất cứ khi nào bạn
muốn
✓ Lợi nhuận 2 chiều và lợi nhuận cao: Dù tăng hay giảm bạn đều có thể thu được lợi
nhuận nhờ vào việc dự đoán đúng xu hướng.
Hình 3.6. Cơ chế mua bán eth
- Mua vào: Chọn Mua nếu bạn dự đoán rằng giá ETH sẽ tăng
- Bán khống: Chọn Bán nếu bạn dự đoán rằng giá ETH sẽ giảm
Note: Nếu bạn không có ý định giữ Ethereum thì có thể giao dịch ký quỹ ETH trên Sàn
Mitrade. Mitrade cung cấp cho bạn đòn bẩy 1:10 với Ether.
Cách phù hợp với các nhà đầu tư bán lẻ nhất để giao dịch đồng Ethereum chính là
tham gia trên sàn giao dịch ký quỹ ví dụ như Mitrade. Ngoài ra, giao dịch Ethereum trên
Mitrade rất là đơn giản.
Hình 3.7. Thông tin Mitrade
3.2. Hướng dẫn cách mua Ethereum.
① Bước 1: Đăng ký và tạo tài khoản
Mitrade hiện cung cấp cho nhà đầu tư 2 tài khoản giao dịch đó là tài khoản Demo và tài
khoản thật. Trader mới sẽ có 50.000$ tiền ảo để luyện tập giao dịch với tài khoản demo.
Tài khoản giao dịch thật bằng vốn của bạn. 100 thị trường tài chính | 0 phí hoa hồng |
Spread thấp | Đòn bẩy lên đến 1:200(Bitcoin: 1:10) | Các công cụ hỗ trợ giao dịch miễn phí
| Bảo mật | Nền tảng dễ sử dụng
② Bước 2: Nạp vốn vào tài khoản giao dịch
Số tiền nạp tối thiểu trên Mitrade là $50(khoảng 1,1 triệu đồng) và nền tảng hỗ trợ nhiều
phương thức thanh toán bao gồm thẻ nội địa. Việc nạp/rút được thực hiện dễ dàng. Số tiền
nạp của bạn sẽ được bảo vệ theo quy định của ASIC.
③ Bước 3: Chọn Ethereum để giao dịch
Chọn thị trường tiền điện tử và sau đó chọn Ethereum. Ngoài Ethereum ra Mitrade còn cung
cấp hơn 100 thị trường khác bao gồm:
Các loại thị trường tài chính phổ biến trên Sàn Mitrade
Ta hoàn toàn có thể đa dạng hóa danh mục đầu tư một cách dễ dàng trên Mitrade
④ Bước 4: Chọn vị thế Mua/bán
Dựa vào những phân tích của mình bạn hãy đưa ra nhận định và mở vị thế:
• Chọn Mua nếu bạn dự đoán rằng giá ETH sẽ tăng
• Chọn Bán nếu bạn dự đoán rằng giá ETH sẽ giảm
Sau đó chọn số lô muốn giao dịch, hệ thống sẽ tự hiện số tiền ký quỹ yêu cầu mà bạn
không cần phải tính toán.
⑤ Bước 5: Sử dụng công cụ quản lý rủi ro
Hệ thống quản lý rủi ro trên Mitrade vô cùng phong phú với các công cụ: Lệnh chốt lời,
lệnh dừng lỗ, lệnh cắt lỗ dưới..v.v
Một số công cụ quản lý rủi ro miễn phí trên Sàn Mitrade
⑥ Bước 6: Đóng vị thế và rút lợi nhuận
Sau khi giao dịch có lãi, bạn chỉ cần đóng vị thế và rút tiền về tài khoản của mình. Mitrade
đã liên kết với hầu hết các ngân hàng tại Việt Nam nên không cần quá lo lắng về phần nạp/rút.
Nếu bạn là nhà đầu tư ngắn hạn, yêu thích các giao dịch nhanh và mong muốn kiếm lợi
nhuận trong ngày thì Mitrade là lựa chọn số 1 dành cho bạn.
PHẦN 4: TÌM HIỂU GRT
4.1.The Graph (GRT)
The Graph là một giao thức phi tập trung có chức năng tổ chức dữ liệu blockchain.
Nhờ vậy, nó giúp cho người sử dụng truy cập dữ liệu Blockchain một cách tiện lợi, dễ
dàng và đồng bộ hơn.
Chính vì tính năng indexing và truy vấn dữ liệu đó, người ta ví The Graph như một
Google của network Blockchain.
4.2.Phương thức hoạt động của The Graph
4.2.1. Vấn đề được giải quyết bằng The Graph
Cho đến nay, tính minh bạch của công nghệ blockchain thường nhận được rất nhiều
lời khen ngợi. Nhưng, cho dù chúng chứa rất nhiều dữ liệu hữu ích, việc truy vấn chúng để
tìm dữ liệu đặc biệt không phải điều dễ dàng, việc đó giống như “Web mà không có
Google”.
Hiện tại đã có rất nhiều công cụ phân tích có thể lấy các thông tin hữu ích từ dữ liệu
blockchain. Tuy nhiên các ứng dụng này thường hoạt động theo cách tập trung và có thể
mất hàng tháng để phát triển.
Từ đó The Graph ra đời, tự coi mình không phải là đối thủ cạnh tranh với các công
cụ trên, mà là ứng dụng hỗ trợ cho chúng.
Có thể coi The Graph như một lớp dữ liệu mở trong hệ sinh thái blockchain.
4.2.2. Giải pháp của The Graph
Hình 4.1. Giải pháp GRT
The Graph xây dựng một giao thức cho phép người sử dụng có thể truy cập để xây
dựng các API (còn được gọi là các Sub-Graph)
The Graph sẽ lấy dữ liệu từ network blockchain( bước đầu với Ethereum) và tổ chức
lại theo một cấu trúc riêng.
Việc truy xuất dữ liệu được áp dụng theo phương thức GraphQL, một phương thức
phổ biến được rất nhiều ông lớn sử dụng như Facebook, Pinterest, Shopify…
Hình 4.2. Các hệ thống sử dụng GraphQL
Ngoài ra, The Graph hướng đến việc xây dựng nền tảng gồm nhiều Node, trong đó
người sử dụng có thể đăng ký xây dựng The Graph Node, nó giúp cho rút ngắn thời gian
truy xuất dữ liệu, tiện lợi hơn cho cộng đồng.
4.2.3. Hệ sinh thái của The Graph
▪ Indexers là các node operators trong mạng lưới The Graph. Indexers sẽ stake token
GRT để cung cấp cho dụng vụ Indexing và Query Processing. Indexers sẽ nhận được
Query fees và các Inflation reward.
▪ Curators là các Sub-Graph developers, data consumers hoặc là những thành viên
cộng đồng. Họ sắp xếp dữ liệu và báo hiệu cho Indexers những API nào nên được
lập chỉ mục bởi mạng lưới The Graph. Từ việc này, họ có thể kiếm được token GRT.
▪ Delegators là các cá nhân muốn đóng góp vào việc bảo mật mạng The Graph nhưng
họ có thể không muốn hoặc không rành code để làm Curators hay Indexers. Họ có
thể ủy quyền token GRT của mình cho các Indexers để được share phần thưởng.
▪ Consumers là người dùng cuối của The Graph. Họ dùng dịch vụ query data được
cung cấp từ Indexers, phí này được share theo tỷ lệ cho các Indexers, Curators,
Delegators.
4.3. Token GRT
GRT là Token trong hệ sinh thái The Graph, được dùng với mục đích:
▪ Query fees: Phí do người tiêu dùng trả cho các Indexers, Curators và Delegators.
Giống như phí chúng ta trả cho các dịch vụ đám mây.
▪ Inflation reward: Phần thưởng lạm phát sẽ được chia sẻ cho Indexers, Curators và
Delegators dựa trên số Token GRT mà họ stake.
▪ Protocol Sink & Burns: Một phần Query fees được đốt cháy, dự kiến sẽ bắt đầu ở
mức ~1% tổng phí truy vấn giao thức và có thể thay đổi tỉ lệ trong tương lai.
4.4. Một số thông tin cơ bản về token GRT
▪ Token name: GRT Token
▪ Ticker: GRT
▪ Blockchain: Ethereum
▪ Token Standard: ERC-20
▪ Total Initial Token Supply: 10 tỷ
▪ Lộ trình phát hành mới: Bắt đầu từ ~ 3% hàng năm, tùy thuộc vào quản trị kỹ thuật.
▪ Maximum Token supply: 10 tỷ in + Số token phát hành mới – Số token được đốt
▪ Market cap: $232,287,329
▪ Khoảng 1% phí quy vấn mà người dùng phải trả cho hệ thống The Graph sẽ được
đốt.
4.4.1. Phân bố token GRT
Hình 4.3. Sơ đồ phân bổ GRT
Token GRT được phân bổ như sau:
▪ Graph Foundation: 58%
▪ Educational Programs: 6%
▪ Curator Program Grant:9%
▪ Testnet Indexer Rewards: 9%
▪ Bug Bounties: 1%
▪ Public GRT Sale: 12%
▪ Strategic GRT Sale: 6%
4.4.2. Public sale
▪ Token Ticker: GRT (ERC20 Token)
▪ Ngày: Thứ 5 ngày 22/10/2020 lúc 23h đêm
▪ Nơi bán: thegraph.com, Ethereum Blockchain
▪ Đóng đăng ký từ: 15/10/2020
▪ Tổng cung lúc đầu: ~1,245,666,867 GRT
▪ Tổng cung: 10,000,000,000 GRT
▪ Tổng Token bán: 400,000,000 preGRT (Converting to 400,000,000 GRT)
▪ Giá: $0.03/preGRT
▪ Thanh toán bằng: ETH
▪ Cá nhân: $1,000-$5,000 chỉ được mua trong khoảng này.
▪ Khóa: Khóa tới khi khởi chạy
▪ Quốc gia được phép mua: Ngoài những người dùng tại Hoa Kỳ và một số khu vực
pháp lý nghiệm ngặt thì còn lại đều có thể tham gia được.
4.4.3. Đội ngũ phát triển dự án
Hình 4.4. Đội ngũ phát triển
Team The Graph khá chất lượng với sự tham gia của các tên tuổi trong làng Dev
Blockchain.
4.4.4. Partners
Hình 4.5. Các tổ chức hỗ trợ và sử dụng sản phẩm
Đội ngũ nhà đầu tư của The Graph cũng khá ấn tượng, được rất nhiều tổ chức đứng
sau hỗ trợ và sử dụng sản phẩm. Có thể kể đến những cái tên như: Coinbase Venture,
DCG,…
4.4.5. Cách kiếm và sở hữu GRT Token
Hiện tại bạn có thể sở hữu GRT token bằng những cách sau:
▪ Tham gia vào hệ sinh thái The Graph. Bất kỳ ai cũng có thể là Indexer, Curator hoặc
Delegator.
▪ Staking.
▪ Chương trình Bug Bounty để giúp tìm ra các lỗ hổng bảo mật.
▪ Tham gia các cuộc thi hackathon.
4.4.6. Sàn giao dịch GRT Token
Tính đến thời điểm hiện tại, bạn có thể giao dịch token GRT trên Uniswap, Okex,
Huobi, Binance và Coinbase.
4.4.7. Ví lưu trữ token GRT
GRT là token ERC-20 nên bạn có thể lưu trữ trên các ví có hỗ trợ tiêu chuẩn nảy như:
▪ Metamask
▪ Myetherwallet
▪ Trust Wallet
4.5. Tương lai của GRT Token
The Graph giúp quá trình xây dựng các Dapp nhanh chóng hơn thông qua việc truy
xuất Data trên Blockchain Ethereum nhanh hơn.
Cùng với sự phát triển của hệ sinh thái Ethereum thì mình tin The Graph cũng sẽ
phát triển theo.
PHẦN 5: MÔ TẢ QUY TRÌNH TRIỂN KHAI ỨNG DỤNG
5.1. Mục tiêu 5.2. Mô hình Use-case 5.3. Sơ đồ lớp
5.4. Sơ đồ Sequence Diagram
5.5. Các bước để xây dựng một project
✓ Bước 1: Xây dựng Smart Contract (dBank) với các chức năng cơ bản Deposit,
Withdraw, Borrow, Payoff bằng Solidity.
- Giới thiệu về Solidity:
Solidity là một ngôn ngữ cấp cao, hướng đối tượng để thực hiện các hợp đồng
thông minh. Hợp đồng thông minh là các chương trình điều chỉnh hành vi của
các tài khoản trong trạng thái Ethereum.
Solidity được thiết kế để nhắm mục tiêu Máy ảo Ethereum (EVM).
Với Solidity, bạn có thể tạo các hợp đồng để sử dụng như bỏ phiếu, huy động
vốn từ cộng đồng, đấu giá và ví nhiều chữ ký.
Khi triển khai hợp đồng, bạn nên sử dụng phiên bản Solidity được phát hành
mới nhất. Điều này là do các thay đổi đột phá cũng như các tính năng mới và
bản sửa lỗi được giới thiệu thường xuyên.
https://docs.soliditylang.org/en/v0.8.4/#solidity
- Tạo Contract dBank với Solidity
✓ Bước 2: Cài đặt Ganache (Mạng Ethereum local).
- Giới thiệu về Genache:
Ganache là một blockchain cá nhân để phát triển ứng dụng phân tán Ethereum
và Corda nhanh chóng. Bạn có thể sử dụng Ganache trong toàn bộ chu kỳ phát
triển; cho phép bạn phát triển, triển khai và thử nghiệm các dApp của mình
trong một môi trường an toàn và xác định.
Ganache có hai phiên bản: UI và CLI. Ganache UI là một ứng dụng dành cho
máy tính để bàn hỗ trợ cả công nghệ Ethereum và Corda. Công cụ dòng lệnh,
ganache-cli (trước đây được gọi là TestRPC), có sẵn để phát triển Ethereum
https://www.trufflesuite.com/ganache
- Giao diện:
✓ Bước 3: Triển khai Smart Contract lên mạng Ethereum local bằng Truffle.
- Giới thiệu về Truffle:
Truffle là một môi trường phát triển đẳng cấp thế giới, khung thử nghiệm và
đường ống tài sản cho các blockchain sử dụng Máy ảo Ethereum (EVM),
nhằm mục đích làm cho cuộc sống của một nhà phát triển trở nên dễ dàng
hơn.
▪ Tích hợp hợp đồng thông minh biên dịch, liên kết, triển khai và quản lý nhị
phân.
▪ Kiểm tra hợp đồng tự động để phát triển nhanh chóng.
▪ Khung triển khai và di chuyển có thể mở rộng và có thể tập lệnh.
▪ Quản lý mạng để triển khai cho bất kỳ số lượng mạng công cộng và riêng
tư.
▪ Quản lý gói với EthPM & NPM, sử dụng tiêu chuẩn ERC190.
▪ Bảng điều khiển tương tác để giao tiếp hợp đồng trực tiếp.
https://www.trufflesuite.com/docs/truffle/getting-started/compiling-contracts
- Xây dựng Folder chứa các file cấu hình để triển khai hợp đồng thông minh:
- Mỗi file được định nghĩa các hàm để triển khai hợp đồng thông minh lên
mạng Ethereum.
- Để thiết lập Truffle
▪ Cài đặt npm install –g truffle
▪ Khởi tạo truffle init
- File truffle.js định nghĩa hợp đồng sẽ được triển khai trực tiếp lên mạng nào.
Ở đây là http://127.0.0.1:7545 ( mạng Ethereum local mà Ganache đã start
trước đó)
Triển khai hợp đồng thông minh lên Ethereum bằng lệnh “truffle migrate --
network development” , nếu không chỉ định network, truffle sẽ tự động lấy
network đầu tiên.
- Sau khi compile, hợp đồng thông minh sẽ được biên dịch thành các file json.
Mỗi file sẽ chứa các thông tin về hợp đồng và các meta-data khác:
▪ Contract name: Tên của hợp đồng
▪ abi: thông tin các chức năng cũng như thuộc tính, được miêu tả rõ ràng
input và output
▪ metadata: các metadata khác của hợp đồng
Sau khi đã biên dịch thành công, hợp đồng sẽ được truffle triển khai lên
Ethereum và tạo các giao dịch tương ứng.
Ganache sẽ ghi giao dịch cũng như tự động thêm các block vào trong mạng
Ethereum hiện tại
Danh sách Block
Thông tin chi tiết block
✓ Bước 4: Sử dụng web3 để tương tác với Smart Contract.
- web3.js là một tập hợp các thư viện cho phép bạn tương tác với một nút
ethereum cục bộ hoặc từ xa bằng cách sử dụng HTTP, IPC hoặc WebSocket.
https://github.com/ChainSafe/web3.js#readme
✓ Bước 5: Xây dựng Service.
5.6. Danh sách màn hình 5.7. Nhận xét và kết luận
BẢNG PHÂN CHIA CÔNG VIỆC
Mức độ hoàn thành STT MSSV Công việc được giao (%)
- Tìm hiểu Smart contract
- Tìm hiểu Reactjs thiết kế lại giao
diện 100 1 18521510
- Tìm hiểu blockchain
- Thử nghiệm smart contract trên
Metamask
- Tìm hiểu blockchain
- Tìm hiểu Solidity
- Dựng format báo cáo 100 2 17521062
- Mô tả quy trình triển khai
- Hỗ trợ tìm hiểu & xây dựng
service để build project
- Tìm hiểu GRT
- Tìm hiểu Ethereum
3 19522536 100 - Tìm hiểu blockchain
- Thử nghiệm smart contract trên
Metamask
TÀI LIỆU THAM KHẢO
https://coin98.net/the-graph-grt
https://coin68.com/the-graph-la-gi/
https://www.mitrade.com/vn/forex/cryptocurrency/ethereum/Ethereum-ETH-la-
gi#linkTo-article-para2
https://blogtienao.com/ethereum/#ftoc-heading-26
https://www.slideshare.net/CngthngtinTininT/ethereum-la-gi-nhung-khai-niem-
xung-quanh-ethereum-eth-ma-ban-nen-biet-137466881
https://kgold.vn/blockchain-la-gi.html
https://www.mitrade.com/vn/forex/cryptocurrency/cryptocurrency-la-gi/cong-nghe-
blockchain
https://bytesoft.vn/cong-nghe-blockchain-1-0-la-gi
https://ethereum.stackexchange.com/questions/32233/how-to-install-truffle-3-x-
current-release-is-truffle-4-0?rq=1
https://github.com/Sudhanmanoharan/MarketPlace-BlockChain
https://reactjs.org/
https://www.youtube.com/watch?v=ctLFWAanxcI
https://www.trufflesuite.com/docs/truffle/getting-started/interacting-with-your-
contracts
https://web3js.readthedocs.io/en/v1.3.4/
https://docs.soliditylang.org/en/v0.8.4/
https://vn.bitdegree.org/crypto/huong-dan/smart-contract-la-gi