Báo cáo đồ án môn học Thương mại điện tử đề tài Blockchain và lập trình Solidity (tham khảo) * Nội dung báo cáo: - Chương 1: Tổng quan về công nghệ Blockchain - Chương 2: Tính chất, hệ sinh thái Blockchain, giải thuật của Blockchain, tiền mã hóa (Cryptocurrency), hợp đồng thông minh (Smart Contract) và Ethereum - Chương 3: Metamask và lập trình Solidity, sử dụng Remix trong lập trình Solidity - Chương 4: Phân công công việc - Chương 5: Tài liệu tham khảo Lưu ý: Tài liệu mang tính chất tham khảo, vui lòng không sao chép hoặc copy
Trang 1GIẢNG VIÊN HƯỚNG DẪN
THS.ĐỖ DUY THANH
ĐỂ TÀI: CÔNG NGHỆ BLOCKCHAIN – LẬP TRÌNH SOLIDITY
Mục lục
Trang 2
1 TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN 5
1.1 Giới thiệu sơ lược về công nghệ Blockchain 5
1.2 Lich sử của công nghệ Blockchain 7
1.3 Kiến trúc của Blockchain 8
1.4 Công nghệ Blockchain hoạt động như thế nào? 13
1.5 Ứng dụng Blockchain trong đời sống 14
2 PHIÊN BẢN BLOCKCHAIN 19
3 CÁC LOẠI BLOCKCHAIN 20
4 THUẬT NGỮ BLOCKCHAIN 21
CHƯƠNG 2: TÍNH CHẤT, HỆ SINH THÁI BLOCKCHAIN, GIẢI THUẬT CỦA BLOCKCHAIN, TIỀN MÃ HÓA, SMART CONTRACT VÀ ETHEREUM 28
1 ĐẶC ĐIỂM CỦA BLOCKCHAIN 28
2 HỆ SINH THÁI BLOCKCHAIN 34
3 CƠ CHẾ MÃ HÓA BLOCKCHAIN 46
3.1 Cryptography 46
3.2 Hằm băm và tầm quan trọng 47
3.3 Merkle Tree and Merkle Root 49
4 GIAO THỨC ĐỒNG THUẬN BLOCKCHAIN 52
5 TIỀN MÃ HÓA (CRYPTOCURRENCY), SMART CONTRACT 53
5.1 Tiền mã hóa (Cryptocurrency) 53
5.1 Hợp đồng thông minh (Smart Contract) 54
6 ETHEREUM VÀ HỆ SINH THÁI ETHEREUM 56
6.1 Ethereum network 58
6.2 Ethereum node client 58
6.3 Solidity 60
6.4 Swarm & IPFS 61
6.5 ENS 61
7 NFTs TRONG ETHEREUM 61
CHƯƠNG 3: METAMASK VÀ LẬP TRÌNH SOLIDITY, SỬ DỤNG REMIX LẬP TRÌNH SOLIDITY 63
Trang 32.1 Solidity là gì? 70
2.2 Kiểu dữ liệu 71
2.3 Contract 74
2.4 Phương thức 74
2.5 Thuộc tính 77
2.6 Các công cụ mà Solidity cung cấp 78
2.7 Các trường hợp sử dụng Solidity 78
3 VIẾT THỬ CHƯƠNG TRÌNH BẰNG SOLIDITY 79
3.1 Smart Contract cho HelloWorld 79
3.2 Viết thử chương trình quản lý khách hàng và đưa lên mạng Ethereum 83
CHƯƠNG 4: PHÂN CÔNG CÔNG VIỆC 90
CHƯƠNG 5: TÀI LIỆU THAM KHẢO 91
NHẬN XÉT CỦA GIÁO VIÊN
Trang 4………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN
1 TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN
1.1 Giới thiệu sơ lược về công nghệ Blockchain
Hình 1.1 Chuyển tiền trong hệ thống ngân hàng
Giả sử, bây giờ ta gửi tiền vào ngân hàng thì sẽ ra sao khi thảm họa xảy ra như tất cả các sổ sách trong ngân hàng đều bị cháy rụi, máy chủ lưu thông tin của ngân hàng cũng
bị đánh sập Và điều hiển nhiên là chẳng ai biết được ta đã gửi tiền vào ngân hàng và thế là số tiền ta đã gửi bị mất sạch hoàn toàn.
“Tại sao không tạo ra nhiều máy chủ, không lưu thông tin ở nhiều nơi và nhiều bản?” Điều đấy rất tốn kém, còn đối với bản sao giấy thì không khả thi vì hàng ngày có hàng trăm hàng ngàn khách hàng đến ngân hàng để thực hiện việc giao dịch
Trang 6Vì vậy, công nghệ Blockchain được ra đời nhằm khắc phục những nhược điểm trên.
Đơn giản là việc lưu thông tin trong một file duy nhất nhưng lại được phân bổ cho tất cả các máy tính có kết nối với nhau Thông tin sẽ được lưu trữ một cách minh bạch, bảo mật và an toàn mà không lo bị mất.
Thế nào là Blockchain?
Hình 1.2 Mô hình công nghệ Blockchain
- Blockchain nghe thì có vẻ phức tạp và trừu tượng nhưng khái niệm cốt lõi của nó thật sự
khá đơn giản Blockchain là một loại cơ sở dữ liệu
- Cơ sở dữ liệu là một hệ thống các dữ liệu có cấu trúc, được lưu trữ trên thiết bị lưu trữ
Trang 7- Blockchain như một cuốn số cái kế toán công cộng Trong đó, mọi thông tin được lưu trữ
và truyền tải một cách minh bạch, toàn vẹn, không thể nào thay đổi hay gian lận được.Đây là một công nghệ mới, giúp cải thiện được rất nhiều những mặt hạn chế của cách lưutrữ và trao đổi thông tin truyền thống
Hình 1.3 Blockchain
- Hiểu về mặt kỹ thuật thì:
▪ Block: là một khối (có hình vuông hoặc hình chữ nhật).
▪ Chain: là một chuỗi.
▪ Blockchain: là một chuỗi các khối (có hình vuông hoặc hình chữ nhật) được liên kết
với nhau tạo thành một hệ thống chuỗi lớn
1.2 Lich sử của công nghệ Blockchain
1991 – 2008: Những năm đầu của công nghệ Blockchain[ CITATION htt \l 1066 ]
- Vào năm 1991 Stuart Haber và W Scott Stornetta đã hình dung ra thứ mà nhiều người đã
biết đến là blockchain Công việc đầu tiên của họ liên quan đến việc nghiên cứu mộtchuỗi khối được bảo mật bằng mật mã, theo đó không ai có thể giả mạo dấu thời gian củatài liệu
CHAIN CHAIN
BLOCK BLOCK
BLOCK
Trang 8- Vào năm 1992, họ đã nâng cấp hệ thống của mình để kết hợp các cây Merkle nhằm nâng
cao hiệu quả do đó cho phép thu thập nhiều tài liệu hơn trên một khối duy nhất Tuynhiên, đến năm 2008, Lịch sử Blockchain mới bắt đầu có liên quan, nhờ vào công việccủa một người hoặc một nhóm có tên Satoshi Nakamoto
- Satoshi Nakamoto được công nhận là bộ não đằng sau công nghệ blockchain Rất ít thôngtin về Nakamoto vì mọi người tin rằng ông có thể là một người hoặc một nhóm ngườilàm việc trên Bitcoin, ứng dụng đầu tiên của công nghệ sổ cái kỹ thuật số
- Vào năm 2008, Nakamoto đã hình thành ý tưởng về blockchain đầu tiên, từ đó công
nghệ đã phát triển và tìm thấy đường vào nhiều ứng dụng ngoài tiền điện tử Vào năm
2009, Satoshi Nakamoto đã phát hành whitepaper đầu tiên về công nghệ này Trongwhitepaper, ông đã cung cấp chi tiết về cách công nghệ được trang bị tốt để nâng caoniềm tin kỹ thuật số dựa trên khía cạnh phân quyền có nghĩa là không ai có thể kiểm soátbất cứ điều gì
1.3 Kiến trúc của Blockchain
Một khối block sẽ được lưu trữ gồm 3 phần:
- Thành phần dữ liệu (Data): dữ liệu sẽ tùy thuộc vào từng loại blockchain Chẳng
hạn như Blockchain của Bitcoin sẽ chứa giao dịch
- Thành phần mã hóa (Hash): Hash của khối hiện tại như một đặc điểm để nhận
dạng Nó là duy nhất và không trùng nhau giống như vân tay của chúng ta vậy
- Thành phần mã hóa của node trước (Hash of previous block): các block này
kết nối với nhau thông qua mã hash của khối block trước tạo thành một chuỗi hệ
Trang 9Hình 1.4 Các block được liên kết với nhau thông qua mã Hash của các khối block trước
Chuỗi liên kết:
- Một chuỗi, hay một danh sách liên kết, được tạo ra khi mỗi đơn vị dữ liệu đồng
thời lưu trữ một giá trị Hash của đơn vị dữ liệu trước đó Chỉ cần có một thay đổitrong dữ liệu trước đó, thì giá trị hash sẽ bị thay đổi và mối liên kết đó sẽ bị phá
vỡ Một cấu trúc như vậy phù hợp cho việc lưu trữ và liên kết các khối dữ liệukhông xuất hiện đồng thời mà xảy ra lần lượt từng thời điểm
Hình 1.5 Chuỗi liên kết dữ liệu
- Trên hình 1.5, mã Hash R3 có thể dùng để truy xuất ngược lại toàn bộ dữ liệutrong chuỗi đến giá trị đầu tiên R3 được gọi là đỉnh của chuỗi
Trang 10 Cấu trúc của 1 block:
Ví dụ ta có 1 block sau:
Hình 1.6 Cấu trúc block số 8779340
- BLOCK HEIGHT 8779340 chính là số thứ tự của block
Trang 11- TIMESTAMP: ngày và giờ mà khối này được đào,
ở đây là 12 ngày 21 giờ trước vào ngày 17/6
- TRANSACTION: ta thấy là có 15 transaction (số lượng giao dịch trong khối) và 89
contract internal transaction (giao dịch là kết quả của việc thực hiện hợp đồng liên quan đến giá trị Ether)
- MINE BY:ở đây ta thấy 1 dãy kí tự này chính là địa chỉ ví của người đào thành công
- BLOCK REWARD: phần thưởng mà thợ đào sẽ nhận được ( 1 lượng ether hữu hạn t
rên các khoản phí được trả cho tất cả giao dịch có trong khối)
- UNCLE REWARD: Một unlce block có phần thưởng thấp hơn đáng kể so với một k
hối bình thường Phần thưởng Uncle block hợp lệ nhưng bị từ chối vì nó không nằm tr
ên chuỗi dài nhất, đây là cơ chế hoạt động của blockchain Uncle
block rất quan trọng trong Ethereum vì nó bảo mật cho chuỗi khối.)
- DIFFICULTY:sự nỗ lực cần thiết khi đào 1 khối mới và độ khó của thuật toán này có
thể điều chỉnh theo thời gian
- TOTAL DIFFICULTY : tổng độ khó của chuỗi đến block này (15,035,361)
- SIZE : kích thước của khối này và sẽ được xác định bởi gas limit của khối (23,640
bytes)
- GAS USED:tổng lượng gas được sử dụng trong khối là 6,733,736 và tỉ lệ phần trăm
nó chứa đầy trong khối (67,30%)
- GAS LIMIT : đây là số lượng gas tối đa mà người gửi có thể trả cho 1 transaction
(10,004,811)
Trang 12 Quá trình gom transaction:
Hình 1.7 Quá trình gom transaction
Tiếp theo chúng ta nói về quá trình gom transaction và đưa nó vào blockchain :
- Đầu tiên là tất cả những máy tham gia vào mạng Blockchain đều duy trì cho nó 1 cái Blockchain riêng và giống nhau hoàn toàn
- Khi máy muốn thay đổi dữ liệu, đầu tiên nó sẽ tạo 1 cái transaction và sau đó nó kí
Trang 13transaction này sau đó sẽ được đưa lên toàn hệ thống
- Tracsaction này được gọi là unconfirm tracsaction và chưa dc bỏ vào blockchain, nó được lưu trên bộ nhớ tạm thời của máy tính
- Và sẽ xảy ra 1 quá trình voting để lựa chọn 1 block leader, nhiệm vụ của block này là gom này là gom các unconfirm tracsaction lại rồi bỏ vào 1 block
- Sau đó gắn block này vào vị trí cuối của blockchain và gửi block này lên toàn mạng
- Các máy sẽ xác nhận dữ liệu này có đúng không và nếu đúng thì nó sẽ ghi vào
blockchain
Quá trình mine:
Trang 14nh 1.8 Quá trình mine
Mine là quá trình thêm transaction vào Blockchain
- Khi bạn thực hiện 1 lệnh chuyển tiền tức là 1 giao dịch diễn ra khi đó hệ thống sẽ đưa
ra ngẫu nhiên 1 dãy kí tự Và các thợ đào phải tìm ra dãy số nào đó mà sau khi mã hóa
sẽ ra 1 đoạn kí tự trùng với đoạn kí tự mà hệ thống đưa ra
Trang 15- Khi máy đầu tiên tìm ra kết quả thì các máy còn lại kiểm tra kết quả đó và nếu hơn 1 nửa số máy công nhận là đúng thì GD được thông qua
- Máy tìm được kết quả đúng sẽ được trả công bằng coin
- (Vì cơ hội khi đào 1m rất thấp nên họ tạo ra
1 nhóm đào hay bể đào các thợ mỏ đào cùng nhau, khi có ng đào đc thì mn trong nhó
m này đều đc trả công)
- Những phần vừa nêu trên chinh là cấu trúc và hoạt động của 1 block
Các khối sau
khi tạo ra sẽ được liên kết lại thành một chuỗi như sợi dây xích và đó chính là tên gọi của công nghệ chuỗi khối
1.4 Công nghệ Blockchain hoạt động như thế nào?
Hình 1.6 Sơ đồ hoạt động của Blockchain
Đầu tiên, người dùng sẽ bắt đầu một giao dịch và ký kết bằng khóa riêng của nó Khóariêng về cơ bản sẽ tạo ra một chữ ký số duy nhất và đảm bảo rằng không ai có thể thay đổi nó
Và nếu có bất cứ ai cố gắng thay đổi thông tin giao dịch thì chữ ký số sẽ tự thay đổi và khôngthể xác minh nó và sau đó bị loại bỏ.[ CITATION htt1 \l 1066 ]
Trang 16Tiếp theo, giao dịch sẽ được truyền bá rộng trên các nút xác minh Về cơ bản, nền tảngblockchain có thể sử dụng nhiều phương pháp khác nhau để xác minh xem giao dịch có hợp lệhay không Các phương pháp hay thuật toán này được gọi là thuật toán đồng thuận.
Sau khi giao dịch được xác thực thì nó sẽ chiếm được một vị trí trên sổ cái và nó sẽkhông bị thay đổi vì nó chứa dấu thời gian và một ID duy nhất
Và khối đằng sau sẽ liên kết với khối trước đó sau đó thì một khối mới sẽ tạo một mốiliên kết với khối này,… cứ tiếp tục như vậy nó tạo ra một chuỗi các khối do đó nó có tên làblockchain
1.5 Ứng dụng Blockchain trong đời sống
Ứng dụng trong ngành công nghiệp và dịch vụ
- Dịch vụ doanh nghiệp:
Microsoft và ConsenSys đang hợp tác để cung cấp Ethereum Blockchain dưới dạng Dịch vụ(EBaaS) trên Microsoft Azure để khách hàng và nhà phát triển Doanh nghiệp có thể có một môi
trường phát triển blockchain
Google cũng được cho làđang làm việc trên mộtblockchain độc quyền để hỗtrợ doanh nghiệp Công ty mẹAlphabet đang phát triển một
sổ cái phân tán mà các bênthứ ba sẽ có thể sử dụng để lưu trữ dữ liệu, được cho là liên quan đến các dịch vụ đám mây củaGoogle dành cho doanh nghiệp.[ CITATION htt2 \l 1066 ]
- Công nghiệp năng lượng:
Trang 17Ban Năng lượng Quốc gia Chile đã bắt đầu sử dụng công nghệ blockchain như một phươngtiện xác nhận dữ liệu liên quan đến việc sử dụng năng lượng của đất nước Dữ liệu nhạy cảm sẽđược lưu trữ trên blockchain như một phần của sáng kiến giúp hiện đại hóa và bảo mật cơ sở hạtầng điện của quốc gia Nam Mỹ.
Ứng dụng trong ngành nông nghiệp, thủy hải sản
- Đánh bắt cá:
Blockchain hiện đang được sử dụng để hỗ trợ đánh bắt cá bền vững Cá đánh bắt bất hợppháp là một vấn đề đặc hữu trong ngành, và công nghệ sổ cái phân tán cung cấp một phươngtiện để chứng minh nơi cá được đánh bắt, chế biến và bán Chuỗi “net-to-plate” này cho phépcác thanh tra xác định liệu cá có đến từ các khu vực khét tiếng vì vi phạm nhân quyền hay từ cácquốc gia bị ảnh hưởng bởi các lệnh trừng phạt kinh tế
• Food industry: Là ứng dụng Blockchain có thể cải thiện tính minh bạch và hiệu quả trong
việc tìm ra những loại thực phẩm có thể bị ô nhiễm và ở đâu trong suốt chuỗi cung ứng
• OriginTrail: Là một nền tảng blockchain cho phép người tiêu dùng biết hàng hóa thực phẩm
mà họ mua đến từ đâu và cách chúng được sản xuất
Ứng dụng Blockchain trong xây dựng
- Địa ốc:
Trang 18Ukraine vinh dự trở thành quốc gia đầu tiên sử dụng blockchain để tạo điều kiện cho mộtthỏa thuận về tài sản Một tài sản đã được bán bởi người ủng hộ tiền điện tử nổi tiếng và ngườisáng lập TechCrunch Michael Arrington.
Thỏa thuận này được kích hoạt với sự hỗ trợ của các hợp đồng thông minh trênblockchain Ethereum và được dự định là hợp đồng đầu tiên trong số nhiều người hoàn thành bởiPropy , một công ty khởi nghiệp chuyên về các giao dịch bất động sản dựa trên blockchain
- Đường sắt:
Nhà điều hành đường sắt Novotrans tại Nga đang sử dụng công nghệ blockchain với mụctiêu cải thiện tốc độ hoạt động của mình Một trong những nhà khai thác cổ phiếu lớn nhất trongnước, sẽ sử dụng blockchain để ghi lại dữ liệu liên quan đến yêu cầu sửa chữa, hàng tồn kho vàcác vấn đề khác liên quan đến hoạt động của họ Ý tưởng là các bản ghi blockchain sẽ có khảnăng chống giả mạo và tham nhũng dữ liệu nhiều hơn
- Quyền sử dụng đất:
Chính phủ Georgia sử dụng nó để đăng ký quyền sở hữu đất đai Họ đã tạo ra một hệ thốngblockchain được thiết kế tùy chỉnh và tích hợp nó vào hệ thống hồ sơ kỹ thuật số của Cơ quanđăng ký công cộng quốc gia (NAPR) Georgia hiện đang tận dụng lợi thế của tính minh bạch vàgiảm gian lận được cung cấp bởi công nghệ blockchain
Ứng dụng blockchain trong vận tải kho bãi
Trang 19nghiệp hậu cần hàng hải để mang lại sự minh bạch cho bộ máy quan liêu không thể tránh khỏitrong thương mại quốc tế.
Hai gã khổng lồ trong ngành công nghiệp tương ứng là IBM và Maersk đã cùng nhau tạo ranền tảng blockchain vận chuyển đầu tiên trên thế giới, TradeLens
Ứng dụng trong hoạt động tài chính, ngân hàng và bảo hiểm.
- Tài chính, Ngân hàng:
Bitcoin Atom
Bitcoin Atom là một nhánh mới của Bitcoin cho phép trao đổi tiền mã hóa dễ dàng màkhông tốn phí giao dịch Bạn không thể bị tấn công khi giao dịch Nó khiến Bitcoin thực sựđược phân cấp lại
Công nghệ này dựa trên các hoán đổi nguyên tử (atomic swaps) Đây được xem là mộtcông cụ vô giá để trao đổi các đồng tiền mã hóa và không cần phải có một bên thứ ba đáng tincậy
Nhưng hiện tại, việc áp dụng rộng rãi các giao dịch hoán đổi nguyên tử đã bị ngăn chặn
vì chúng đòi hỏi phải có kỹ năng kỹ thuật cao Bitcoin Atom chỉ có thể giải quyết vấn đề nàymột phần nào đó
Trang 20ABRA là một ứng dụng toàn cầu và ví tiền mã hóa cho phép bạn mua, đầu tư và trữ 20 loại tiền
mã hóa, bao gồm Bitcoin, ethereum, litecoin…
Aeternity
Aeternity là một nền tảng blockchain có khả năng mở rộng cao Nó có thể được sử dụng cho bất
kỳ ứng dụng nào yêu cầu tốc độ giao dịch cao
Bao gồm các hợp đồng thông minh được tạo ra từ các thanh toán chuỗi, nano và vi mô
Bảo hiểm
Blockchain trong ngành bảo hiểm thường được nói đến, nhưng nhiều người không biết côngnghệ đã được triển khai Chẳng hạn, Công ty bảo hiểm American International Group Inc, hợptác với International Business Machines Corp, đã hoàn thành một thí điểm của một chính sách
đa quốc gia được gọi là hợp đồng thông minh, đối với PLC của Standard Chartered Bank và có
kế hoạch quản lý phạm vi quốc tế phức tạp thông qua blockchain
Ứng dụng blockchain trong khai khoáng
Kim cương
Tập đoàn De Beers, công ty kim cương nổi tiếng thế giới, hiện có blockchain riêng mang tên
“Tracr” và đang hoạt động, được thiết kế để thiết lập một kỷ lục kỹ thuật số cho mỗi viên kimcương được đăng ký trên nền tảng
Với những lo ngại về nguồn gốc của kim cương và đạo đức liên quan đến nguồn gốc của họ,cùng với nguy cơ bị tráo đổi vì những thứ ít giá trị hơn Dọc theo dây chuyền từ mot khai thácđến địa điểm bán lẻ, blockchain là một sự phù hợp tự nhiên Bởi vì mỗi bản ghi là không thể xóađược, nó sẽ đảm bảo dữ liệu cho mỗi viên đá tồn tại miễn bản thân nó là kim cương
Dầu mỏ
Trang 21Vào tháng 3 năm 2017, IBM đã ra mắt Blockchain Food Safety Alliance kết hợp với Phòng thínghiệm Energy-Blockchain, như một phương tiện theo dõi tài sản carbon ở Trung Quốc Điềunày tạo ra một hệ thống có thể đo lường và kiểm toán để theo dõi khí thải và tạo điều kiện chomột thị trường có thể giao dịch cho các công ty đang tìm cách bù đắp mức tiêu thụ năng lượngcủa họ trong khi khuyến khích các hoạt động công nghiệp xanh
Ứng dụng blockchain trong giáo dục
Năm 2010, bằng tiến sĩ (PhD) của cựu chủ tịch Microsoft Trung Quốc Tang Jun nhận từ đại họcPacific Western đã làm dấy lên những nghi ngờ
Các nhà điều tra phát hiện ra rằng không những ngôi trường này chưa được kiểm định mà giácủa tấm bằng còn quá rẻ Chỉ cần có 2.595 USD và học viên chẳng cần học hành gì
Một năm sau, hàng chục quản lý cao cấp khác cũng bị dính vào những vụ bằng cấp giả với quy
Trang 22Ý tưởng tạo ra tiền như là một phần thưởng thông qua việc giải đố các bài toánđược Hal Finney giới thiệu lần đầu vào năm 2005, người đã tọa ra khái niệm đầu tiêncho tiền điện tử (việc triển khai của sổ cái công nghệ phân tán) Sổ cái này cho phépcác giao dịch tài chính dựa trên công nghệ Blockchain, Bitcoin chính là ứng dụng đầutiên của BlockChain, Bitcoin được coi như “Tiền của Internet”.
- Blockchain 2.0 – Hợp đồng thông minh(Smart Contracts)
Các vấn đề xảy ra với Bitcoin là khải thác quá lãng phí và thiếu khả năng mở rộngmạng lưới Để khắc phục các vấn đề này, Blockchain mở rộng ra khỏi lĩnh vực tiềnđiện tử phát triển chương trình mới là “Hợp đồng thông minh” Chúng là các chươngtrình máy tính trong Blockchain, nó tự động thực thi và kiểm tra các điều khoản, tốc
độ xử lý của nó nhanh hơn rất nhiều so với Bitcoin, và ví dụ rõ nhất chính làEthereum
- Blockchain 3.0 – Dapps (Decentralized Application)
Dapps được sử dụng lưu trữ phi tập trung và công khai, mã của nó chạy trên mộtmạng ngang hàng (Peer-to-Peer) Một Dapps có thể có giao diện người dùng được lưutrữ trên các kho lưu trữ phi tập trung và có thể được viết bằng bất kỳ ngôn ngữ nào
- Blockchain 4.0 – Industry
Mục tiêu của blockchain thế hệ thứ tư là giải quyết toàn bộ vấn đề với ba thế hệ
trước Blockchain 4.0 đưa ra các chiến lược và phương pháp công nghệ nhằm sẵnsàng đáp ứng nhu cầu kinh doanh Nhiều công ty khác nhau đang cố gắng đưa mộtblockchain có thể mở rộng, thích ứng với thế giới
Trang 23Private: Đây là hệ thống blockchain cho phép 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ề một bên thứ ba tuyệt đối tin cậy
Bên thứ ba 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
Trang 24Vì đây là một Private Blockchain, cho nên thời gian xác nhận giao dịch khá nhanh vì chỉ cầnmột lượng nhỏ thiết bị tham gia xác thực giao dịch.
Permissioned blockchain
Permissioned: Hay còn gọi là Consortium Đây là một dạng của Private Blockchain nhưng
bổ sung thêm một số tính năng nhất định
Nó 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àoPrivate
Hybrid blockchain
Hybrid: Đây là blockchain kết hợp các đặc điểm giữa private và public blockchain
Đảm bảo ẩn danh trong khi vẫn được liên kết với mạng công cộng
Nó hoạt động trong một hệ sinh thái khép kín và cũng bảo vệ quyền riêng tư nhưng cho phépgiao tiếp với bên thứ ba
4 THUẬT NGỮ BLOCKCHAIN
Consensus ( thuật toán đồng thuận)
Trang 25Đây có lẽ một trong những thuật ngữ quan trọng nhất trong không gian và chắc chắn rấtquan trọng để hiểu được sự khác biệt cơ bản giữa các loại tiền điện tử khác nhau Thuật toánđồng thuận là yếu tố blockchain quyết định mức độ đồng thuận đạt được trên blockchain đó.Nói cách khác; nó là một phần của giao thức blockchain mô tả ai sẽ xác thực các khối dữ liệu
và cách người khác có thể xác minh tính hợp pháp của nó Tất cả các thực thể tham gia trênblockchain phải tuân thủ và tuân theo cùng một thuật toán đồng thuận để tham gia vàoblockchain
Proof-of-Work ( bằng chứng xử lí)
Là thuật toán phổ biến nhất và được sử dụng trên blockchain Bitcoin Khi áp dụng thuậttoán PoW, công cụ khai thác đầu tiên đưa ra ‘bằng chứng công việc’ cho một khối sẽ xácthực nó Bằng chứng công việc này có thể được tạo bằng cách liên tục chèn dữ liệu giao dịch(khối) + một chuỗi chữ số ngẫu nhiên (không phải khối) vào công thức (băm), cho đến khitìm thấy kết quả mong muốn PoW đã được tranh luận sôi nổi như một thuật toán đồngthuận gây tranh cãi vì chi phí điện liên quan đến việc thực hiện các tính toán công thức
Proof-of-Stake (bằng chứng cổ phần)
Được sử dụng và triển khai ít nhất một phần trên blockchain Ethereum Khi áp dụng thuậttoán PoS, các công cụ khai thác sẽ liên kết với tiền điện tử để tăng cơ hội được chọn để xácthực một khối Tiền điện tử ‘đặt cọc’ được khóa dưới dạng tiền gửi để đảm bảo người khaithác xác thực khối theo quy tắc Trái ngược với PoW, PoS có ít chi phí liên quan đến các thợ
mỏ hơn (PoW đòi hỏi nhiều chi phí điện và phần cứng cho quá trình băm, PoS chỉ yêu cầunhững thứ như thiết lập máy chủ, bảo vệ DDoS, et cetera)
Proof-of-Authority
Trang 26PoA là một hình thức thay thế cho thuật toán PoS Thay vì đặt tiền điện tử trong PoA, bạnđặt cược danh tính của mình Điều này có nghĩa là tự nguyện tiết lộ bạn là ai để đổi lấyquyền xác nhận các khối Bất kỳ hành động độc hại nào bạn thực hiện với tư cách là ngườixác nhận sẽ phản ánh lại danh tính của bạn Các chuỗi khối PoA yêu cầu một hình thức KYC
kỹ lưỡng
Hashing
Hashing là quy trình mà một người khai thác trên blockchain Proof-of-Work liên tục lặplại để tìm chữ ký đủ điều kiện Nói cách khác, đó là liên tục chèn một chuỗi các chữ số ngẫunhiên vào một công thức băm cho đến khi tìm thấy một đầu ra mong muốn
Trang 27Hyperledger là một nỗ lực hợp tác mã nguồn mở được tạo ra để thúc đẩy các công nghệblockchain xuyên ngành Nó là một nền tảng hợp nhất các công ty và nhà phát triển để phốihợp và xây dựng các khung blockchain trên các ngành công nghiệp khác nhau.
Sáng kiến Hyperledger có hơn 100 thành viên, bao gồm các doanh nghiệp như IBM, Samsung, Deutsche Borse, American Express, BNP Paribas và Wells Fargo
Lightning network
Các nút hoặc thực thể cụ thể trên các blockchains này có quyền hạn cho người khác, chophép họ chỉ định người xác nhận và cho phép hoặc từ chối truy cập vào mạng Blockchainsđược phép có chính quyền tập trung, có thể được đóng cửa và hệ sinh thái tư nhân, và thường
ít minh bạch Ví dụ: Ripple (XRP) Các blockchains này thường được triển khai trong lĩnhvực hoạt động kinh doanh nội bộ
Hard fork
Trang 28Thường dùng để phân chia chuỗi, trong đó việc nâng cấp mạng buộc các thợ mỏ và nútphải lựa chọn giữa mạng được nâng cấp hoặc phiên bản gốc của mạng Cả hai mạng sẽ hoạtđộng riêng biệt từ đây trở đi và sẽ không còn tương tác với nhau Hard fork cũng là một thuậtngữ blockchain đáng quan tâm.
Soft fork
Nâng cấp giao thức mạng, giống như Hard fork, nhưng nó không buộc các thợ mỏ và cácnút phải lựa chọn giữa mạng cũ hoặc mạng mới Các nút và công cụ khai thác cũ vẫn có thểtham gia vào mạng mới mà không cần nâng cấp
Một nút về cơ bản là một máy chủ nhỏ lưu trữ, cập nhật và phát bản sao đầy đủ củablockchain Một blockchain tồn tại trên các nút Nếu không có nút nào trực tuyến,blockchain sẽ ngoại tuyến và không thể được cập nhật hoặc sử dụng Trong trường hợpProof-of-Work, các thợ mỏ luôn được yêu cầu chạy một nút đầy đủ để khai thác
Smart contract
Hợp đồng thông minh là hợp đồng kỹ thuật số được lập trình trên blockchain (được thiết
kế đặc biệt để lưu trữ hợp đồng thông minh, như blockchain Ethereum) Hợp đồng thôngminh được triển khai trên một địa chỉ trên blockchain này và không thể di chuyển cũng nhưthay đổi sau đó Hợp đồng (về cơ bản là một tập lệnh) vận hành và thực thi hoàn toàn tựđộng mà không có sự can thiệp nào từ bên thứ ba Nó được công khai cho bất cứ ai để đọc và
sử dụng
Trang 29dApp là viết tắt của ứng dụng phi tập trung Đây có thể là bất kỳ hợp đồng thông minhnào được triển khai trên blockchain Ethereum, vì tất cả chúng đều hoạt động tự chủ, hay còngọi là phi tập trung.
P2P (Peer-to-peer)
Là một mạng lưới phi tập trung trong đó tất cả những người tham gia được kết nối trựctiếp với nhau mà không có một số điểm kết nối trung tâm Tất cả các đồng nghiệp (ngườitham gia, nút / thợ mỏ) được kết nối trực tiếp với nhau
Merkle Tree
Merkle là khái niệm cơ bản để tạo chữ ký blockchain (băm) Nó được gọi là cây vì chữ
ký được tạo từ dữ liệu và sau đó kết hợp với các chữ ký khác để tạo chữ ký mới, bao quát.Điều này cứ lặp đi lặp lại và có thể được xem như là cơ chế được sử dụng để ‘chuỗi khối’ vớinhau trên một blockchain Nó có hình dạng của các nhánh cây, mọc ra từ nhau
ASIC là viết tắt của mạch tích hợp dành riêng cho ứng dụng và về cơ bản đề cập đếnphần cứng được thiết kế đặc biệt để thực hiện tối ưu một tác vụ duy nhất (chẳng hạn nhưbăm) Do đó, các công cụ khai thác ASIC (phần cứng) được thiết kế đặc biệt để thực hiệnbăm càng nhanh càng tốt để tăng doanh thu khai thác
Oracles
Một lời tiên tri – theo nghĩa blockchain của nó – là một ứng dụng phần mềm xác minhcác sự kiện trong thế giới thực và gửi thông tin này cho các chuỗi khối Orials về cơ bản làcác máy biến áp và truyền dữ liệu, chuyển đổi các sự kiện trong thế giới thực thành dữ liệucho các chuỗi khối
Trang 30 Whitepaper
Một whitepaper là một bài viết chuyên sâu về một chủ đề cụ thể trình bày một vấn đề vàcung cấp một giải pháp có thể Các ý tưởng blockchain mới thường được trình bày dưới dạngwhitepaper
Sharding
Là một hình thức phân vùng blockchain Thay vì xử lý tất cả các giao dịch trên mộtblockchain, các blockchain khác được chạy trên đầu chuỗi này Tất cả họ đều xử lý các giaodịch và gửi các bản cập nhật thường xuyên của sổ cái của họ tới blockchain lớp đầu tiênđăng ký các bản cập nhật của các sổ cái blockchains lớp thứ hai để mạng trên blockchain lớpđầu tiên sẽ không bị tắc vì khối lượng giao dịch cao
Một hệ thống phần mềm tập chung 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
Trang 31 % 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ạnglướ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ùngkiể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ủ đíchhoặc vô tình thực hiện các giao dịch xung đột xâm phạm đến hệ thống
Airdrop
Token được phân phối miễn phí bởi một nhà phát triển mạng lưới Cryptocurrency
CHƯƠNG 2: TÍNH CHẤT, HỆ SINH THÁI BLOCKCHAIN, GIẢI THUẬT CỦA BLOCKCHAIN, TIỀN MÃ HÓA, SMART CONTRACT
VÀ ETHEREUM
Trang 321 ĐẶC ĐIỂM CỦA BLOCKCHAIN
Công nghệ Blockchain (Blockchain technology) có các đặc điểm chính như sau:
- Không thể làm giả, không thể phá hủy các chuỗi blockchain:
- Bất biến
- Bảo mật Dữ liệu
- Minh bạch
- Hợp đồng thông minh
Không thể làm giả, không thể phá hủy các chuỗi blockchain
Các chuỗi Blockchain gần như không thể bị phá hủy được Theo lý thuyết thì chỉ có máy tínhlượng tử mới có thể can thiệp vào và giải mã chuỗi blockchain Nó chỉ bị phá hủy hoàn toàn khikhông còn internet trên toàn cầu
Các thông tin, dữ liệu trong các chuỗi blockchain
được phân tán và an toàn tuyệt đối Chỉ có người
nắm giữ private key mới có quyền truy xuất dữ liệu
đó
Trang 33Ai cũng có thể theo dõi được đường đi của dữ liệu trong blockchain 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ỉ đó.
Nó bảo đảm rằng tất cả các bên tham gia đều biết được chi tiết hợp đồng và các điều khoản
sẽ được tự động thực hiện một khi các điều kiện được bảo đảm
Hình 2.2 Smart Contract
Ưu điểm của blockchain:
Trang 34- Dữ liệu không bị mất
Dữ liệu blockchain được lưu trữ trên hàng ngàn thiết bị trên một mạng lưới gồm nhiều node phân tán, hệ thống và dữ liệu có khả năng chống lại lỗi kỹ thuật và các cuộc tấn công
Mỗi node trong mạng có khả năng sao chép và lưu trữ một bản sao của cơ sở dữ liệu nên
dữ liệu sẽ không bị mất mà vẫn được bảo toàn
Hình 2.3 Blockchain mang nhiều ưu điểm
- Tính ổn định
Các khối đã xác nhận rất khó bị đảo ngược Điều nào có nghĩa là một khi dữ liệu đãđược đăng ký vào blockchain, việc xóa hoặc thay đổi nó là cực kỳ khó khăn Điều này làm choblockchain trở thành công nghệ tuyệt vời để hỗ trợ lưu trữ hồ sơ tài chính hoặc bất kỳ dữ liệunào khác khi cần theo dõi, kiểm tra Vì mọi thay đổi ddeuf được theo dõi và ghi lại vĩnh viễn
Trang 35Hãy lấy một ví dụ dễ hiểu: Một doanh nghiệp có thể sử dụng công nghệ blockchain đểngăn chặn hành vi gian lận từ nhân viên của mình Trong trường hợp này, blockchain có thểcung cấp một bản ghi an toàn và ổn định của tất cả các giao dịch tài chính diễn ra trong công ty.Điều này sẽ khiến nhân viên không thể che giấu hành vi, những giao dịch đáng ngờ của mình
- Một hệ thống đáng tin cậy
Trong hầu hết các hệ thống thanh toán truyền thống, các giao dịch không chỉ phụ thuộcvào hai bên liên quan mà còn phụ thuộc vào một bên trung gian – chẳng hạn như ngân hàng,công ty thẻ tín dụng hoặc nhà cung cấp dịch vụ thanh toán Khi sử dụng công nghệ blockchain,những điều trên không cần thiết nữa Vì mạng lưới phân tán của các nút xác minh các giao dịchthông qua một quá trình được gọi là khai thác
Do đó, một hệ thống blockchain loại bỏ rủi ro khi tin tưởng vào một tổ chức duy nhất vàcũng giảm được chi phí tổng thể, phí giao dịch bằng cách cắt bỏ các bên trung gian hay các bênthứ ba
Nhược điểm của blockchain:
- Hiệu suất
Blockchain sẽ luôn chậm hơn so với các cơ sở dữ liệu tập trung Khi một giao dịch được
xử lý một blockchain cần được xử lý độc lập bởi mọi node trong mạng lưới, xác nhận chữ ký và cần đạt được sự đồng thuận giữa các node trong mạng
- Vấn đề tích hợp
Để ứng dụng công nghệ Blockchain vào thực tế sẽ cần các công ty phải có chiến lược thay đổi phần lớn hoặc hoàn toàn các hệ thống hiện có
- Mức độ tiêu thụ năng lượng lớn
Các nhà khai thác mạng lưới Bitcoin Blockchain cố gắng 450 nghìn tỷ giải pháp mỗi giâytrong việc xác nhận giao dịch sử dụng nguồn năng lượng tương đối lớn
Trang 36Tuy vậy thực tế chưa bao giờ có cuộc tấn công 51% thành công do khi mạng lưới phát triển lớn hơn bảo mệt sẽ tăng lên đáng kể và rất khó có thợ đào nào có đủ tiền đầu tư tài nguyên lớn để tấn công Bitcoin Blockchain.
Mặc dù tồn tại những
nhược điểm, công nghệ
blockchain vẫn đang là niềm
hi vọng của nhân loại Sẽ cần
một chặng đường dài để công
nghệ này được áp dụng vào
cuộc sống Vài năm tới chúng
ta sẽ có thể thấy những ứng
dụng to lớn của công nghệ
blockchain trong cuộc sống
Hình 2.4 Lỗ hổng 51%
Trang 372 HỆ SINH THÁI BLOCKCHAIN
Hình 2.5 Hệ sinh thái Blockchain
Có rất nhiều dự án thú vị được đề xuất đưa ra thị trường giúp cải thiện chức năng củablockchain hiện có cũng như trải nghiệm của người tiêu dùng Tuy nhiên, với tốc độ gia tăngnhanh chóng các dự án, có thể thấy rất khó để theo dõi từng dự án một hay sự phù hợp của cánhân đối với hệ sinh thái Dưới đây là tổng quan về từng danh mục hệ sinh thái đã xác định, baogồm một số danh mục phụ
Trang 38NHÓM I: TIỀN TỆ
Phần lớn các đồng tiền này được tạo
ra với mục đích sử dụng như tiền tệ, gồm
các mục đích khác nhau như phương tiện
thanh toán, phương tiện cất trữ hay thước
đo giá trị Trong đó Bitcoin là dự án đầu
tiên, các dự án sau này đều dựa trên nền
công nghệ của Bitcoin để cải thiện giao
thức Có thể chia nhóm này thành 3 nhóm
nhỏ hơn gồm:
• Nhóm giao thức lớp
nền: Bitcoin, NEM, Decred,
QTUM, Litecoin, NXT, Ark,
Waves…
• Nhóm thanh toán: Stellar,
Ripple, Cardano, Request
Network, Metal, Interleger…
• Nhóm giao dịch ẩn danh: Dash, Zcash, Monero, Smartcash, CoinJoin, Deep Onion,
Spectrecoin, PIVX, Zcoin, ZEN, Verge…
Trang 39Nhóm giao dịch ẩn danh dành cho người dùng muốn che giấu giao dịch vì họ không
thích tiết lộ thông tin một giao dịch nào đó vì một lý do nào đó hoặc cho một doanh nghiệpkhông muốn tiết lộ bí mật thương mại
NHÓM II: CÔNG CỤ PHÁT TRIỂN
Trang 40Các dự án thuộc phần này sử dụng chủ yếu bởi các lập trìnhviên trong việc xây dựng các nền tảng hay ứng dụng phân quyền.
Để người dùng có thể tương tác trực tiếp với blockchain thông quagiao diện ứng dụng thì các thiết kế đều phải hướng tới giải quyếtkhả nằng mở rộng của hệ thống
Do đó các dự án trong mục này chủ yếu xoay quanh việc giảiquyết vấn đề mở rộng và khả năng hoạt động liên mạng(interoperability) Những thành quả trong các hoạt động này là phầnquan trọng của việc phát triển Web
Các dự án thuộc nhóm này có tính ứng dụng cao, có ảnhhưởng lớn đến sự phát triển và tồn tại của hệ sinh thái Hơn nữa các
dự án này không nằm trong khu vực “người chiến thắng lấy tấtcả” theo cùng một cách nói rằng tiền điện tử có thể là một kho lưutrữ giá trị Ví dụ như ETH phát triển hợp đồng thôngminh, Truebit tăng tốc độ tính toán, ZeppenlOs tăng tính bảomật, Matterum đảm bảo tranh chấp
Nhóm này có thể chia thành các nhóm sau :
Nhóm hợp đồng thông minh: EOS, Tezos, Lisk,
Ethereum, NEO, Rootstock (phát triển hợp đồng thôngminh cho Bitcoin), Hyperledger, Boscoin…
Nhóm giải quyết vấn đề Scaling: Truebit (ETH),