Tải bản đầy đủ (.pdf) (29 trang)

Bài tập lớn mạng máy tính Khảo sát về Blockchain đối với IoT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1018.89 KB, 29 trang )

Khảo sát về Blockchain đối với IoT
Dương Mạnh Tuấn
20172897

Hoàng Quốc Việt
20164644

Internet vạn vật (IOT) đã sẵn sàng thay đổi cuộc sống con
người và mở ra những tiềm năng kinh tế to lớn. Tuy nhiên, việc
thiếu bảo mật dữ liệu và độ tin cậy kém đã đặt ra những hạn chế
nghiêm trọng cho việc áp dụng IoT. Công nghệ chuỗi - khối
(Blockchain) hoạt động như một một sổ cái phân tán và chống
trộm, giúp lưu giữ các bản ghi dữ liệu tại các địa chỉ khác nhau,
có khả năng bảo mật dữ liệu trong các mạng IoT. Bên cạnh việc
bảo mật thông tin cho Internet vạn vật, Blockchain phải đối mặt
với nhiều thách thức lớn liên quan tới IoT, như số lượng lớn các
thiết bị IoT, cấu trúc mạng không thuần nhất, cơng suất tính tốn
có hạn, dải tần liên lạc hẹp, và đường truyền radio hay gặp lỗi.
Nghiên cứu này sẽ trình bày một khảo sát bao quát về các cơng
nghệ Blockchain hiện tại trong đó tập trung vào các ứng dụng
IoT. Các cơng nghệ Blockchain, có khả năng giải quyết các thách
thức lớn nảy sinh từ IoT qua đó tươn thích với các ứng dụng IoT,
được xác định qua sự thích nghi và cải thiện tiềm năng. Những
đặc điểm này được mô tả chi tiết trong các giao thức đồng thuận
(Consensus Protocols) và cấu trúc dữ liệu. Các hướng nghiên cứu
xa hơn được đối chiếu đồng nhất Blockchain vào mạng IoT một
cách hiệu quả.
Từ khóa: Blockchain; Internet of Things (IoT); consensus
protocol; data structure)

1 GIỚI THIỆU


Nếu chỉ với cơ chế bảo mật truyền thống như các kĩ thuật
mã hóa[1] thì sẽ khơng đủ để bảo vệ tính tồn vẹn dữ liệu đối
với quy mơ lớn, do đó dẫn đến giới hạn nghiệm trọng việc ứng
dụng IoT trong tương lai. Mạng Internet, cơ sở của IoT, vốn
dĩ không được bảo mật, trong đó bảo mật dữ liệu là suy tính
sau cùng trong bản thiết kế, điều này có thể nhận thấy rất rõ
qua các bản vá liên tục và xử lí thủ cơng. Hơn nữa, IoT có kiến
trúc khác biệt đáng kể so với mạng Internet, mở rộng tính liên
mạng và khả năng tính tốn các đối tượng có cơng suất tính
tốn giới hạn như các cảm biến và các thiết bị dùng một lần,
cho phép các thiết bị này khởi tạo, trao đổi và sử dụng dữ liệu
mà không cần con người can thiệp nhiều [3]. Mở rộng các yêu
cầu tính tốn và các giải pháp bảo mật tốn kém khơng những
khơng thể mở rộng mà cịn phi thực tế [4]. Được dựng trên
mạng Internet, các dịch vụ đám mây (cloud services) được
ứng. dụng rộng rãi trong việc lưu trữ và xử lí lượng lớn các dữ
liệu IoT [5]. Trong rất nhiều trường hợp, dữ liệu IoT có thể
được lưu trữ tại các máy chủ khác nhau trong một đám mây,
chúng được xử lí và truy cập một cách khơng tập trung [6,7].
Tuy nhiên, các dịch vụ đám mây vốn dĩ khơng có tính bảo
mật giống như mạng Internet và rất dễ bị tấn cơng mạng, ví dụ
như bị tiêm dữ liệu vào SQL [8], xáo trộn dữ liệu [9] và đe
dọa các nút mạng [10]. Nhìn chung, các dịch vụ đám mây
khơng thể đảm bảo tính tồn vẹn và tính sẵn sang của dữ liệu,
điều mà người ta kì vọng ở các ứng dụng IoT.
Blockchain, một cơ sở dữ liệu phân tán, khơng thể gián
đoạn và có khả năng chống xâm nhập, có khả năng giải quyết
các lỗ hổng bảo mật nghiêm trọng cho IoT, cụ thể là đảm bảo
tính tồn vẹn dữ liệu và độ tin cậy của dữ liệu [11]. Blockchain
cho phép các ứng dụng phần mềm gửi và ghi các sự kiện/giao

dịch một cách đáng tin cậy và ngang hàng (peer-to-peer).
Blockchain nhanh chóng phổ biến và được sử dụng rộng rãi
trong các ứng dụng bao gồm hợp đồng thông minh [12], lưu
trữ phân tán [13] và tài sản điện tử [14]. Các ứng dụng tiềm
năng của Blockchain đối với mạng IoT gồm ghi sự kiện (nhiệt

Nguyễn Thành Công
20160493

độ, độ ẩm hoặc thay đổi địa lý) và tạo ra các sổ chống truy cập
có thể cấp quyền chỉ đọc (readable only) cho những bên nhất
định, ví dụ: các bên tham gia cụ thể trong chuỗi cung ứng. Với
Blockchain, các yêu cầu về bảo mật của mạng IoT đều được
đáp ứng [10,15]. Các tính năng nổi bật sau của Blockchain đã
góp phần vào tính tồn vẹn của các ứng dụng IoT và do đó cải
thiện tính bảo mật của IoT:
• Sự phân quyền: Cài đặt mạng ngang hàng của
Blockchain vốn luôn phù hợp cho các mạng IoT vốn có
tính chất phân tán. Ví dụ: Blockchain trong VANET
[16,17]. Blockchain có thể ghi lại các giao dịch giữa
nhiều bên mà không cần thông qua một khối trung tâm.
Điều này giúp cung cấp các cấu hình mạng linh hoạt, và
giảm rủi ro xảy ra lỗi tại một điểm.
• Tính tồn vẹn: Blockchain có thể lưu các giao dịch vĩnh
viễn bằng một cách có thể xác thực. Cụ thể, chữ kí của
các bên gửi trong giao dịch có thể đảm bảo tính tồn vẹn
và khơng thể xâm phạm của giao dịch. Cấu trúc chuỗi
băm của Blockchain đảm bảo rằng bất cứ dữ liệu nào
được ghi sẽ không thể cập nhật được nữa. Các giao thức
đồng thuận của Blockchain có thể đảm bảo các bản ghi

là hợp lệ và thống nhất. Các giao thức này có thể xử lý
các thất bại hay chống lại các cuộc tấn cơng, ví dụ như
tấn cơng với cơng suất băm nhỏ hơn ½ trong bằng chứng
cơng việc (Proof of Work). Tất cả các tấn công này đều
nguy hiểm cho các mạng IoT, nơi dữ liệu IoT được tạo
ra và xử lí bởi các thiết bị khơng thuần nhất hoặc trong
các mơi trường mạng khơng thuần nhất.
• Ẩn danh: Blockchain có thể sử dụng các khóa cơng khai
dễ thay đổi như là các định danh của người dung để đảm
bảo tính ẩn danh và tính riêng tư. Điều này rất có lợi cho
các ứng dụng và dịch vụ IoT, đặc biệt là những ứng dụng
cần đảm bảo định danh và tính riêng tư đáng tin cậy.
Ứng dụng Blockchain vào các mạng IoT đã và đang khơi
gợi nhiều hứng thú trong giới học thuật và công nghiệp, với
mục tiêu nhằm cung cấp tính bảo mật. Với mục đích này, lưu
trữ đám mây có thể cung cấp dung lượng phân tán cho các
ứng dụng IoT, trong khi Blockchain có thể bảo mật được tính
tồn vẹn của bộ lưu trữ này và ngăn chặn xâm nhập dữ liệu.
Blockchain và lưu trữ đám mây có thể được hợp nhất thành
phân tán đám mây trên nền Blockchain (Blockchain-based
Distributed Cloud) [28].
Tuy nhiên, các công nghệ Blockchain hiện tại có thể
khơng hiệu quả cho các ứng dụng IoT, do một lượng lớn thiết
bị IoT được triển khai như đã đề cập phía trên, cấu trúc mạng
không thuần nhất với sự chia cắt mạnh, và hậu quả là một
lượng lớn dữ liệu cảm biến cũng như yêu cầu dung lượng lớn
trong Blockchain (vd: giao dịch cao hoặc tốc độ sản xuất
khối)[29]. Cụ thể, các tính chất vật lí của các thiết bị và mạng
IoT, như bang tần và tính liên thơng bị giới hạn, topo mạng
phức tạp, và trễ đường truyền khó lường trước, có thể gây ra

sự khác biệt và không nhất quán giữa các bản ghi tại các địa


điểm khác nhau. Trên thực tế, tốc độ tạo bản ghi cần được
hạn chế bởi tốc độ truyền khối (đơn vị dữ liệu của
Blockchain). Các công nghệ Blockchain hiện tại hoạt động
gần như riêng biệt tại lớp ứng dụng, bỏ qua các mặt vật lí của
mạng và thiết bị, do đó khiến tốc độ tạo khối nhỏ hơn nhiều
so với tốc độ lan truyền, vì vậy gây nên việc sử dụng
Blockchain không hiệu quả.
Trong khảo sát này, chúng tôi nghiện cứu về các thách
thức lớn và các lợi ích của Blockchain trong các ứng dụng
IoT, thơng qua việc phân tích các giao thức đồng thuận và cấu
trúc dữ liệu, những công nghệ Blockchain hiện đại nhất.
Những giới hạn của các công nghệ Blockchain hiện tại, cũng
như các hướng nghiên cứu tiềm năng trong tương lai cũng sẽ
được trình bày.
Đáng nói rằng đã có rất nhiều các khảo sát gần đây về
Blockchain nói chung [30,11,31,32,33], và Blockchain trong
ứng dụng IoT nói riêng [14,12]. Những khảo sát này nhấn
mạnh vào thiết kế và ứng dụng. Chúng tôi ngược lại sẽ tập
trung cụ thể vào những hạn chế và lỗ hổng trong các giả
thuyết hiện nay và nghiên cứu được tác động của chúng trong
thiết kế mở rộng của Blockchain cho ứng dụng IoT.

thức trong việc ứng dụng Blockchain trong IoT được trình
bày qua việc nghiên cứu hiệu suất của Blockchain và các yêu
cầu IoT. Các thiết kế Blockchain tiềm năng và các cơng nghệ
có thể được áp dụng vào IoT cũng được xem xét và bàn luận
dựa trên tính bảo mật, tính xác thực và kiểm soát truy cập.

Khảo sát sẽ bàn luận chi tiết hơn về sự phù hợp của công
nghệ Blockchain mới nhất trong IoT với ba loại Blockchain
chính, là Blockchain cơng khai, Blockchain bí mật, và
Blockchain kết hợp. Các cơ chế hợp thức hóa khối phổ biến,
như “Bằng chứng công việc”, “Bằng chứng X” và hệ thống
chịu lỗi Byzantine sẽ được giải thích chi tiết. Ngồi cấu trúc
chuỗi, các cấu trúc dữ liệu cải thiện hiệu năng của Blockchain
và có ích đối với ứng dụng của Blockchain trong IoT, bao
gồm DAG, GHOST, …sẽ được đề cập. Các dự án và cơng
nghệ có tác động mạnh mẽ sẽ được so sánh trên phương diện
sức chứa, quy mô, cũng như các tính năng cụ thể, sẽ được
trình bày chi tiết trong chương 6.
Cuối cùng, khảo sát chỉ ra các hướng nghiên cứu và các
cơ hội để thu hẹp khoảng cách giữa các ứng dụng IoT với giới
hạn của công nghệ Blockchain hiện tại. Các hướng nghiên
cứu tiềm năng bao gồm sidechain, thuật toán đồng thuận IoTspecify, xác thực thanh toán đơn giản, và Blockchain chỉnh
sửa được, đều được bàn luận trong chương 7.

2 PHƯƠNG PHÁP NGHIÊN CỨU
Khảo sát này tóm tắt các đột phá trong nghiên cứu gần
đây về Blockchain cũng như các ứng dụng IoT trên nền
Blockchain. Nó dựa trên tổng cộng 244 bài tham khảo trên
Google Scholar, Web of Science, IEEE Xplore, Elsevier,
cũng như các nguồn online như các trang web và các cộng
đồng nhà phát triển, để đưa ra một đánh giá kịp thời cho các
công nghệ Blockchain.
Các tài liệu tham khảo này được phân loại theo 5 khía
cạnh quan trọng của cơng nghệ Blockchain IoT.
Nhắm đến các vấn đề bảo mật của IoT, đầu tiên khảo sát
tóm tắt các tính chất của IoT và thực hiện các phân tích bảo

mật trên IoT ở chương 3. Trong đó chú trọng tới các tính năng
đặc biệt của mạng IoT như tính di động, chi phí thấp, yêu cầu
lưu lượng cao, lượng thiết bị lớn, dữ liệu IoT lớn, cấu trúc
mạng phân quyền, và kết nối không ổn định. Bằng cách đánh
giá các nghiên cứu mới nhất về bảo mật trong mạng IoT, khảo
sát chỉ ra các vấn đề bảo mật trong IoT, như các cuộc tấn công
tới các thiết bị đầu cuối, tấn công vào kênh giao tiếp, tấn công
vào giao thức mạng, vào các dữ liệu cảm biến, từ chối dịch
vụ và tấn công phần mềm.
Bằng cách lấy ví dụ về ứng dụng đầu tiên của Blockchain,
Bitcoin, khảo sát sẽ vạch ra các bước sơ bộ về Blockchain
trong chương 4, bao gồm cấu trúc dữ liệu dạng chuỗi, vấn đề
Byzantine Generals, và giao thức đồng thuận. Thông qua
đánh giá các mơ hình tấn cơng trên lí thuyết và phân tích các
cuộc tấn cơng Blockchain hiện tại, khảo sát sẽ trình bày các
phân tích bảo mật trên Blockchain. Các cuộc tấn cơng điển
hình bao gồm tấn cơng giao thức đồng thuận, tấn công
eclipse, và tần công phân tán từ chối dịch vụ. Đồng thời,
Blockchain phải đối mặt với các phần mềm lừa đảo, sự nguy
hiểm của hợp đồng thông minh, và lỗ hổng khóa bí mật,
những điều này sẽ được đề cập trong chương 4.
Ở chương 5, khảo sát sẽ đánh giá các dự án và ứng dụng
IoT trên nền Blockchain, trong đó tập trung vào 2 cấu trúc nổi
bật của các ứng dụng IoT nền Blockchain đó là Blockchain
bao hàm IoT, và Blockchain - một dịch vụ của IoT. Các thách

3 GIỚI HẠN BẢO MẬT CỦA IOT
Mạng IoT nổi tiếng với khả năng kết nối rất nhiều thiết bị
có cảm biến và có khả năng tính tốn với ít sự can thiệp của
con người. Các thiết bị cảm biến và khởi động hình thành nên

các mạng IoT khơng thuần nhất, qua đó cung cấp rất nhiều
ứng dụng như nhà thông minh, giao thông thông minh, sức
khỏe điện tử, và lưới thơng minh.
Một kiến trúc điển hình của IoT, theo thứ tự từ dưới lên
trên, bao gồm nhận thức (Perception), mạng (Networking),
dịch vụ (Service), và các lớp giao diện (Interface Layers).
Lớp nhận thức, hay còn gọi là lớp cảm biến, bao gồm các cảm
biến và bộ truyền động thu thập và xử lí các thơng tin mơi
trường để biểu diễn các hàm, như truy vấn nhiệt độ, vị trí,
chuyển động, và gia tốc. Lớp nhận thức là một phần không
thể thiếu trong các ứng dụng IoT. Nhiều loại thiết bị đầu cuối
có thể được sử dụng vào lớp nhận thức để kết nối thế giới vật
lí với thế giới số, bao gồm RFID, các cảm biến không dây, và
các bộ truyền động, NFC và điện thoại di động. Ví dụ, nhãn
RFID là một vi mạch được đính kèm trong ăng ten. Bằng cách
đính kèm như vậy, vật thể có thể được xác định, truy vết và
kiểm soát trong quá trình vận chuyển, bán lẻ và cung cấp
chuỗi. Lớp mạng chịu trách nhiệm kết nối các vật thông minh,
như các thiết bị mạng, hay các máy chủ. Lớp dịch vụ tạo ra
và quản lý các dịch vụ cụ thể giúp đáp ứng các yêu cầu của
ứng dụng IoT. Lớp giao diện tạo điều kiện cho các đối tượng
tương tác với dữ liệu trong các ứng dụng cụ thể.
Tính chất của IoT
Các ứng dụng IoT có khả năng ảnh hưởng tới mọi mặt của
đời sống con người. Chúng có thể được chia ra làm bốn miền
như sau: vận tải logistics, chăm sóc sức khỏe, mơi trường
thơng minh (bao gồm nhà thơng minh), các ứng dụng cá nhân
và xã hội. Các thiết bị đầu cuối, các công nghệ mạng lưới và
liên lạc là hai khía cạnh khác nhau giúp đạt được yêu cầu và
mục tiêu của các ứng dụng. Dưới đây là hai khía cạnh khác

nhau trong các ứng dụng.
3.1


• Tính di động so sánh với cấu trúc mạng ổn định: Cấu
trúc mạng Topology của các ứng dụng IoT được phân
chia với nhiều tốc độ khác nhau. Các ứng dụng nổi bật
với cấu trúc ổn định và di động lần lượt là nhà thông
minh và mạng giao thông bất định (VANETs) cho các
ứng dụng vận tải. Hầu hết các thiết bị trong nhà thơng
minh đều ổn định và có cấu trúc mạng ổn định, trong khi
các phương tiện giao thông di chuyển với tốc độ nhanh
và dẫn tới các cấu trúc cũng sẽ biến thiên theo thời gian.
Tính di động của các thiết bị đầu cuối khiến cho sự liên
mạng khơng thể đốn trước và gây ra thách thức trong
việc quản lí các thực thể.[39,40]
• Chi phí thấp so sánh với hiệu năng dung lượng cao: Các
thiết bị IoT là không thuần nhất với nhiều nền tảng và
khả năng phần cứng khác nhau . Một loại trong số đó là
các cảm biến với kích thước nhỏ và nguồn tài ngun có
giới hạn trong việc xử lí, liên lạc và lưu trữ. Những thiết
bị này thường có giá thành rẻ và do đó có thể sử dụng
rộng rãi theo quy mô lớn để đo nhiệt độ, áp suất, độ ẩm,
các thơng số y tế, các chất hóa học và hóa sinh. Chúng
thường giao tiếp không dây với nhau hoặc thông qua các
mạng lưới như ZigBee. Những cảm biến này thường
được cấp nguồn bởi pin có dung lượng hạn chế, gây nên
vấn đề giới hạn năng lượng. Gần đây, các công nghệ
giao tiếp mới, ví dụ: NB-IoT, đã được đề xuất để cải
thiện vòng đời của các cảm biến, nhưng các cảm biến

vẫn bị giới hạn trong khả năng xử lí, giao tiếp và lưu trữ.
Một loại khác của các thiết bị IoT có giá thành cao hơn
và mạnh mẽ hơn, đó là điện thoại di động và các phương
tiện giao thơng. Chúng có pin lớn, khả năng tính tốn và
lưu trữ cao, góp phần làm nên dung lượng lớn hơn
Được sử dụng với các thiết bị đầu cuối không thuần nhất
và các giao thức khác nhau, các mạng IoT có một số tính chất
IoT chung cụ thể như sau:
• Có nhiều nút mạng và dữ liệu IoT lớn: số lượng thiết bị
IoT không ngừng tăng, dự kiến đạt mốc 20.4 tỉ thiết bị
kết nối vào IoT tới năm 2020. Do đó, IoT khơng chỉ phải
đối mặt với một lượng lớn các nút mà còn là nhu cầu
dung lượng tăng lên, do các thiết bị cảm nhận và thu
thập một lượng lớn dữ liệu
• Sự phân quyền: Phân quyền và khơng thuần nhất là hai
tính chất chính của IoT[45,46]. Phân quyền vô cùng cần
thiết cho nhiều nút IoT, như thành phố thơng minh, bởi
dữ liệu được xử lí tại cùng một thời điểm là khổng lồ.
Các thiết bị IoT được phân quyền để thu thập, xử lí và
lưu trữ dữ liệu. Các thuật tốn phân quyền trong IoT, ví
dụ: các thuật tốn cụm trong mạng cảm biến khơng dây
(WSN_ và điện tốn phân quyền, có thể đóng góp vào
sức chứa và quy mơ mở rộng của IoT.
• Các kết nối khơng ổn định và khơng đốn trước được:
Được gây ra bởi tính di động, chế độ ngủ đơng/ chế độ
rảnh của các thiết bị IoT và các đường truyền không dây
không tin cậy tới các thiết bị IoT. Kết quả là, một mạng
IoT có thể chia thành các phần khơng được kết nối với
nhau và các mảnh có thể thay đổi theo thời gian.
Phân tích tính bảo mật của IoT

Các tính chất cụ thể của IoT khiến cho bảo mật dữ liệu trở
thành một vấn đề nghiệm trọng [38,49]. Đầu tiên, nhiều thiết
bị IoT được lắp đặt ở các khu vực vắng vẻ không thân thiện
3.2

với con người, và gần như khơng thể kiểm sốt một lượng lớn
các thiết bị trong mọi thời điểm. Điều này có thể khiến các
thiết bị dễ hỏng do các đe dọa đa chiều, ví dụ các kẻ tấn cơng
có thể ghi lại và kiểm sốt các thiết bị này để xâm nhập vào
các mạng IoT. Các cơ chế bảo mật truyền thống như mã hóa
khơng đối xứng, mang đến giới hạn về khả năng tính toán cho
cá thiết bị IoT. Dữ liệu từ các cảm biến có thể được lưu trữ,
chuyển tiếp và xử lí bởi nhiều hệ thống trung gian, điều này
làm tang nguy cơ bị tấn công và xâm nhập. Các kênh không
dây mở không tin cậy với bản chất lan truyền mang đến them
rủi ro về bảo mật dữ liệu. Độ phức tạp của hệ thống IoT cũng
làm tăng các rủi ro kể trên. Sau đây sẽ tóm tắt các cuộc tấn
cơng điển hình vào mạng IoT từ lớp dưới lên lớp trên.
3.2.1

Tấn công vào các thiết bị đầu cuối

Các bên tấn cơng ghi lại và kiểm sốt các nút thơng qua
các cuộc tấn cơng node capture. Thơng tin bí mật được lưu
trữ tại các nút, như các khóa và chứng nhận, trở nên hữu hình
với tin tặc. Những kẻ tấn cơng này có thể sử dụng các thơng
tin này để đóng giả các nút hợp lệ và đưa ra các cuộc tấn công
khác như tấn công từ chối dữ liệu sai.
3.2.2


Tấn cơng vào kênh liên lạc

Các kẻ tấn cơng có thể nghe trộm và can thiệp vào kênh
truyền, khai thác kênh quảng bá.
Nếu tín hiệu khơng được mã hóa, tin tặc có thể nhanh
chóng nhận được thơng tin, Kể cả khi tín hiệu được mã hóa,
các kẻ tấn cơng vẫn có thể phân tích dịng tín hiệu và suy được
thơng tin bí mật như địa chỉ của nguồn hoặc đích. Tin tặc cũng
có thể can thiệp và thậm chí làm tắc nghẽn kênh truyền khơng
dây bằng cách gửi các tín hiệu nhiễu
3.2.3

Tấn công vào giao thức mạng

Bằng cách xâm nhập vào tính dễ bị cơng kích của các giao
thức mạng, tin tặc có thể triển khai các cuộc tấn cơng như tấn
công mạo nhận, tấn công phản hồi, tấn công Man-In-themiddle, hố đen, lỗ sâu, …Ví dụ, một thiết bị mạo nhận đóng
giả định danh chính thống trong hệ thống IoT. Những cuộc
tấn cơng này sẽ làm hại tới tính hiệu quả và độ chính xác của
các cơ chế bỏ phiếu và các giao thức đa tuyến.
3.2.4

Tấn công vào dữ liệu cảm biến

Các mạng IoT có thể giao tiếp sử dụng các giao thức đặc
biệt, ví dụ, các thơng điệp được truyền đi theo bước nhảy cho
tới khi đến đích. Điều này cung cấp cho tin tặc cơ hội để can
thiệp vào dữ liệu hoặc đưa vào dữ liệu sai. Một kẻ tấn cơng,
như là một người chuyển tiếp, có thể can thiệp vào các thông
điệp và chuyển tiếp chúng tới các nút khác, việc này được gọi

là can thiệp dữ liệu. Tấn cơng bằng cách bơm vào dữ liệu sai
có nghĩa là tin tặc gửi dữ liệu sai trên mạng với định danh xác
thực. Một khi dữ liệu sai được chấp nhận, ứng dụng IoT có
thể trả về các hướng dẫn bị lỗi hoặc cung cấp nhầm dịch vụ,
gây nguy hại về độ tin cậy của ứng dụng IoT. Ví dụ, tắc nghẽn
giao thơng có thể trầm trọng them nếu các phương tiện nhận
thông tin sai về tuyến đường. Bơm dữ liệu sai khó có thể bị
ngăn chặn bởi các thuật toán xác thực.


3.2.5

Tấn công từ chối dịch vụ (DoS)

Tấn công DoS mô tả một loại tấn công làm cạn kiệt tài
nguyên và tắc nghẽn dịch vụ của hệ thống IoT. Ví dụ, tấn
công biến đổi trạng thái ngủ nhằm phá vỡ chế độ ngủ được
lập trình như thường lệ và giữ các thiết bị hoặc nút mạng luôn
trong trạng thái thức cho tới khi chúng cạn pin. Các thiết bị
IoT có nguồn mạng và nguồn giao tiếp có giới hạn, do đó các
cuộc tấn cơng DoS có thể rất trầm trọng. Chúng làm cạn kiệt
năng lượng giới hạn cảu các nút cảm biến, giảm tính liên
mạng, làm tê liệt tồn bộ hệ thống mạng, và giảm vịng đời
của mạng
3.2.6

Tấn cơng phần mềm

Các cuộc tấn công vào phần mềm liên quan đến chuỗi các
cuộc tấn công sử dụng phần mềm ẩn để điều chỉnh phần mềm

và kiểm soát các thao tác [60]. Các cuộc tấn công phần mềm
tiêu biểu bao gồm virus và mã độc hại [61,62]. Hệ thống nhận
diện xâm nhập (IDS) và các cơ chế bảo mật Internet truyền
thống được sử dụng để ngăn chặn các cuộc tấn công phần
mềm [62]. Bảo mật là một điều cực kì quan trọng đối với các
ứng dụng IoT. Cụ thể, tính tồn vẹn của dữ liệu IoT là sự đảm
bảo cơ bản cho các thao tác bảo mật IoT. Các cơ chế có hiệu
quả cần được thiết kế để bảo vệ việc liên tạc IoT trở nên tin
cậy, tồn vẹn, xác thực và khơng thể xâm phạm dịng thơng
tin. Các thiết bị IoT cần được xác định để đảm bảo tính tồn
vẹn dữ liệu như ban đầu, Các thuật toán xác thực và mã hóa
được dung để bảo vệ tính tin cậy và tồn vẹn của dữ liệu IoT.
Sau khi dữ liệu cảm biến được gửi tới nơi lưu trữ, việc bảo
mật dữ liệu sẽ phụ thuộc vào dịch vụ lưu trữ dữ liệu

các kì cụ thể được xác định để đảm bảo sổ cái được chia sẻ
khắp mạng phân tán, vd Bitcoin blockchain chỉ giữ chuỗi dài
nhất, trong trường hợp có sự khơng nhất quán giữa các chuỗi.
Sau đây, chúng tôi sẽ mô tả chi tiết hơn các thành phần
quan trọng của Blockchain, ví dụ: cấu trúc dữ liệu, giao thức
đồng thuận, hợp đồng thơng minh và phân tích bảo mật.
Cấu trúc dữ liệu
Là đơn vị cơ bản của Blockchain, các giao dịch là các bản
ghi sự kiện được quan sát bởi các miners trong mạng. Một
khóa bí mật được dung để kí giao dịch. Chữ kí sau đó được
đính kèm và trở thành một phần không thể thiếu của giao
dịch, cung cấp chứng cứ tốn học rằng giao dịch tới từ phía
tạo ra khóa bí mật.
4.1


(a) Cấu trúc dữ liệu của các khối

4 CÁC CÔNG NGHỆ BLOCKCHAIN HIỆN TẠI
Blockchain cung cấp dịch vụ lưu trữ dữ liệu có phân
quyền với sổ cái chống xâm nhập bao gồm nhiều khối được
xâu thành chuỗi trong các mạng phân tán. Nó có thể ghi lại
và bảo vệ các giao dịch hoặc sự kiện bằng cách dùng mật mã.
Blockchain được giới thiệu lần đầu tiên bởi Satoshi
Nakamoto vào năm 2008 và được thực hiện vào năm 2009
như là một kĩ thuật khởi đầu cho sự phát triển của tiền điện
tử – Bitcoin.
Blockchain ghi lại dữ liệu một cách bảo mật và phân tán.
Đơn vị cơ bản của các bản ghi trong Blockchain là giao dịch.
Mỗi lần một giao dịch được tạo ra, nó được truyền tới tồn
bộ mạng Blockchain. Các nút nhận được giao dịch có thể xác
nhận giao dịch bằng cách hợp thức hóa chữ kí được đính kèm
giao dịch, và khai thác các giao dịch được xác thực thành các
khối bảo mật được mã hóa. Các nút như vậy được gọi là các
thợ đào khối (block miners) hay gọi tắt là thợ đào (miners).
Để cho phép một miner tạo ra một khối, một vấn đề đồng
thuận cần được giải quyết một cách phân tán. Các miners giải
quyết được vấn đề đồng thuận sẽ gửi các khối mới của chúng
lên mạng. Khi nhận được khối mới, các miners vẫn chưa thể
giải quyết vấn đề đồng thuận sẽ ghép khối này vào chuỗi các
khối của chúng, được lưu trữ nội bộ tại miners, sau cùng thì
các giao dịch được gửi kèm trong khối được xác nhận và khối
được chứng minh là cung cấp đáp án đúng cho vấn đề đồng
nhất. Khối mới chứa một đường truyền tới khối trước trong
chuỗi, bằng cách xâm nhập các phương thức mã hóa. Tất cả
các miners có thể đồng bộ chuỗi của chúng theo chu kì, và


(b) Cấu trúc dữ liệu của các giao dịch
Hình 1 Cấu trúc dữ liệu của Blockchain Bitcoin
Khóa cơng khai, tương đương với khóa bí mật, được các
miners dùng để xác thực giao dịch. Tính chân thực của giao
dịch có thể nhận được thơng qua việc dung khóa cơng khai
như là địa chỉ nguồn trong giao dịch, tải khóa cơng khai tại
tất cả các miners, hoặc đính kèm khóa cơng khai và chứng
thực số của khóa cơng khai tới chữ kí cho việc truyền tải.
Được cung cấp bởi mật mã, giao dịch ghép nối sự kiện với
cái ban đầu một cách chắc chắn. Các giao dịch được sử dụng
lần đầu tiên trong Bitcoin để ghi lại các tương tác tài chính
giữa hai bên. Giao dịch cũng được dùng để chỉ định quyền sở
hữu và ghi nhận các sự kiện có thể lập trình được. Một danh
sách các khối có thứ tự, liên kết đi được giữ như một bản
ghi cục bộ của các giao dịch, tại mỗi miner của một mạng. Là
thành phần của sổ cái, mọi khối đóng gói từng đợt các giao
dịch được xác thực. Mọi khối đều có một phần header chứa
đường dẫn tới khối cha (giá trị băm của khối cha), và một câu
trả lời để phản hồi cho bài toán đồng thuận. Phần header có
thể chứa một vài trường khác như dấu thời gian, tùy thuộc
vào từng yêu cầu cụ thể. Mỗi khối được phân biệt bởi giá trị
băm, được tạo ra bằng thuật tốn mã hóa băm. Chuỗi các thao


tác băm, cái mà kết nối một khối với khối cha, tạo ra một
chuỗi chống xâm nhập giúp lần ra khối đầu tiên. Bằng cách
này, các khối được ghép nối thành chuỗi để tạo thành sổ cái
tại một nút đơn lẻ, như được tình bày trong hình 1(a). Chú ý
rằng đường dẫn tới khối cha nằm bên trong phân header và

do đó ảnh hưởng tới giá trị băm của khối hiện tại. Để điều
chỉnh một khối trong chuỗi, các khối đằng sau nó đều phải
tính tốn lại để đáp ứng bài tốn đồng thuận. Tuy nhiên, sự
tính tốn lại này thường bị cấm. Hơn nữa, sự tồn tại của các
chuỗi dài sẽ bảo vệ tính chắc chắn trước các hành động xâm
nhập, và dựng nên một sổ cái chống trộm. Các chuỗi được
lưu trữ cục bộ thường xuyên được so sánh và cập nhật trên
mạng. Chỉ một chuỗi, ví dụ: chuỗi dài nhất trong chuỗi
Bitcoin Blockchain, là được chấp nhận toàn cục để trở thành
sổ cái của toàn bộ hệ thống, và các chuỗi lưu trữ nội bộ sẽ
được cập nhật theo nó.
Phần header cũng bao gồm một trường chứa thông tin của
tất cả các giao dịch trong khối hiện tại. Thông thường, một
cây Merkle [74] sẽ được xây dựng trong đó các giao dịch là
các lá, để cải thiện độ hiệu quả lưu trữ trong một khối. Tiêu
biểu như cây Merkle có cấu trúc cây trong đó mỗi nút lá là
một giao dịch và mọi nút không phải lá là giá trị băm của các
nút con của nó. Bằng cách sử dụng cây Merkle, các nút ngang
hàng trong mạng Blockchain có thể xác nhận nếu một giao
dịch được đào thành một khối bằng cách xác thực giá trị băm
của các nhánh phản hồi hơn là các giao dịch được đào trong
khối; hay nói cách khác, là tồn bộ cây Merkle. Bằng phương
pháp này, yêu cầu về bộ nhớ và sức chứa mạng có thể được
giảm đi đáng kể

Hình 2 Các giao dịch trong cây Merkle
Các giao dịch và các khối được tung ra và được xác thực
trên toàn mạng (theo cách ngang hàng) để hình thành nên sự
đồng thuận khơng tập trung. Lấy ví dụ Bitcoin: Khi một nút
tạo ra một giao dịch hợp lệ, nút đó gửi đi một bản tóm tắt

(inv) chứa giá trị băm của giao dịch (TXID), thay vì dữ liệu
gốc của giao dịch, tới tất cả các nút lân cận. Các nút lân cận
mà khơng có được giao dịch này sẽ phản hồi lại phía phát.
Theo đó, giao dịch sẽ được truyền tới các nút lân cận đó. Một
khi giao dịch được xác thực thành cơng, nó được truyền đến
các nút lân cận sau đó. Q trình này tiếp diễn cho tới khi
tồn mạng nhận được giao dịch.

Lưu ý: chỉ các nút mà tạo ra giao dịch đầu tiên mới chịu
trách nhiệm truyền đi giao dịch và truyền lại các giao dịch khi
được yêu cầu. Sự lan truyền của các khối giống với sự lan
truyền các giao dịch. Các miners mà giải quyết được bài đoán
đồng thuận và tạo ra các khối mới sẽ chịu trách nhiệm tung
các khối lên tồn mạng.
Bài tốn Byzantine Generals và giao thức đồng
thuận
Một lý thuyết cơ bản được Blockchain khai thác sâu rộng
là bài toán Byzantine Generals. Đây là một bài toán thỏa
thuận lần đầu tiên được đưa ra vào [76]. Bài tốn mơ tả trường
hợp mà các nút ngang hàng có thể xung đột với nhau và ngăn
chặn chúng đạt được sự đồng thuận. Các chiến thuật tiết lộ
bao gồm từ chối thông điệp, cung cấp thông điệp giả mạo,
làm giả thông điệp của nút khác, và hành vi “hai mặt”, ví dụ:
một nút gửi đi các ý kiến trái chiều tới các nút khác. Các chiến
thuật này có thể dẫn tới lỗi Byzantine trong mạng yêu cầu sự
đồng thuận[76]. Chế độ lỗi Byzantine là chế độ lỗi tệ nhât mà
một máy chủ phân tán phải hứng chịu. Chế độ lỗi này bao
gồm các lỗi Byzantine xác thực – phát hiện được mà các máy
chủ giả mạo có thể được phát hiện bằng cơ chế xác thực; lỗi
hiệu suất mà các máy chủ phải vận chuyển kết quả đúng

nhưng có thể sớm hoặc muộn; lỗi bỏ sót mà các yêu cầu máy
chủ nằm dưới quyền các phản hồi dịch vụ muộn; lỗi crash mà
máy chủ không phản hồi bất cứ yêu cầu nào; và lỗi fail-stop
mà trạng thái server thể hiện lỗi crash có thể được phát hiện
bởi các máy chủ chính xác. Một số các lỗi Byzantine như lỗi
bỏ sót, tấn cơng hai mặt, và lỗi crash là các lỗi quan trọng đối
với Blockchain và có thể gây ra sự khơng ổn định cho
Blockchain. Ví dụ, mạng Bitcoin cho phép các nút ngang
hàng tham gia và rời đi một cách tự do. Các nút rời đi có thể
được xem như là lỗi crash hoặc lỗi fail-stop. Các lỗi bỏ sót sẽ
dẫn tới các nhánh bởi lỗi bỏ sót có thể dừng các khối được
đào khỏi việc quảng bá tới phần còn lại của mạng. Tương tự,
tấn công double-spending, một dạng của tấn công hai mặt
cũng thuộc về lỗi Byzantine. Các tin tặc của cuộc tấn công
double-spending là đối tượng điều khiển bị lộ trong bài toán
Byzantine Generals.
Có rất nhiều nghiên cứu mơ phỏng các kĩ thuật chống lỗi
Byzantine và được thực hiện ở các hệ thống hiện tại, tập trung
vào các kĩ thuật chống lỗi tốt. Giao thức đồng thuận
Byzantine trước đây sử dụng các xác thực đệ quy tín hiệu đắt
tiền để đạt được bức tranh toàn cảnh về hệ thống trước khi đi
vào giải quyết bài tốn Byzantine Generals. Chi phí của các
giao thức là rất cao, cao hơn nhiều so với các nút ngang hàng.
Nếu khơng có các giả thiết về biểu hiện quả các quá trình lỗi,
các kĩ thuật chống lỗi Byzantine như [76], có thể cung cấp
một giải pháp khả thi cho Blockchain. Một kĩ thuật phổ biến
là mô phỏng lại bộ máy trạng thái mà là một phương thức
chung cho việc thực thi một dịch vụ chống lỗi, bằng cách mô
phỏng lại các máy chủ và két nối các tương tác người dung
với phản hồi từ máy chủ.

Các giao thức đồng thuận, chìa khóa của Blockchain giúp
giữ một sổ cái phân tán và ổn định mà không cần kết nối tập
trung, cung cấp các giải pháp cho bài toán Byzantine
Generals ở Blockchain. Các giao thức đồng thuận xác định
quy luật của việc tạo khối và chọn khối. Các miners trong
mạng Blockchain đào các khối bằng cách giải quyết bài toán
đồng thuận, cái mà ngăn cản bất cứ bên tham gia nào khỏi
việc lấy cắp q trình tạo khối. Bài tốn đồng thuận có thể
được thơng báo bới phía cung cấp dịch vụ Blockchain, hoặc
4.2


cũng được tạo ra bằng cách phân tán theo tiêu chuẩn tồn cầu.
Với bất cứ miner nào, một bài tốn đồng thuận có thể được
phát triển cục bộ dựa trên khối được chấp nhận công khai gần
nhất trong Blockchain, cái mà các miners cố đào sâu, và yêu
cầu về độ phức tạp của bài tốn được cụ thể hóa trong khối
ổn định gần nhất. Hơn nữa, các miners cũng có thể xác nhận
các khối khác dựa trên các khối của chúng và tiêu chuẩn định
trước.
Các giao thức đồng thuận trong mạng truy cập mở cho
phép các miners không được xác thực và không đáng tin cậy
đào các khối mà không cần yêu cầu xác thực. Kiểu
Blockchain này gọi là Blockchain công khai. Các giao thức
đồng thuật chủ yếu của Blockchain cơng khai có thể lấy ví dụ
như Blockchain trong mạng truy cập mở (PoW) được sử dụng
bởi Bitcoin, và PoS được áp dụng bởi Peercoin, sẽ được trình
bày ở chương 6. Tuy nhiên, các miners độc lập vẫn có thể sản
xuất ra các khối khác nhau taij cùng một thời điểm, gây ra sự
cản trở, được xem như các nhánh. Hơn nữa, một số lượng lớn

các miners mở rộng tài nguyên của chúng để đào sâu các giao
dịch tương đồng, dẫn tới tốn năng lượng và trễ một cách đáng
kể.
Một loại khác của Blockchain đó chính là Blockchain bí
mật, hay Blockchain được cho phép, nơi mà các miners thành
phần được xác thực thông báo cho nhau quan sát của chúng
về các giao dịch. Thuật tốn chống lỗi Byzantine (BFT) có
thể được khai thác bởi mọi miner để tổng hợp các quan sát
của chúng và của những miners khác, sản xuất ra các khối ổn
định một cách phân tán, điều này sẽ được trình bày chi tiết
trong chương 6

thơng qua giao thức ngang hàng Kademlia được áp dụng
trong ETH
• Hợp đồng thông minh dễ bị tấn công: Các hợp đồng
thông minh rất dễ bị tấn cơng do tính mở và tính không
thể đảo ngược của Blockchain. Các lỗi và lừa đảo là có
thể nhìn thấy được bởi tồn cục, bao gồm cả tin tặc.
Đồng thời, thách thức đặt ra là tạo ra lỗi trong các hợp
đồng thông minh được thực thi do tính khơng thể đảo
ngược của Blockchain. Một ví dụ điển hình là cuộc tấn
cơng vào Tổ chức tự trị phi tập trung (DAO) vào năm
2016, được gọi là cuộc tấn cơng DAO, tạo ra ETH
Blockchain rẽ nhánh
• Lừa đảo phần mềm: Tin tặc có thể khai thác các lỗi trong
phần code để trích xuất ra các thuộc tính của
Blockchain, như là cuộc tấn công lậu được báo cáo vào
năm 2018
• Tấn cơng từ chối dịch vụ phân tán (DDoS): kẻ tấn công
làm cạn kiệt tài nguyên Blockchain (như là làm cạn kiện

tồn bộ khả năng xử lí mạng) bằng cách tung ra một
cuộc tấn công cộng tác. Vào năm 2016, tin tặc đưa ra
định giá EVM thấp để làm chậm các khối trong việc xử
lí. Một lượng lớn các tài khoản với số dư nhỏ được tạo
ra bởi tin tặc dẫn đến cuộc tấn cơng DDoS.
• Rị rỉ khóa bí mật: kẻ tấn cơng có thể lấy cắp khóa bí
mật của một tài khoản để kiểm sốt tài khoản đó. Điều
này có thể nhận được thơng qua tấn cơng vào mạng
truyền thống hoặc chụp lại các nút vật lý

Phân tích tính bảo mật của Blockchain
Blockchain thu hút sự chú ý bởi tính chất chống can thiệp
trong các mạng phân quyền. Cụ thể, Blockchain không yêu
cầu các nút ngang hàng tin cậy lẫn nhau. Tuy nhiên,
Blockchain vẫn tiềm ẩn những nguy cơ. Các nguy cơ bảo mật
điển hình có thể đe dọa Blockchain như sau:
• Gian lận lặp chi (Double spending): kẻ tấn cơng tìm
cách đánh lạc hướng phía nhận giao dịch bằng các giao
dịch xung đột, vd: một số tiền như nhau ở Bitcoin. Các
phương pháp tấn công khả thi bao gồm gửi giao dịch
xung đột và đào trước một hoặc nhiều khối khiến cho
Blockchain chấp nhận các giao dịch xung đột này.
• Các cuộc tấn cơng lên giao thức đồng thuận: kẻ tấn cơng
có thể phá vỡ lí thuyết về bảo mật của các giao thức đồng
thuận bằng cách sở hữu một lượng lớn cơng suất tính
tốn của tồn mạng. Các kẻ tấn cơng này có thể kiểm
sốt và tái cấu trúc lại chuỗi. Tin tặc, chiếm hơn một nửa
cơng suất băm có thể khiến Blockchain chấp nhận các
khối khơng hợp pháp, bằng cách giải quyết bài tốn
đồng thuận (vd: PoW trong Bitcoin) nhanh hơn phần

còn lại của các nút ngang hàng. Hiện tại đã chứng minh
rằng 33% cơng suất băm là đủ để vượt mặt PoW.
• Tấn công Eclipse: Tấn công Eclipse liên quan tới các
cuộc tấn công trong các mạng P2P mà tin tặc độc chiếm
tất cả các kết nối tới các nút hợp lệ và ngăn các nút này
không kết nối được với các nút khác. Tấn công eclipse
tới Blockchain được nổi lên trong Bitcoin thông qua
giao thức ngẫu nhiên, giao thức xác định rặng một nút
trong Bitcoin kết nối tới các hàng xóm nhất định để giữ
liên lạc ngang hàng và các hàm Blockchain liên quan.
Ethereum (ETH) được báo cáo đã bị tấn công Eclipse

Các mạng IoT là tập trung dữ liệu, bởi dữ liệu được tải lên
bởi rất nhiều thiết bị đầu cuối. Điều này khiến cả dữ liệu và
các thiết bị trở thành mục tiêu của các cuộc tấn công vào IoT.
Dữ liệu cảm biến trong hệ thống IoT có thể là cá nhân hóa
hoặc có tính chất nhạy cảm, vd: y tế IoT, hoặc ừ các ứng dụng
quốc gia vd: lưới thông minh trên nền IoT và nhà máy hạt
nhân. Sự đồng thuận và bảo mật của dữ liệu là rất quan trọng.
Blockchain được tin rằng sẽ nắm giữ chìa khóa cho việc bảo
mật và toàn vẹn dữ liệu cũng như độ tin cậy trong mạng IoT.
Được cung cấp tín tồn vẹn dữ liệu được bảo đảm,
Blockchain thu hút nhiều sự chú ý cho các ứng dụng IoT (vd:
quản lý chuỗi cung ứng và thành phố thơng minh), vượt ra
ngồi tiền điện tử. Công nghệ Blockchain ngăn cản các nguy
cơ bảo mật ở cả dữ liệu cảm biến lẫn các thiết bị đầu cuối.
Độ chính xác của dữ liệu cảm biến: Dữ liệu ở Blockchain
được cung cấp bởi các mạng IoT có thể được chia thành các
dữ liệu Blockchain liên quan (vd: tài khoản, số dư và phí giao
dịch,…). Dữ liệu này được xác nhận dựa theo các giao dịch

trước, vd: tiền tiêu phải nhỏ hơn số dư tài khoản. Dữ liệu IoT
liên quan được bảo vệ bởi chữ kí, điều này đảm bảo rằng chỉ
thông điệp gửi bởi thiết bị IoT được xác thực mới được ghi
lại và khai thác. Mặt khác, độ chính xác của dữ liệu IoT
lieenquan có thể được đảm bảo bởi dịch vụ Oracle, cái cung
cấp một bảng thông tin được xác thực. Cấu trúc băm kết nối
đuôi cải thiện độ tin cậy của dữ liệu cảm biến ghi nhận trong
sổ cái.
Các hành vi độc hại của các thiết bị IoT: Các hành vi độc
hại của các thiết bị đầu cuối trong IoT-Blockchain có thể
được tóm tắt dưới 3 dạng như sau:

4.3

5 BLOCKCHAIN ĐỐI VỚI IOT: ỨNG DỤNG


(1): gửi giao dịch với chữ kí sai mà có thể được phát hiện,

bị cấm và bị từ chối bởi hệ thống Blockchain
(2): gửi giao dịch với dữ liệu sai nhưng chữ kí đúng, sẽ bị
loại bỏ bởi thuật tốn phát hiện dữ liệu lỗi và ngăn nút nguồn
của giao dịch đó
(3) sử dụng tài nguyên vd:DoS, sẽ được ngăn chặn bởi cơ
chế phí giao dịch.
Các ứng dụng và dự án IoT trên nền Blockchain
Hầu hết các công nghệ Blockchain hiện tại, không phải là
tất cả đều tập trung vào lớp ứng dụng, nơi mà các mạng chủ
yếu là ngang hàng mà khơng có những giới hạn vật lý cho
mạng, các thiết bị và dải tần. Ví dụ, Enigma là một mạng

Blockchain ngang hàng mới được phát triển nhằm quản lý dữ
liệu cá nhân có phân quyền [21,22].
IOTA nhắm vào việc đưa ra các giải pháp Blockchain cho
các mạng IoT. Chào sân vào năm 2016, IOTA được dựng trên
nền công nghệ “Tangle” khơng có chuỗi, khơng có khối và
khơng mất phí. Tangle thừa kế sổ cái phân tán chống xâm
nhập của Blockchain, dung một cấu trúc đồ thị khơng tuần
hồn trực tiếp (DAG) thay vì cấu trúc chuỗi như ở Bitcoin.
Giao dịch là đơn vị bộ nhớ duy nhất trong IOTA. Mỗi giao
dịch xác nhận mỗi hai giao dịch được cơng bố trước nó. Cấu
trúc linh hoạt này giúp tiết kiệm năng lượng và công việc
trong khai thác các giao dịch. Các giao dịch được xác thực
song song và được chấp nhận bới Tangle gần như ngay lập
tức, điều mà cung cấp cho IOTA sức chứa lớn xét về tốc độ
giao dịch. IOTA hủy bỏ phí giao dịch, vì các bên tham gia
IoT có thể bị ngăn cản trong trường hợp phí giao dịch cao với
giá trị ghi được trong giao dịch.
IOTA hỗ trợ bốn loại nút đó là full node, headless note
(full nodes chạy trong trạm điều khiển cục bộ), light wallet
và Android wallet. IOTA tung ra phiên bản beta để hỗ trợ
light wallet vào năm 2017.
Light wallet kết nối tới một máy chủ nơi mà IRI đang chạy
để lấy trạng thái mạng và quảng bá các giao dịch. Tuy nhiên,
ngay cả light wallets cũng cần thực hiện tính toán để tạo ra
các giao dịch hợp lệ, được yêu cầu bởi cấu trúc DAG. Các
thiết bị IoT có khả năng giới hạn, như các nút được cấp nguồn
bằng pin, bị giới hạn để thực thi light wallets trong IOTA.
Có các nền tảng IoT dựa trên Blockchain khác phục vụ
các mục đích cụ thể. Hợp tác với Samsung, IBM đề xuất một
dự án nền Blockchain tên là ADEPT và ủng hộ bình đẳng

cơng nghệ sẽ là tương lai của IoT. Hơn thế nữa, một dịch vụ
chia sẻ dữ liệu nền Blockchain phục vụ công nghiệp và kinh
doanh cũng được giới thiệu bởi IBM nơi mà dữ liệu IoT có
thể được chia sẻ thơng qua các sổ cái Blockchain bí mật để
ngăn chặn tranh chấp giữa các đối tác kinh doanh.
5.1

5.2

Cấu trúc của các ứng dụng IoT trên nền Blockchain

Hai cấu trúc khác nhau có thể được áp dụng vào các ứng
dụng IoT-Blockchain phụ thuộc vào các khả năng đa dạng
của các thiết bị IoT.
5.2.1
Blockchain bao hàm IoT
Các thiết bị IoT sẽ tham gia vào mạng Blockchain và trở
thành một phần trong các hàm quan trọng của Blockchain, ví
dụ việc tạo ra các giao dịch của dữ liệu cảm biến chưa xử lí,
xác thực các giao dịch, và thậm chí là khai thác các khối. Ba
vai trò ảo, light node, full node và miner cần được hỗ trợ trong
các mạng Blockchain-IoT. Các mạng giao thơng bất định
được mơ tả phía tay trái của hình 3 là một ứng dụng tiềm năng
chạy trên cấu trúc này. Các miners khai thác các giao dịch
thành các khối và lưu trữ tất cả các khối, vì vậy nên u cầu
bộ nhớ và tính tốn rất lớn. Các full nodes lưu trữ tất cả các
khối, bao gồm phần đầu và phần than của khối, nhưng không
thực hiện việc khai thác khối. Các thiết bị đầu cuối IoT hoạt
động như các light nodes trong mạng Blockchain. Các thiết
bị IoT có thể tự tạo khóa bí mật hoặc đăng kí chứng thực (CA)

để kiểm sốt truy cập và kiểm tra. Các light nodes lưu trữ
phần đầu của khối và tạo ra các giao dịch mà không cần khai
thác các khối, chúng có thể được hỗ trợ bởi cơng nghệ xác
thực thanh toán đơn giản (SPV), sẽ được giới thiệu ở phần
sau. Các light nodes có thể yêu cầu bộ nhớ và cơng suất tính
tốn ít hơn so với full nodes và miners.
Ví (wallet) [119] là một dạng đặc biệt của light nodes, yêu
cầu bộ nhớ và công suất tính tốn tối thiểu. Ví chỉ có hàm cơ
bản của các giao dịch và phải được hỗ trợ bởi các full nodes
để khôi phục dữ liệu đào được trong các khối. Lấy ví dụ
Hyperledger Fabric, các khách hàng mới như các thiết bị IoT
sẽ cần đăng kí và sau đó duy trì khóa riêng của chúng. Tại
đây, các khóa riêng tư do khách hàng sở hữu (các nút sáng)
được áp dụng để tạo chữ ký của các giao dịch nhằm xác nhận
chủ sở hữu của các giao dịch. Các khách hàng chỉ tạo và phát
sóng các giao dịch.
5.2.2

Blockchain như một dịch vụ cho IoT

Blockchain cung cấp một lớp dịch vụ [121, 120, 122] để tích
hợp với kiến trúc IoT điển hình, chẳng hạn như kiến trúc bốn
cấp được giới thiệu trong Phần 3. Thông thường, cấu trúc này
bao gồm ba vai trò ảo, tức là cảm biến, tác nhân và thợ đào [
121]. Ngơi nhà thơng minh được trình bày ở phía bên phải
của Hình 3 là một ứng dụng IoT điển hình chạy trên cấu trúc
này [123]. Cảm biến IoT thu thập dữ liệu giác quan và tương
tác với các dịch vụ Blockchain thông qua các tác nhân
Blockchain. Các cảm biến không tham gia vào các chức năng
của Blockchain. Các tác nhân có thể giải thích dữ liệu giác

quan được thu thập dưới dạng giao dịch và truyền các giao


dịch vào mạng lưới Blockchain [121]. Các đại lý cũng có thể
chịu trách nhiệm về các giao dịch chứng khốn sử dụng khóa
riêng của các đại lý, trong khi các thiết bị IoT khơng có khóa
và khơng tham gia vào Blockchain. Các thợ đào, tạo thành
một mạng ngang hàng, thực hiện chức năng cốt lõi của
Blockchain, tức là xác minh các giao dịch và khai thác các
giao dịch thành các khối.
5.2.3
So sánh
Cấu trúc Blockchain liên quan đến IoT đạt được tính bảo
mật và tính tồn vẹn của dữ liệu bằng cách triển khai
Blockchain trực tiếp trên các thiết bị đầu cuối. Các thiết bị
IoT chạy nút đèn có thể tạo và xác minh các thông điệp dưới
dạng giao dịch với sự trợ giúp của cơng nghệ SPV. Ngược
lại, tính tồn vẹn của dữ liệu trong trường hợp của Blockchain
như một dịch vụ phụ thuộc vào tính bảo mật và độ tin cậy của
các tác nhân. Do các tác nhân hoạt động như proxy giữa các
thiết bị IoT và mạng Blockchain, tác nhân có thể thực hiện
các cuộc tấn cơng trung gian, ví dụ: tiêm, giả mạo và giả mạo.
Trong khi đó, các tác nhân làm tăng nguy cơ hỏng đơn điểm.
Cấu trúc của “Blockchain dưới dạng dịch vụ” rất dễ dàng
và linh hoạt để triển khai. Với sự hỗ trợ của các đại lý, mơđun IoT duy trì các đặc tính riêng của nó ở một mức độ nào
đó và do đó, yêu cầu các sửa đổi hạn chế trên hệ thống cho
thuê để hợp tác với Blockchain. Ví dụ, sự dư thừa của dữ liệu
cảm quan có thể được giải quyết bằng cách sử dụng các thuật
toán tổng hợp theo phân đoạn [124] tại các đại lý. Các kết quả
tổng hợp có thể làm giảm khối lượng dữ liệu cảm quan và

giảm bớt yêu cầu cao của các ứng dụng IoT về năng lực giao
dịch. Ngược lại, trong một Blockchain liên quan đến IoT, các
thiết bị IoT phải được lập trình lại để chạy các ứng dụng
Blockchain. Các ứng dụng Blockchain có thể tiêu tốn tài
ngun, ví dụ: tính tốn và kết nối, và chỉ có thể được triển
khai trên các thiết bị cụ thể.
Những thách thức
Các Blockchains hiện tại được thiết kế để chạy trong các
mạng đồng loại P2P. Tuy nhiên, các đặc điểm của IoT, ví dụ,
tài nguyên hạn chế của thiết bị cuối so với máy chủ hiệu suất
cao hoặc thiết bị máy tính để bàn, ngăn cản việc triển khai
trực tiếp Blockchain cho IoT. Việc ứng dụng Blockchain trên
các thiết bị IoT phải đối mặt với những thách thức sau.
Tính tốn: Hoạt động Blockchain khơng thể thực hiện
được đối với các thiết bị IoT trọng lượng nhẹ. Một số thuật
tốn mật mã nâng cao, ví dụ: zero-knowledge [125] và mã
hóa dựa trên thuộc tính (ABE) [122], được sử dụng trong các
Blockchains bảo vệ quyền riêng tư quá nặng đối với các tệ
nạn IoT. Một nút đầy đủ trong Blockchain phải xác minh và
tìm kiếm mọi khối và giao dịch, điều này cũng có thể là một
tải nặng cho các thiết bị IoT giới hạn tài nguyên [126]. Các
giao thức đồng thuận giống như PoW không thể chạy trên các
thiết bị IoT. Trong trường hợp của Bitcoin, tồn bộ mạng có
thể xử lý khoảng 1019 băm mỗi giây [127]. Bộ xử lý đồ họa
hiện đại (GPU) có thể đạt được khoảng 107 băm mỗi giây
[128]. Tuy nhiên, ngay cả một thiết bị IoT mạnh mẽ, ví dụ:
Raspberry pi 3 [129], chỉ có thể đạt được khoảng 104 băm
mỗi giây [130]. Do đó, các thiết bị IoT khơng thể đóng góp
đủ tài ngun tính tốn và đủ khả năng thực hiện các nhiệm
vụ PoW.

Lưu trữ: Một bộ nhớ lớn được yêu cầu bởi Blockchain có
thể bị cấm đối với các thiết bị IoT. Có khoảng 5 × 106 khối
trong Bitcoin trong khoảng 9 năm. Kích thước của tồn bộ
5.3

Blockchain Bitcoin là khoảng 150 gigabyte [127]. Có khoảng
5 × 106 khối trong Ethereum. Kích thước của tồn bộ
Blockchain Ethereum là khoảng 400 gigabyte [131]. Việc lưu
trữ tất cả các khối là cần thiết. Nếu khơng có dữ liệu khổng
lồ này, các thiết bị IoT không thể xác minh các giao dịch do
người khác tạo ra. Ngoài ra, người gửi giao dịch cần dữ liệu
theo ký hiệu của mình, ví dụ: số dư và chỉ số giao dịch, để
thực hiện các giao dịch mới theo giới tính. Do đó, các thiết bị
IoT nên tin tưởng vào chính nó bằng cách lấy tải lưu trữ hoặc
tin tưởng vào các máy chủ từ xa, áp đặt thêm chi phí giao tiếp
và giao tiếp an toàn giữa các thiết bị IoT và các máy chủ đáng
tin cậy. Mặc dù nhu cầu lưu trữ có thể được giảm bớt bằng
cách chạy các thiết bị IoT như các nút sáng trong hệ thống
Blockchain, tuy nhiên, vẫn cần lưu trữ các tiêu đề khối. Tất
cả các tiêu đề lần lượt là khoảng 38 megabyte và 2 gigabyte
trong Bitcoin Blockchain và Ethereum Blockchain. Ngay cả
với công nghệ Blockchain tiên tiến, ví dụ: cơng nghệ SPV,
kích thước tiêu đề có thể giảm xuống cịn khoảng 80 byte đối
với khối Bitcoin [73] và 500 byte đối với khối Ethereum
[114]. Hơn nữa, rất tốn kém khi lưu trữ dữ liệu trên
Blockchain. Ví dụ, chi phí cho mỗi giga-byte lưu trữ dữ liệu
trong Ethereum là khoảng 2 × 105 US Dol-lars [132]. Cụ thể,
một dữ liệu 32 byte khác 0 có giá 20k gwei / gas và 1 ether là
khoảng 12,90 US Dol-lars [132]. Cái giá quá đắt để có thể
ứng dụng IoT vào thực tế. IoT tạo ra dữ liệu lớn. Tổng kích

thước dữ liệu có thể bùng nổ trong IoT được hỗ trợ bởi
Blockchain vì mọi khối sẽ được nhân đôi n lần trong mạng
Blockchain n-nút.
Giao tiếp: Các nút trong Blockchain yêu cầu truyền và
trao đổi dữ liệu thường xuyên. Điều này là do Blockchain
chạy trên mạng P2P và tiếp tục thay đổi dữ liệu cũ để duy trì
các bản ghi nhất qn, ví dụ: cho các giao dịch và khối mới
nhất. Công nghệ truyền thông không dây, được sử dụng rộng
rãi để kết nối các thiết bị IoT, bị che khuất, mờ dần và can
thiệp và khó chịu trách nhiệm hơn so với kết nối có dây [133]
trong các dự án Blockchain điển hình, ví dụ: BitCoin. Dung
lượng của công nghệ không dây thấp hơn nhiều so với u
cầu của Blockchain. Ví dụ, Bluetooth (IEEE 802.15.1) có thể
cung cấp tốc độ dữ liệu 720 kbps; ZigBee (IEEE 802.15.4) có
thể cung cấp tốc độ dữ liệu 250 kbps; Băng siêu rộng (UWB,
IEEE802.15.3) có thể truyền tốc độ dữ liệu 110 Mbps; Wi-Fi
(802.11 a / b / g) có thể cung cấp tốc độ dữ liệu 54 Mbps [42].
NB-IoT [43] có thể cung cấp tốc độ tín hiệu khoảng 100 kbps
[134].
Năng lượng: Một số thiết bị IoT được thiết kế để hoạt
động trong thời gian dài với năng lượng pin dẻo dai. Ví dụ,
một thiết bị IoT được thiết kế để tiêu thụ 0,3mWh mỗi ngày
và hoạt động ít nhất 5 năm bằng cách sử dụng pin CR2032 có
cơng suất 600mWh [134]. Các thiết bị IoT áp dụng các chiến
lược tiết kiệm hiệu quả, ví dụ: chế độ ngủ [135] và các cơng
nghệ truyền thơng hiệu quả cao, ví dụ: NB-IoT [134]. Tuy
nhiên, việc tính tốn và giao tiếp được yêu cầu bởi các hoạt
động của Blockchain thường rất tốn năng lượng. Ví dụ, SHA256 yêu cầu khoảng 90 nJ / B [136]. Chi phí năng lượng giao
tiếp thơng thường của Bluetooth là khoảng 140 mJ / Mb;
ZigBee là khoảng 300 mJ / Mb; UWB là khoảng 7 mJ / Mb

và Wi-Fi là khoảng 13 mJ / Mb [42]. Do đó, ngân sách năng
lượng 0,3 mWh nói trên mỗi ngày chỉ có thể hỗ trợ khoảng
0,5 MB dữ liệu (một nửa khối Bit-coin) xử lý và truyền bằng
giao thức ZigBee.
Tính di động và phân vùng của IoT: Mạng khơng dây có
thể được chia thành một chế độ cơ sở hạ tầng, trong đó tất cả


các gói được chuyển tiếp bởi cơ sở hạ tầng mạng (các stations cơ sở); và chế độ đặc biệt, trong đó mạng khơng dựa
vào các cơ sở hạ tầng đã có từ trước và mỗi nút chuyển tiếp
dữ liệu cho các nút khác [137]. Tính di động của các thiết bị
IoT có thể làm suy yếu hiệu suất của Blockchain. Trong mạng
không dây dựa trên cơ sở hạ tầng, tính di động của các thiết
bị có thể dẫn đến sự phát triển của các thông điệp điều khiển
và báo hiệu [138]. Ngược lại, trong mạng ad-hoc không dây,
phân vùng mạng chia mạng thành các phần không kết nối khi
các nút di động di chuyển với các kiểu đa dạng [139].
Độ trễ và dung lượng: Độ trễ cao của Blockchain được sử
dụng để đảm bảo tính nhất quán trong các mạng Blockchain
phi tập trung. Độ trễ thường có thể chấp nhận được đối với
Blockchain là không thể chấp nhận được đối với nhiều ứng
dụng IoT. Ví dụ: thời gian xác nhận khối là 10 phút trong
Bitcoin là quá lâu đối với các ứng dụng IoT nhạy cảm với độ
trễ, chẳng hạn như mạng phương tiện. Trên thực tế, độ trễ cao
của Blockchain dẫn đến dung lượng của Blockchain bị hạn
chế. Dung lượng của các Blockchains, ví dụ: 1MB trên 10
phút của Bitcoin, thấp hơn nhiều so với yêu cầu của các ứng
dụng IoT. Yêu cầu năng lực của IoT thay đổi theo các ứng
dụng khác nhau. Ví dụ: trong ứng dụng thành phố thông minh
dựa trên IoT [140], dấu vết xe cộ của 700 xe ô tô trong 24 giờ

là 4,03 GB, khoảng 0,24 MB mỗi giờ trên mỗi ô tơ. Trong khi
đó, dữ liệu bãi đậu xe từ 55 điểm là 294 KB trong khoảng 5
tháng, tức là 36 B mỗi ngày mỗi điểm. Yêu cầu năng lực của
các ứng dụng IoT sẽ liên tục tăng lên với số lượng thiết bị IoT
ngày càng tăng.
5.4
Các thiết kế tiềm năng
5.4.1
Định dạng giao dịch
Khác với các giao dịch bằng Bitcoin, các giao dịch trong
ứng dụng IoT cần hỗ trợ cấu trúc dữ liệu do người dùng xác
định [141]. Một ví dụ thực tế là giao dịch trong các ứng dụng
IoT được xây dựng trên Ethereum [142, 143, 141], như trong
Hình 4. Khác với giao dịch Bitcoin, giao dịch Ethereum có
trường dữ liệu cho biết dữ liệu sẽ được chuyển. Trường dữ
liệu có độ dài thay đổi và người gửi có thể trả phí giao dịch
cao hơn cho trường dữ liệu dài hơn. Lưu ý rằng phí giao dịch
phải nhỏ hơn giới hạn gas cho mỗi khối trong Ethereum. Nói
cách khác, trường dữ liệu khơng thể phóng to khơng giới hạn.
Độ trễ xác nhận giao dịch có thể bị ảnh hưởng bởi quy mô
giao dịch, đặc biệt là trong mạng IoT với các kênh không dây
không đáng tin cậy. Các giao dịch nhỏ có thể đạt được tỷ lệ
truyền thành cơng cao và độ lệch đường truyền thấp. Giao
thức dữ liệu người dùng (UDP), là một giao thức trọng lượng
nhẹ, được sử dụng rộng rãi trong IoT [144]. Do thực tế là
UDP khơng cung cấp tính năng sửa lỗi, tốt hơn nên giữ kích
thước giao dịch nhỏ hơn trọng tải của các giao thức mạng, ví
dụ: UDP và IP, để tránh phân mảnh và chứng minh tỷ lệ
truyền thành cơng. Do đó, các giao dịch nhỏ hơn dự kiến sẽ
được quan sát bởi một số lượng lớn thợ đào với xác suất khai

thác thành khối cao hơn so với các giao dịch lớn.
Sự chậm trễ có thể được giảm thiểu với các tác nhân kết
nối không dây các thiết bị IoT và kết nối các thợ đào bằng
dây. Các đại lý đều phát sóng các giao dịch với các kích thước
khác nhau cho các thợ đào.
5.4.2

Ưu đãi và mã thơng báo

Phí giao dịch rất quan trọng để cân bằng chi phí giao dịch
và điều chỉnh mức tiêu thụ tài nguyên của Blockchain. Ví dụ,
phí giao dịch được sử dụng để đo mức độ phức tạp của các
giao dịch trong Ethereum [114]. Các giao dịch tập hợp nhiều
tài nguyên hơn sẽ phải trả phí giao dịch cao hơn. Mặt khác,
phí giao dịch cũng cung cấp một cách để phân bổ lại các
nguồn lực, đặc biệt là trong các Blockchains cơng cộng có
giới hạn dung lượng, ví dụ: Bitcoin với dung lượng 7 tps.
Trong trường hợp có số lượng lớn giao dịch tại một thời điểm,
các hành động chuyển đổi có thể mất thời gian xác nhận lâu
và người gửi hành động chuyển đổi có thể trả nhiều phí giao
dịch hơn cho các thợ đào để được ưu tiên (ví dụ: thời gian xác
nhận ngắn hơn).
Việc khuyến khích phí giao dịch (mã thơng báo) cũng rất
hấp dẫn và không đáng kể trong các mạng IoT. Một hệ thống
mã thơng báo trong Blockchain có thể được sử dụng như một
hệ thống uy tín hoặc đáng tin cậy [145]. Phí giao dịch có thể
làm tăng chi phí của các cuộc tấn cơng so với các cuộc tấn
cơng IoT truyền thống, ví dụ: thơng điệp giả mạo và tấn cơng
DoS, và do đó khơng khuyến khích các hành vi độc hại [114].
Các thiết bị IoT có thể khơng thể khai thác các khối để

kiếm tiền từ phí giao dịch do tài nguyên hạn chế của chúng
và các liên kết xương sống (không dây) thường kém. Các thiết
bị IoT có thể “bán” dịch vụ của nó, ví dụ: năng lượng tái tạo
[146], cho các mã thông báo. Đổi lại, người dùng dịch vụ, ví
dụ: bộ trưởng quảng cáo IoT hoặc tiêu đề cụm, sạc lại các
thiết bị IoT. Các thiết bị IoT được kỳ vọng sẽ tích cực tham
gia vào Blockchain và tuân theo các mẫu hành vi lành tính,
mặc dù chúng có xu hướng tấn cơng ích kỷ [147] với các tài
ngun tính tốn, năng lượng và độ rộng băng tần hạn chế.
Công nghệ hợp đồng W, các thiết bị IoT có thể mua lại các
nguồn, ví dụ: nguồn hoặc gói dữ liệu. Điều này có thể thúc
đẩy các thiết bị IoT kiếm được token.
5.4.3

Hợp đồng thông minh

Hợp đồng thông minh là một phần của “mã thực thi được
bảo đảm bằng tiền điện tử” chạy trên nền tảng của Blockchain
[148, 149, 150]. Không cần bất kỳ sự hỗ trợ nào của bên thứ
ba, hợp đồng thông minh tự thực hiện điều khoản hợp đồng
tương ứng sau khi điều kiện xác định được kích hoạt. Ngồi
ra, nó cũng cung cấp khả năng kiểm tra thời gian thực, vì tất
cả các hành động đều được ghi lại và xác minh dưới dạng các
giao dịch trong một sổ cái Blockchain phi tập trung. Các giao
dịch này có thể theo dõi và khơng thể phủ nhận, do đó tăng
cường bảo mật thực thi của máy [151]. Hợp đồng thông minh
chuyển các tài sản khác nhau, chẳng hạn như thiết bị IoT và
tài sản kỹ thuật số, thành danh tính ảo trong Blockchain và
cho phép chúng tương tác với các tài sản khác [12]. Hợp đồng
thông minh là ứng dụng để thay thế các hợp đồng thông

thường như một phương pháp hiệu quả và an tồn. Mã của
hợp đồng thơng minh được lưu trữ trong Blockchain và được
xác định bởi một địa chỉ duy nhất. Hợp đồng thơng minh có
thể được gọi theo hai cách: một là bằng các giao dịch được
xác định giá trị với địa chỉ hợp đồng thông minh trong trường
người nhận; cách khác là thực thi nội bộ của mã [114]. Do đó,
tất cả các bản ghi thực thi có thể được truy tìm bằng cách sử
dụng sổ cái Blockchain. Hợp đồng thơng minh được cắt miễn
phí một cách độc lập và tự động trên mọi nút trong mạng
Blockchain. Một số dự án Blockchain, bao gồm Ethereum và
Bitcoin, đã triển khai hợp đồng thông minh [152, 153, 154,
155, 156, 157, 158, 159, 112]. Vì IoT mong đợi các cảm biến


trong các khu vực không người lái chạy và hoạt động tự động
với các quy tắc được xác định trong phân quyền, hợp đồng
thơng minh có tiềm năng cải thiện hiệu quả và bảo mật của
các ứng dụng IoT. Các thiết bị IoT có thể thực hiện các giao
dịch tự trị thông qua các kết nối thông minh [10]. Với hợp
đồng thông minh, Blockchain được sử dụng để đặt lại Cấu
trúc Giao thông Thông minh (ITS) và thực hiện cập nhật phần
sụn đáng tin cậy của các thiết bị IoT [160].
5.4.4

Lưu trữ ngoài chuỗi

Lưu trữ ngoài chuỗi là một giải pháp khả thi để giảm chi
phí lưu trữ. Dữ liệu có thể được lưu trữ riêng biệt ở một nơi
khác và sử dụng một con trỏ để lập chỉ mục vào Blockchain.
Trong [22], để đạt được lưu trữ ngoài chuỗi, hai loại giao dịch

mới được đề xuất, đó là giao dịch để quản lý kiểm soát truy
cập và giao dịch để lưu trữ và truy xuất dữ liệu. Kho khóa-giá
trị ngoài chuỗi là một triển khai của Kademilia [161], một
bảng băm phân tán (DHT). DHT được duy trì bởi một mạng
lưới các nút độc lập với Blockchain. Dữ liệu được ngẫu nhiên
hóa trên các nút và được sao chép để đảm bảo tính khả dụng.
Bảo mật về các ứng dụng IoT trên nền Blockchain
Mặc dù công nghệ Blockchain được biết là có khả năng
giải quyết vấn đề Byzantine, nhưng Blockchain khơng có các
vấn đề bảo mật sẽ tiếp tục tồn tại trong các mạng IoT dựa trên
Blockchain.
5.5

5.5.1

Tính riêng tư

Blockchain có thể gặp phải các vấn đề về quyền riêng tư,
bao gồm quyền riêng tư của người dùng và tính bảo mật dữ
liệu, do thực tế là các giao dịch được thiết kế để tất cả các
đồng nghiệp xem và xác minh công khai.
(i) Quyền riêng tư của người dùng: Mặc dù người dùng có
thể tạo nhiều danh tính ảo một cách độc lập trong Blockchain,
ánh xạ một-nhiều giữa danh tính người dùng thực và danh
tính ảo có thể được xây dựng dựa trên biểu đồ giao dịch [162,
163, 164], và danh tính của một người dùng thực có thể được
phỏng đoán [165, 166, 167].
Một loại tiền điện tử ẩn danh hoàn toàn phải đạt được khả
năng truy xuất nguồn gốc (hay nói cách khác, đối với mỗi
hành động chuyển tiền đến, tất cả những người gửi có thể có

khả năng tương đương) và đạt được tính khơng liên kết (hay
nói cách khác, đối với bất kỳ hai giao dịch gửi đi nào, không
thể chứng minh chúng là gửi cho cùng một người) [168].
Bitcoin không ẩn danh mà là giả danh [169, 168]. Điều đó đạt
được bằng ba phương tiện, ánh xạ của người dùng thực với
danh tính ảo chỉ được duy trì bởi người dùng; danh tính ảo
được phép tạo ra một cách độc lập với số lượng theo yêu cầu;
dịch vụ trộn lẫn được cung cấp để trộn vốn của một số danh
tính ảo nhằm gây nhầm lẫn và ngăn chặn việc bẻ khóa các
nguồn vốn ban đầu [170].
Quyền riêng tư của người dùng được bảo vệ bởi các công
nghệ cryptog-raphy tiên tiến trong các Blockchains gần đây.
Hawk [171] đã cố gắng giải quyết vấn đề quyền riêng tư của
các đường dây thông minh trong Blockchain công cộng, tự
động tạo ra một giao thức mật mã hiệu quả bằng cách sử dụng
các nguyên thủy đồ họa tiền điện tử, cụ thể là các bằng chứng
khơng có kiến thức [172].
Bằng chứng khơng có kiến thức cho phép một tun bố
được xác minh mà khơng có bất kỳ thơng tin nào ngoại trừ

tun bố tự nó [173]. Bằng chứng khơng có kiến thức cũng
đã được sử dụng trong Zerocoin [174], Zerocash [175], Quy
định [176], v.v., để đạt được bằng chứng ẩn danh về quyền
sở hữu thay vì chữ ký dựa trên khóa cơng khai. Mặc dù bảo
vệ quyền riêng tư, tiền điện tử dựa trên khơng có kiến thức
địi hỏi nhiều tài nguyên hơn, điều này rất hạn chế các ứng
dụng của chúng. Ví dụ: một giao dịch Zerocoin dài hơn 45
kB và cần 450 ms để được xác minh [175]. Tạo một giao dịch
Zerocash tiêu tốn khoảng 3,2 GB bộ nhớ và khoảng 50 giây
thời gian tính tốn [125]. Một công nghệ quan trọng khác để

bảo vệ quyền riêng tư của người dùng là chữ ký vòng[177,
178], được thực hiện bởi bất kỳ thành viên nào trong nhóm
người dùng bằng khóa cá nhân của họ và khóa cơng khai của
những người khác. Trong chữ ký vòng, một tuyên bố được
xác nhận bởi các thành viên trong một nhóm người cụ thể. Ví
dụ, Monero [179] là một Blockchain khơng thể theo dõi dựa
trên chữ ký vịng, nó phá vỡ liên kết giữa người gửi và giao
dịch. Chữ ký vịng khơng đảm bảo tính khơng liên kết giữa
hành động chuyển và người nhận, vì các giao dịch cần trang
phục quảng cáo của người nhận để được phân phối.
Cryptonote [168] đạt được tính không liên kết với một địa chỉ
duy nhất bằng cách hình thành các sàn giao dịch DiffieHellman để có được bí mật được chia sẻ giữa người gửi và
người nhận. Sau đó, khóa đích một lần được tạo bởi người
gửi và được sử dụng làm địa chỉ tạm thời của người nhận giao
dịch. Khi giao dịch được xác định bằng cách kiểm tra mọi
giao dịch chuyển đi, người nhận thực có thể khơi phục khóa
một lần tương ứng và chi tiêu quỹ. Lưu ý rằng có sự đánh đổi
giữa quyền riêng tư và dung lượng vì quy mơ của một hành
động chuyển đổi sẽ phát triển với quy mô ngày càng tăng của
(ii) Tính riêng tư của dữ liệu: Tính khơng thể truy xuất và
khơng thể liên kết đã nói ở trên khơng tương tác với hoặc hỗ
trợ tính bảo mật của dữ liệu. IoT-Blockchain cũng cần bảo
mật dữ liệu. Tính bảo mật của Blockchain có thể được phục
vụ trước bởi các cơng nghệ giao dịch bí mật. Đối với các giao
dịch cũ, dự án Elements [180] và Monero [181] giữ nguyên
nội dung của các giao dịch, tức là số tiền được chuyển, chỉ
hiển thị cho những người tham gia dự kiến. Trong khi đó, lều
con có thể được xác minh sao cho khơng có nhiều đồng xu
hơn số tiền hiện có có thể được sử dụng bằng phương tiện
mật mã. Các giao dịch Confiden-tial sử dụng một số công

nghệ mật mã, bao gồm chữ ký vòng Borromean [182] và lược
đồ cam kết Pedersen [182].
Một giải pháp khả thi khác cho quyền riêng tư là mã hóa
dựa trên phân bổ (ABE) [183], trong đó các khóa bí mật được
tạo ra dựa trên các thuộc tính của các đồng nghiệp. Bằng cách
áp dụng ABE, dữ liệu cảm quan trong các giao dịch có thể
được mã hóa và giải mã bởi người khai thác và người dùng,
sử dụng thông tin đăng nhập giải mã từ các cơ quan quản lý
thuộc tính, nếu và chỉ khi người khai thác hoặc người dùng
thỏa mãn cấu trúc truy cập của bản mã [122]. Mã hóa hồn
tồn đồng hình (FHE) [184] cho phép tính tốn trên dữ liệu
được mã hóa cung cấp một giải pháp khác. Mặc dù FHE đạt
được tính bảo mật cao hơn khi dữ liệu được xử lý mà không
cần giải mã dữ liệu [21], nhưng nó khơng hiệu quả và do đó
khơng được cải thiện trong thực tế [22].
5.5.2

Quản lý danh tính và thiết bị

Trong các ứng dụng IoT, chủ sở hữu nên biết danh tính
của thiết bị của họ và ngược lại [53]. Tuy nhiên, trong các
Blockchains công khai hiện tại, ví dụ: Bitcoin và Ethereum,


các đồng nghiệp được xác định theo địa chỉ công khai của
chúng có thể được tạo độc lập mà khơng cần thông báo trước
cho những người khác. Một dịch vụ tên dựa trên mơ hình câu
trả lời truy vấn được đề xuất trong [185], trong đó danh tính
ảo của các thiết bị IoT được xác minh theo các hoạt động mới
nhất của chúng. [185] Nó được coi là một nút vật lý có thể

được hiểu là nhiều nút ảo trong Blockchains. Trong trường
hợp các Blockchains riêng tư, các đồng nghiệp cần được ủy
quyền để tham gia vào mạng Blockchain. Do đó, việc quản lý
danh tính là u cầu cơ bản của các Blockchains riêng tư. Ví
dụ, Hyperledger Fabric cung cấp trình quản lý danh tính để
triển khai các chứng chỉ đăng ký và giao dịch [120].
5.5.3

Kiểm soát truy cập

Là một hệ thống phân tán, Blockchain cho phép các thiết
bị IoT xây dựng chính sách kiểm sốt truy cập của riêng họ
và kiểm sốt hồn tồn dữ liệu của riêng họ, đạt được tính
dân chủ của thiết bị [25]. Một cơng nghệ để thực hiện kiểm
soát truy cập là các hợp đồng thơng minh có thể lập trình được
[186]. Các kết nối thơng minh, thực hiện các chính sách kiểm
sốt truy cập, có thể được triển khai dựa trên dữ liệu, tùy
thuộc vào danh tính của bộ điều khiển dữ liệu hoặc dữ liệu cụ
thể; hoặc trên bộ điều khiển dữ liệu cho nhiều đối tượng dữ
liệu. Một cách khác để thực hiện kiểm soát truy cập là sử dụng
Blockchain làm cơ sở dữ liệu để lưu trữ tất cả các chính sách
kiểm sốt truy cập cho từng cặp tài ngun và người yêu cầu
dưới dạng giao dịch [187, 188]. Nếu một yêu cầu truy cập
được chấp nhận, giao dịch cấp quyền truy cập có thể được ghi
lại trong Blockchain và phát sóng tới mạng Blockchain. Nếu
khơng, hành động chuyển đổi yêu cầu truy cập sẽ bị từ chối
và thông báo được gửi đến người gửi của nó.
6 BLOCKCHAIN ĐỐI VỚI IOT: CƠNG NGHỆ
Trong phần này, chúng tơi thảo luận về các cơng nghệ
điển hình của Blockchains có thể được sử dụng trong các ứng

dụng IoT. Trước tiên, chúng tơi trình bày ba danh mục các
cơng trình mạng Blockchain hiện tại và ánh xạ các ứng dụng
IoT thành các danh mục Blockchain phù hợp. Hơn nữa, chức
năng cốt lõi của Blockchain, cụ thể là giao thức đồng thuận,
được phân tích từ hai điểm chính, tiếp theo là đại diện cho các
dự án Blockchain tương ứng với tính phù hợp trong các ứng
dụng IoT.
Dựa trên các biện pháp kiểm soát truy cập của các mạng
Blockchain, các Blockchains hiện đại có thể được phân loại
thành Blockchain công khai, Blockchain riêng và Blockchain
kết hợp giữa hai Blockchain trước đây.
(1) Blockchain công khai: Tầng lớp thống trị của
Blockchain là Blockchain cơng cộng, trong đó, khơng có
quyền kiểm sốt truy cập, bất kỳ nút nào chưa được chứng
nhận, khơng đáng tin cậy đều có thể đọc và ghi lại các hành
động chuyển đổi, tham gia vào các khối khai thác và đóng
góp cho Blockchain [189]. Được thiết kế cho các mạng công
cộng truy cập mở, các Blockchains cơng cộng có thể cung cấp
khả năng mở rộng mạnh mẽ. Tuy nhiên, việc lưu giữ các bản
ghi nhất qn của Blockchain cơng cộng ngày càng trở nên
khó khăn, khi mạng mở rộng quy mơ và do đó sẽ làm ảnh
hưởng đến tỷ lệ phân bổ địa lý khối của Blockchain công
khai. Điều này là do thực tế là, khơng có kiểm sốt truy cập,
các mạng cơng cộng khơng có chính sách kiểm sốt chặt chẽ
đối với việc nhận dạng và chứng nhận của bất kỳ người tham
gia nào [90], và do đó, các giao thức đồng thuận khơng có

liên quan phải xác định tỷ lệ tạo khối để bảo mật. Cụ thể, PoW
và PoX thường được sử dụng trong Blockchain công khai
dưới dạng giao thức đồng thuận, đạt được tỷ lệ tạo khối thấp

hơn so với thuật toán PBFT được sử dụng trong Blockchain
riêng, sẽ được phân tích chi tiết sau trong phần này.
Các dự án Blockchain công khai hiện tại, bao gồm Bitcoin và Ethereum, cũng thể hiện tính mở và các đặc điểm giới
hạn dung lượng. Public Blockchain có thể phù hợp với các
ứng dụng IoT với quyền truy cập mở hoặc các ứng dụng
tương tự linh hoạt ở quy mô lớn, chẳng hạn như VANET và
chuỗi cung ứng.
(2) Blockchain riêng tư: Một loại Blockchain phổ biến
khác là Blockchain riêng tư nằm trong các mạng độc quyền
khép kín với quyền kiểm sốt truy cập nghiêm ngặt và quyền
đọc / ghi, cũng như xác định và chứng nhận người tham gia
[190, 191]. Các Blockchains riêng tư có thể đáp ứng yêu cầu
về quyền riêng tư và ngày càng thu hút sự chú ý từ các tổ chức
tài chính [192]. Các mạng độc quyền, nơi các Blockchains
riêng tư hoạt động, có thể được tối ưu hóa để có tốc độ cao
và độ trễ thấp [193]. Ví dụ, có thể đạt được tốc độ cao lên đến
hàng chục nghìn giao dịch mỗi giây trong các Blockchains
riêng tư [194].
Blockchain riêng tư thông qua các giao thức BFT, tức là
PBFT và khả năng thay đổi của nó, như các giao thức đồng
thuận, cung cấp năng lực cao hơn với kiểm soát truy cập hạn
chế. Sự kiểm soát access được cung cấp bởi Blockchain riêng
tư giúp ngăn chặn các ứng dụng IoT khỏi các đối thủ bên
ngồi [195]. Nói chung, Blockchain riêng phù hợp với các
ứng dụng IoT với quy mô nhỏ của các thợ đào, vì độ phức tạp
truyền thơng cao và chi phí của các giao thức BFT. Khi kích
thước mạng vượt quá 20, dung lượng riêng Blockchain chậm
lại đáng kể [196]
Ngoài các giao thức đồng thuận BFT khác nhau,
Blockchain riêng tư có thể sử dụng các giao thức đồng thuận

hiệu quả khác, ví dụ: Paxos [82] và Raft [197], để phản ứng
với các loại lỗi cụ thể, ví dụ: lỗi crash [76] và lỗi fail-stop
[81].
(3) Blockchain hỗn hợp: Một loại Blockchain khác là
Blockchain hỗn hợp được đề xuất để tận dụng lợi thế quảng
cáo của các Blockchains công cộng và riêng tư, cụ thể hơn là
tỷ lệ tạo khối của Blockchain riêng và khả năng mở rộng của
Blockchain công cộng [193].
Ví dụ, Luu et al. [198, 199] đã phát triển Giao thức đồng
thuận Byzantine có thể mở rộng tính tốn cho các
Blockchains, trong đó năng lực của Blockchain có thể mở
rộng gần như tuyến tính với khả năng đặt chung. Trong thiết
kế này, một mạng không phân bổ quyền hạn được phân chia
thống nhất thành các nhóm nhỏ hơn. Đầu tiên, các đồng
nghiệp trong mạng cần giải câu đố PoW để chứng minh danh
tính của họ và tránh bị Sybil tấn cơng. Sau đó, các đồng
nghiệp được nhóm đồng nhất thành các cam kết dựa trên sức
mạnh tính tốn của họ được tiết lộ thông qua thời gian cần
thiết để giải câu đố PoW. Mỗi ủy ban xử lý một tập hợp các
giao dịch riêng biệt. Sự đồng thuận trong nội bộ ủy ban đạt
được bằng cách sử dụng các giao thức đồng thuận Byzantine
, tức là PBFT. Sự đồng thuận cuối cùng giữa các ủy ban, đạt
được bởi các giao thức đồng thuận Byzantine, được phát trên
mạng. Thiết kế kết hợp này thể hiện khả năng mở rộng mạnh
mẽ đối với các mạng quy mơ lớn, ví dụ: 1600 nút.
Một ví dụ khác gần đây về Blockchain hỗn hợp là
ByzCoin [89] tạo động lực cho các nhóm đồng thuận tương
ứng với sức mạnh băm để thu thập các công cụ khai thác khối



thành cơng gần đây. Cây giao tiếp có thể được triển khai để
tối ưu hóa cam kết giao dịch và xác minh thơng tin trong hoạt
động bình thường.
Nhiều ví dụ khác về Blockchain hỗn hợp bao gồm thuật
toán đồng thuận Byzantine tối ưu khả năng phục hồi mà Crain
et al. [200] được đề xuất cho Blockchain liên hợp không dựa
vào người lãnh đạo, cũng không phải chữ ký hoặc ngẫu nhiên.
Giao thức đồng thuận được đề xuất liên quan đến việc giảm
sự đồng thuận Byzantine đa biến thành sự đồng thuận
Byzantine nhị phân đáp ứng thuộc tính hợp lệ. Thuộc tính ở
chỗ, nếu tất cả các quy trình khơng bị lỗi đều đề xuất cùng
một giá trị thì khơng có giá trị nào khác có thể được quyết
định.
Blockchain lai hấp dẫn đối với các ứng dụng IoT do tính
phức tạp và không đồng nhất của các mạng IoT. Một cấu trúc
Blockchain phân cấp đã được đề xuất cho các ứng dụng nhà
thơng minh, trong đó một Blockchain riêng, được duy trì bởi
các “thợ đào” tháo vát, chạy ở mọi nhà và Blockchain công
cộng chạy trên mạng “thợ đào” [123].
Ba loại Blockchain trên phù hợp với các ứng dụng khác
nhau. Giao thức đồng thuận là cốt lõi để đảm bảo chức năng
của Blockchain. Trong mạng lưới Blockchain, các nút phát
sóng các giao dịch trong toàn bộ mạng và đạt được sự đồng
thuận về các giao dịch được chấp nhận bằng cách tuân theo
giao thức đồng thuận. Giao thức đồng thuận giải quyết hai
vấn đề lớn: Nguyên tắc xác thực dữ liệu đơn vị là gì? và Cấu
trúc của dữ liệu đơn vị trong sổ cái Blockchain là gì?
6.1
Nguyên tắc xác thực dữ liệu đơn vị
6.1.1

Bằng chứng công việc (PoW)
PoW cung cấp một phương tiện thiết thực để đạt được sự
đồng thuận giữa các chuỗi khối được tạo theo kiểu phân tán,
đồng thời ngăn những người tham gia không đáng tin cậy giả
mạo hoặc làm hỏng chuỗi. PoW tạo ra các vấn đề khó thực
hiện nhưng dễ xác minh, ví dụ: sử dụng hàm băm là các hàm
một chiều dễ tính tốn với đầu vào nhất định, nhưng khó lấy
đầu vào từ đầu ra. Lấy ví dụ về Blockchain Bitcoin. Mỗi khối
trong Bitcoin mất khoảng 10 phút để được khai thác trên tồn
bộ mạng. Mặt khác, câu trả lời cho PoW có thể dễ dàng được
xác minh bằng thao tác băm. Bằng cách này, Bitcoin có thể
thực hiện chiến lược một CPU-một phiếu bầu [68] để ngăn
chặn cuộc tấn công Sybil [201] trong đó một thực thể duy
nhất có thể giả vờ là nhiều danh tính trong một quy trình đồng
thuận.

Bitcoin PoW được đặt bởi một mục tiêu toàn cầu ở kỷ
nguyên thứ i, được ký hiệu là Ti, là một số nguyên không dấu
256 bit, như được hiển thị “Mục tiêu” trong Hình 5. Bằng
cách điều chỉnh trường “nonce” 32 bit, băm của tiêu đề khối
hợp lệ, nối tất cả các trường trong tiêu đề, bao gồm phiên bản,
băm tiêu đề khối previ-ous, băm gốc Merkle, thời gian, nBits
và nonce, được minh họa như Hình 6, cần phải bằng hoặc ít
hơn chỉ tiêu [202]. Ti nhỏ hơn là mục tiêu chặt chẽ hơn và
khó có thể tìm thấy kết quả băm bằng hoặc nhỏ hơn Ti nhỏ

thông qua việc điều chỉnh trường “nonce”. Bitcoin sử dụng
SHA-256 [203] làm hàm băm, ánh xạ dữ liệu có kích thước
tùy ý thành 256 bit. Các thợ đào phải thử nhiều giá trị khác
nhau cho trường “nonce” cho đến khi đạt được giá trị băm

hợp lệ. Các thợ mỏ phải tuân theo một loạt các quy tắc hài
hước về giao dịch. Ví dụ: khơng có giao dịch mới nào được
khai thác sẽ xung đột hoặc lặp lại bất kỳ giao dịch nào đã
được khai thác trong các khối và được chấp nhận một cách
công khai. Tuân theo các quy tắc, thợ đào có thể chọn các
giao dịch được khai thác trong các khối mới.

Mục tiêu của PoW trong Bitcoin được điều chỉnh sau mỗi
2016 khối [126] để ổn định tốc độ tạo khối. Các thợ đào phải
tuân theo quy trình gia hạn mục tiêu, nếu không, các khối mới
được khai thác sẽ không được mạng Bitcoin chấp nhận. Ti
mục tiêu cho các khối mới sẽ được khai thác trong kỷ nguyên
thứ i được nén thành 32 bit, ký hiệu là Bi và được lưu trong
trường 32 bit “nBits” trong tiêu đề khối [73]. Việc chuyển đổi
Bi thành Ti mục tiêu được đưa ra bởi
𝑢

𝑇𝑖 = 𝐵𝑖𝑙 × 28×(𝐵𝑖 −3)
𝑙
𝑢
trong đó 𝐵𝑖 là giá trị của 24bit thấp của 𝐵𝑖 và 𝐵𝑖 là giá
trị của 8bit cao của 𝐵𝑖 . Quá trình chuyển đổi được thể hiện
trong Hình 5.
Khó khăn [202] để tạo ra một giá trị băm hợp lệ, đã được
đặc trưng về mặt định lượng bởi tỷ lệ giữa mục tiêu tối đa và
mục tiêu hiện tại, như được đưa ra bởi

𝐷𝑖 =

𝑇𝑚𝑎𝑥

𝑇𝑖

trong đó 𝑇𝑚𝑎𝑥 là mục tiêu tối đa và xấp xỉ là 2256−32, tức
là 2224 . Ví dụ: độ khó của Bitcoin là 678760110082 vào
ngày 12 tháng 6 năm 2017 [127]. Với độ khó nhất định Di,
thời gian trung bình của việc khai thác một khối, ký hiệu là E
(t), có thể được tính gần đúng với
𝐷𝑖 ×232
E(t) =
𝑟
trong đó r là tốc độ băm của công cụ khai thác, tức là số lượng
hoạt động băm có thể được thực hiện mỗi giây.
Khi một khối mới được tạo, nó được gửi đến tồn bộ mạng
bằng cách sử dụng các thuật tốn ngập lụt [204] tức là, mọi
gói tin nhập được gửi qua mọi liên kết gửi đi. Khi một ứng
dụng ngang hàng trong mạng Bitcoin nhận được một khối
mới, nó sẽ kiểm tra xem giá trị “nBits” có khớp với quy trình
gia hạn mục tiêu hay khơng và tính tốn băm của tiêu đề khối
để kiểm tra xem băm của tiêu đề có đáp ứng mục tiêu đã xác
nhận trong “nBits hay không " cánh đồng. Người nhận cũng
kiểm tra nội dung khác của khối để xác nhận [126].
Các đồng nghiệp có thể hợp tác làm việc để loại bỏ xung
đột giữa các bên. Đây được gọi là khai thác gộp [205, 206,


207]. Tuy nhiên, khai thác gộp không thể làm tăng đáng kể tỷ
lệ mở rộng của Blockchain, bởi vì khó khăn trong việc tìm ra
nonce có thể được điều chỉnh động để đáp ứng với tốc độ tạo
khối thay đổi [202]. Hơn nữa, khai thác gộp có xu hướng
chuyển các Blockchain phân tán thành một hệ thống tập

trung. Điều này sẽ gây bất lợi cho khả năng chống giả mạo
của Blockchain. Để ngăn cản các đồng nghiệp làm việc hợp
tác, Miller et al. [208] đề xuất các câu đố cào khơng thể th
ngồi. Mức tối thiểu được gộp chung đạt được dựa trên thực
tế là các thành viên của nhóm khai thác không tin tưởng lẫn
nhau và họ gửi bằng chứng mật mã cho các thành viên nhóm
khác để chứng minh rằng họ góp phần mang lại lợi ích cho
nhóm. Trong khai thác gộp, người sử dụng lao động có thể
thuê thợ đào để khai thác các khối. Người sử dụng lao động
sẽ nhận được phần thưởng từ các khối được khai thác và chia
sẻ phần thưởng với những người khai thác theo các bằng
chứng mật mã của họ. Câu đố khơng thể th ngồi được hủy
ký kết để vơ hiệu hóa mối quan hệ bằng cách cho phép người
khai thác thực sự đánh cắp phần thưởng từ người sử dụng lao
động mà khơng có dấu vết [208].
Nói chung, PoW chỉ được sử dụng để tìm nonce và khơng
đóng góp các dịch vụ hữu ích. Một ngoại lệ là Per-macoin
[209] sử dụng PoW để cung cấp dịch vụ bảo quản dữ liệu.
Permacoin yêu cầu các đồng nghiệp đầu tư dung lượng lưu
trữ để lưu trữ tệp và tài nguyên tính tốn để thực hiện quy
trình chứng minh và cung cấp dịch vụ.
6.1.2
Bằng chứng X
Các đồng nghiệp tham gia cũng có thể được xác thực
thông qua các bằng chứng khác, thay vì tìm kiếm từ khóa, tức
là PoW. Một bằng chứng phổ biến khác là Proof of Stake
(PoS) [88], là một giải pháp thay thế tiết kiệm năng lượng cho
PoW. Thay vì yêu cầu người dùng tìm một số tiền tệ, PoS yêu
cầu các đồng nghiệp chứng minh quyền sở hữu số lượng tiền
tệ với giả định rằng các đồng nghiệp sở hữu nhiều loại tiền tệ

hơn sẽ ít có khả năng tấn cơng tính tồn vẹn của mạng hơn.
Bắt nguồn từ [210], lựa chọn dựa trên số dư tài khoản đã được
phát triển để phê duyệt các khối. Tuy nhiên, sự lựa chọn như
vậy vốn dĩ khơng cơng bằng vì một người tham gia giàu nhất
duy nhất bị ràng buộc phải thống trị mạng lưới.
Proof-of-Activity (PoA) [211] kết hợp PoW và PoS. Đầu
tiên, những người khai thác cố gắng tạo ra các tiêu đề khối
trống, tức là dữ liệu tiêu đề bao gồm băm của khối trước đó,
địa chỉ cơng khai của người khai thác, chỉ mục cho khối và
một nonce, bằng cách giải một câu đố băm như PoW. Sau đó,
các tiêu đề khối trống được phát tới mạng. N các bên liên
quan “may mắn” được chọn để ký vào tiêu đề khối. Bên liên
quan thứ N kết hợp tiêu đề khối trống, đã được (N - 1) các
bên liên quan chấp thuận và các giao dịch thành một khối.
Phần thưởng được chia sẻ giữa N bên liên quan và người khai
thác. Không giống như PoW, các cuộc tấn cơng có hơn 50%
sức mạnh băm trong PoA khơng thể thống trị chuỗi khối hiện
tại hoặc xác định phần mở rộng của chuỗi. Tuy nhiên, PoA
yêu cầu tiêu đề khối trống phải được ký và phát N lần, do đó
làm tăng độ phức tạp của thông tin liên lạc và giảm dung
lượng hệ thống.
Nhiều giải pháp khác cũng đã được đề xuất cùng với quy
mô cổ phần để quyết định cái nào sẽ tạo ra khối tiếp theo. Đặc
biệt, Blackcoin [212] sử dụng ngẫu nhiên để dự đoán máy tạo
tiếp theo và Peercoin ủng hộ lựa chọn dựa trên độ tuổi của
đồng xu [88]. So với PoW, PoS tiết kiệm năng lượng hơn.
Thật khơng may, kể từ chi phí của các khối khai thác trong

PoS thấp và gần như bằng khơng, PoS dễ bị tấn cơng, ví dụ:
tấn cơng tầm xa, tấn công vô tội vạ, tấn công phân phối ban

đầu, tấn cơng cơ dâu, tấn cơng tích lũy tuổi xu và tấn cơng
tiền máy tính [213]. Ví dụ: kẻ tấn cơng có đủ tiền đặt cược có
thể cố gắng ghi đè lên Blockchain khỏi một số khối tồn tại.
Ngay cả những đối thủ có một số ít cổ phần trong Blockchain
dựa trên PoS cũng có thể tạo ra một Blockchain thay thế hợp
lệ bắt đầu từ khối gốc (hoặc bất kỳ khối nào cũ kỹ), được gọi
là cuộc tấn công tầm xa. Các nút mới tham gia vào mạng lưới
Blockchain không thể phân biệt một cách đáng tin cậy
Blockchain thực tế và Blockchain gốc thay thế. Ngược lại,
các cuộc tấn công như vậy được tạo ra trước bởi lượng sức
mạnh tính tốn khổng lồ / thời gian cần thiết để tái tạo lại
Blockchain trong PoW.
Các phương pháp tiếp cận PoX được đề xuất khác được
sử dụng trong Blockchain công cộng bao gồm Proof-ofDeposit (PoD) [214], Proof-of-Burn (PoB) [215], Proof of
Elapsed Time (PoET) [216]. Trong PoD, việc tham gia khai
thác yêu cầu phải gửi tiền vào tài khoản trái phiếu có khóa
thời gian, trong đó khơng thể chuyển tiền. Mỗi người khai
thác có quyền biểu quyết tương ứng với số tiền bị khóa. Một
khối hợp lệ, miễn là nó nhận được 2/3 tổng số quyền biểu
quyết. Quy trình bỏ phiếu tương tự như PBFT và là một giao
thức đồng thuận dựa trên vịng trịn. Q trình bỏ phiếu bao
gồm ba bước: Đề xuất, Bỏ phiếu trước và Cam kết trước. Sau
khi một người ngang hàng đã nhận được hơn 2/3 lần cam kết
trước, nó sẽ tiếp tục mở rộng chuỗi của mình. PoD có thể phá
hủy các đồng tiền ngoại quan của một người tham gia ký kết
các giao dịch xung đột, để tránh bị tấn công chi tiêu kép [214].
Trong PoB, một người khai thác gửi tiền đến một địa chỉ
không thể sử dụng được, tức là đốt tiền, để khai thác các khối.
Các đồng tiền, từ các địa chỉ khơng thể chi tiêu, có thể được
chia sẻ giữa các thợ mỏ khai thác các khối làm phần thưởng.

Tuy nhiên, việc đốt tiền là khơng thể kiểm sốt được và tổng
số tiền có thể giảm [215]. Do Intel đóng góp, Sawtooth sử
dụng PoET [216] làm giao thức đồng thuận. Trong PoET, mỗi
nút được cung cấp một thời gian ngẫu nhiên đáng tin cậy. Sau
khi hết thời gian, nút tương ứng có thể tạo ra một khối. PoET
dựa trên nền tảng tin cậy của Intel Software Guard Extensions (SGX) [217].
6.1.3
PBFT
Byzantine Fault Tolerance (BFT) [76] thường được sử
dụng trong Blockchain riêng để xây dựng các giao thức đồng
thuận và đảm bảo tính nhất quán bằng cách khai thác các giải
pháp cho các Vấn đề của Byzantine Generals - các vấn đề về
thỏa thuận, như được mô tả trong Phần 4.2. Đặc biệt, thuật
toán PBFT [18] đã được sử dụng rộng rãi để loại bỏ các lỗi
Byzantine. Năm 1999, Castro và Liskov đề xuất thuật toán
bản sao máy trạng thái, chịu lỗi Byzantine đầu tiên, được đặt
tên là “Byzantine Fault Tolerance (PBFT)” [18], tạo ra một
giao tiếp qua đầu O (n 2) trong một mạng gồm n đồng nghiệp.
Là một thuật toán BFT dựa trên người dẫn đầu, PBFT có một
bản sao lưu chính và (n - 1) trong một mạng n nút, nơi các
bản sao lưu có thể bị phá vỡ. Chính chịu trách nhiệm nhận lại
nhiệm vụ từ các máy khách và khởi tạo thuật toán. Lấy cảm
hứng từ Viewstamped Replication [218] và được minh họa
trong Hình 7, PBFT bao gồm bốn giai đoạn: (a) một máy
khách gửi một yêu cầu để gọi một hoạt động dịch vụ đến
chính; (b) đa tuyến chính hoạt động cho các bản sao lưu; cụ
thể, chính (bản sao 0) chỉ định số thứ tự cho yêu cầu thứ m từ
khách hàng và phát đa hướng một thông báo CHUẨN BỊ



TRƯỚC với nhiệm vụ; (c) bản sao thực hiện yêu cầu và trả
lời khách hàng; Nếu một bản sao lưu đồng ý về việc gán, tức
là các tham số chính xác và được xác thực, nó sẽ gửi một
thơng báo PREPARE. Khi một bản sao lưu gửi lại các tin
nhắn đồng ý về việc chuyển nhượng từ một quo-rum, tức là,
2f các tin nhắn PREPARE đã được xác thực và nhất quán từ
các bản sao lưu khác nhau, nó sẽ gửi một tin nhắn COMMIT.
Một bản sao lưu thực hiện yêu cầu m và gửi trả lời cho máy
khách sau khi nhận được 2f thông điệp COM MIT đã được
xác thực và nhất quán; và (d) khách hàng đợi (f + 1) trả lời từ
các bản sao khác nhau với cùng một kết quả, đó là kết quả
của hoạt động chịu được tối đa f lỗi

Thuật tốn PBFT có khả năng phục hồi. Người ta đã
chứng minh rằng thuật toán PBFT có thể đảm bảo n đồng
nghiệp trong một mạng đồng bộ và đáng tin cậy đạt được sự
đồng thuận, miễn là khơng có nhiều hơn

𝑛−1
3

đồng nghiệp bị

phản bội [76]. Đặc biệt, thuật toán chỉ yêu cầu n ≥ 3f + 1 bản
sao để dung nạp tối đa f bản sao bị lỗi và đảm bảo đầu ra
khơng có lỗi cho máy khách [219]. Điều này là bởi vì (3f+1)
PREPARE thơng báo tại bất kỳ nút dự phịng nào, bao gồm
cả nút dự phịng của chính nó, là đủ ở giai đoạn thứ hai để có
một bản sao lưu đáng tin cậy, không bị gián đoạn để tạo ra
một trung gian COMMIT chính hãng. Cả hai giai đoạn thứ ba

và thứ tư đều có thể đảm bảo các câu trả lời nhất quán nhận
được để nhiều hơn số câu trả lời bị lỗi ở bất kỳ bản sao lưu
nào và khách hàng.
Thuật tốn PBFT hiệu quả và có thể xử lý hàng nghìn yêu
cầu mỗi giây với độ trễ xử lý tính bằng mili giây [220]. Tuy
nhiên, ngồi chi phí O (𝑛2 ), PBFT cũng yêu cầu tất cả các
nút tham gia phải được xác định, chứng nhận và ủy quyền đầy
đủ. Vì những lý do này, thuật tốn PBFT phù hợp với
Blockchain pri-vate ở quy mô tương đối nhỏ và có thể kiểm
sốt được. Thuật tốn PBFT rất dễ bị phân vùng trong các
cơng trình mạng. Một phân vùng khơng thể mở rộng chuỗi
của chính nó trừ khi số lượng các nút đáng tin cậy trong phân
𝑛−1
]
3

vùng, được ký hiệu là npb, đáp ứng 𝑛𝑝𝑏 ≥ n – [

; với n

là tổng số nút trong mạng. Điều này là do PBFT có thể chịu
𝑛−1

đựng tối đa [
] bản sao bị lỗi trong tổng số n bản sao
3
[18].
6.1.4
Sự biến đổi của PBFT
Miller và cộng sự. [221] đã phát triển một pro-tocol BFT

khơng đồng bộ, có tên là “HoneyBadgerBFT”, có thể đảm
bảo tính khả dụng trong trường hợp khơng có đồng bộ hóa
thời gian. Hon-eyBadgerBFT giảm bớt giao thức quảng bá
nguyên tử [222] cho một tập hợp con chung không đồng bộ
(ACS) mang lại hiệu quả tốt hơn. Nguyên thủy ACS cho phép
mỗi nút đề xuất một giá trị và đảm bảo rằng mọi nút đều xuất
ra một vectơ chung chứa các giá trị đầu vào của ít nhất (n 2f) nút đúng trong mạng gồm n đồng nghiệp có f lỗi.

HoneyBadgerBFT u cầu chi phí truyền thơng O (n) trong
một mạng gồm n đồng nghiệp. Do đó, HoneyBadgerBFT có
thể hỗ trợ các ứng dụng mạng lớn và đạt được hơn 1.500 giao
dịch mỗi giây trong mạng 104 đồng nghiệp.
Một dự án quốc tế gần đây về Blockchain, có tên là
Hyperledger, tập trung vào các kỹ thuật Blockchain thực tế
và triển khai các thuật toán BFT trong Blockchain [223].
Hyperledger là một nỗ lực hợp tác mã nguồn mở được tạo ra
để thúc đẩy các ứng dụng Blockchain đa ngành. Được tổ chức
bởi Linux Foundation, dự án có sự tham gia của các tổ chức
hàng đầu trong lĩnh vực tài chính, ngân hàng, IoT, chuỗi cung
ứng, sản xuất và công nghệ. Hyperledger chứa một loạt các
dự án Blockchain độc lập, ví dụ: Fabric [120], Burrow [224],
Iroha [225] và Sawtooth [226].
Fabric là dự án hàng đầu do Digital As-set và IBM đóng
góp. Fabric có kiến trúc mơ-đun và các mơ-đun tải siêu cổng
động, ví dụ: pro-tocol đồng thuận và các dịch vụ thành viên.
Fabric sử dụng PBFT làm giao thức đồng thuận mặc định của
nó. Để giữ cho Fabric có thể lập trình, các hợp đồng thông
minh được thiết kế đặc biệt để được lưu trữ bởi các công nghệ
kết nối, được đặt tên là “chaincode”. Burrow là một phần mở
rộng của Ethereum và tập trung vào dịch vụ hợp đồng thông

minh được cấp phép. Nó sử dụng Tendermint [214], một phần
mềm trung gian loại BFT cho Blockchain, làm giao thức đồng
thuận. Iroha nhằm mục đích cung cấp các thành phần C ++
được đóng gói cho các dự án khác. Iroha cũng áp dụng PBFT
làm giao thức đồng thuận của nó.
Cấu trúc của dữ liệu đơn vị
Cấu trúc chỉ định cách dữ liệu đơn vị được lưu trữ và cách
quyết định sổ cái chính. Nó đề cập đến trường hợp có nhiều
hơn một sổ cái tồn tại cùng một lúc trong một mạng phân tán.
Nếu tất cả các sổ cái khác nhau đều được chấp nhận, mạng
lưới Blockchain sẽ tăng thêm dung lượng nhưng cũng có
nguy cơ tăng gấp đơi chi tiêu. Tấn công chi tiêu gấp đôi đề
cập đến lỗi một đồng xu được chi tiêu thành công nhiều hơn
một lần [68]. Trong trường hợp chung, tấn công chi tiêu gấp
đôi dẫn đến các bản ghi mâu thuẫn trong một hệ thống phân
tán. Blockchain chỉ có thể đảm bảo rằng tất cả các bản ghi
đều nhất quán ở cuối. Trước khi cuối cùng được chấp nhận,
các bản ghi có thể được tạm thời ghi lại và sau đó bị loại bỏ.
Điều này làm cho cuộc tấn cơng chi tiêu gấp đơi có thể xảy
ra.
6.2.1
Khối chuỗi
6.2

Trong một chuỗi khối có cấu trúc dữ liệu chuỗi, chẳng hạn
như Bitcoin, cuối cùng chỉ có một chuỗi duy nhất có thể được
chấp nhận trên tồn hệ thống và chuỗi được đặt tên là chuỗi
chính [88]. Mỗi khối chứa một băm mật mã của tiêu đề khối
trước đó, sử dụng thuật tốn băm SHA-256, liên kết khối hiện
tại với khối trước đó, như thể hiện trong Hình 1. Điều này

ngăn chặn việc giả mạo Blockchain. Có thể các chuỗi được
duy trì tại các phần khác nhau của mạng khơng nhất qn, do
tầm nhìn hạn chế của từng phần trên phần cịn lại của mạng;
hay nói cách khác, phân vùng mạng có thể thịnh hành trong
các mạng IoT trong tương lai. Để giải quyết vấn đề này,
Bitcoin sử dụng quy tắc sim-ple trong đó có hệ thống chỉ lấy
chuỗi dài nhất làm chuỗi chính và loại bỏ phần còn lại [68].
Để triển khai thực tế, một đồng đẳng trong Blockchain sẽ
chuyển sang Blockchain dài hơn nếu nó nhìn thấy hoặc giữ
lại Blockchain của chính nó.


Dựa trên việc các khối có bị loại bỏ sau khi các chuỗi
chính cục bộ được đồng bộ hóa cho các bản ghi nhất quán hay
không [32], hai loại không nhất quán khác nhau có thể được
xác định như trong Hình 8.
Loại khơng nhất qn đầu tiên giải thích rằng chỉ một
phân vùng đã khai thác một hoặc nhiều khối kể từ Blockchain
liên kết cuối cùng. Các phân vùng khác đạt được sự đồng
thuận bằng cách chấp nhận các khối mới. Khơng có khối nào
bị bỏ trong q trình đồng bộ hóa [73]; xem Hình 8 (b)
Loại tài khoản khơng nhất quán thứ hai có nhiều hơn một
phân vùng gắn thêm các khối từ trạng thái nhất quán cuối
cùng. Chỉ còn lại chuỗi dài nhất, trong khi tất cả các oth-ers
đều được gọi lại. Các khối bị thu hồi được đặt tên là các khối
cũ [227]; xem Hình 8 (c).
Rõ ràng, một người khai thác có thể giải quyết loại bất
khả kháng đầu tiên bằng cách chấp nhận các khối mới nhất.
Trong trường hợp loại thứ hai không nhất quán, người khai
thác cần phải loại bỏ một phần các khối của chính nó và

chuyển sang chuỗi chính dài hơn.
Loại thứ hai của sự không nhất quán dẫn đến việc mất các
giao dịch trong các khối cũ. Tuy nhiên, rủi ro mất hành động
chuyển đổi thấp vì hai lý do. Lý do đầu tiên là, các giao dịch
trong một khối cũ có thể nằm trong một khối được chấp nhận,
bởi vì các giao dịch hiển thị với nhiều phần của mạng và có
thể được quan sát trong các khối khác nhau và được khai thác
ở các nút khác nhau. Lý do thứ hai là, nếu một giao dịch bị
loại bỏ với khối cũ, hành động chuyển đổi trở lại trạng thái
của một giao dịch chưa được xác nhận và chờ được đưa vào
một khối mới khác.
Một cuộc tấn công chi tiêu gấp đơi có thể được trải qua,
khi các giao dịch / khối mâu thuẫn nhau tồn tại trong phân
vùng khác nhau loại thứ hai của sự không nhất quán. Bitcoin
khuyến nghị những người nhận tiền xu nên đợi sáu xác nhận
khối [68], để ngăn chặn các cuộc tấn công chi tiêu gấp đôi.
Việc chi tiêu gấp đôi cũng xảy ra trong chuỗi khối bằng cách
tận dụng các giao thức đồng thuận. Tấn công 51% [94] PoW
cho kỳ thi. Nếu một nút mạnh nắm giữ hơn 50% tài ngun
tính tốn của cơng việc mạng, kẻ tấn cơng mạnh có thể để tạo
khối quá nhanh và chiếm quyền điều khiển chuỗi chính mang
lại quy tắc chuỗi dài nhất. Kết quả là kẻ tấn cơng có thể thống
trị chuỗi có độ dài tùy ý. Đến tháng 7 năm 2018, tốc độ băm
của mạng là khoảng 4 × 1019 băm mỗi giây [127] và cuộc tấn
công 51% gần như không thể xảy ra. Hơn nữa, Bitcoin giới
hạn tốc độ tạo khối là một khối mỗi mười phút, để giảm thiểu
sự không nhất quán. Điều này đã đạt được bằng cách điều
chỉnh độ khó của PoW như được mơ tả trước đó trong phần
này.


6.2.2

DAG

Các giải pháp khác cho sự đồng thuận khai thác thực tế là
một số khối bị bỏ rơi, được khai thác theo giao thức đồng
thuận nhưng bị loại trừ khỏi chuỗi chính vì các nhánh, có thể
được sử dụng để cải thiện năng lực. Điều này có thể đạt được
bằng cách điều chỉnh cấu trúc dữ liệu. Một trong những giao
thức đồng thuận, có tên Tangle [228], sử dụng Đồ thị vịng có
hướng (DAG) để tổ chức các khối, thay vì chuỗi, trong đó
DAG là một đồ thị có hướng hữu hạn khơng có chu trình có
hướng. Trong Tangle, một hành động chuyển đổi phải chấp
thuận (trỏ đến) hai giao dịch trước đó. Cuối cùng, một trong
những hồ sơ xung đột có thể giành chiến thắng trong cuộc thi
phê duyệt và được chấp nhận. Không giống như bản sao đơn
trong cấu trúc chuỗi, Tangle không làm rơi các chuyển tử
xung đột và giữ chúng ở các nhánh khác nhau của DAG. Cấu
trúc DAG có thể đạt được dung lượng tốt hơn.
6.2.3
GHOST
Một giao thức khác, có tên là Greedy Heaviest-Observed
Sub-Tree (GHOST), sắp xếp các khối trong cấu trúc cây [229,
230]. Nó lấy đường dẫn từ khối genesis, khối đầu tiên trong
Blockchain, cho cây con nặng nhất trong đó có số khối tối đa;
chứa số lượng tính tốn nặng nhất là chuỗi chính được chấp
nhận cơng khai. GHOST có thể tăng tốc độ tạo ra khối từ
khoảng 10 phút mỗi khối bằng Bitcoin đến 12 giây mỗi khối
trong Ethereum [231, 114]. Kết quả là năng lực của
Blockchain có thể được cải thiện.

6.2.4
Kết cấu hỗn hợp
Bitcoin-NG (Thế hệ tiếp theo) [232] là một giao thức
chuỗi khối cơng khai, có nhiệm vụ tạo ra các khối mạnh mẽ
về tính tốn để tăng tốc xác nhận giao dịch. Bitcoin-NG tách


các hoạt động của chuỗi khối Bitcoin thành hai giai đoạn lựa
chọn đứng đầu và tuần tự hóa giao dịch. Sự lựa chọn đứng
đầu dựa trên tốc độ giải quyết vấn đề địi hỏi tính tốn câu hỏi
như PoW. Người đứng đầu được lựa chọn được ghi vào các
khối chính. Người đứng đầu có trách nhiệm nối tiếp giao dịch
bằng cách tạo microblocks. Một microblock có chứa các giao
dịch và một tiêu đề đề cập đến khối. Microblock không chứa
nonce và do đó có thể được tạo theo một tỷ lệ được xác định
trước, có thể cao hơn nhiều so với tỷ lệ tạo ra các khối chính.
Các khối chính và khối nhỏ được liên kết với nhau như
Bitcoin, được hiển thị trong Hình 9. Mỗi khối có một tiêu đề
chứa tham chiếu duy nhất của người tiền nhiệm của nó.

Hình 9: Cấu trúc của chuỗi Bitcoin-NG. Microblocks (hình
trịn) được ký bằng khóa riêng phù hợp với khóa cơng khai
trong khối phím cuối cùng (hình vng). Tỉ lệ được chia
40% cho người đứng đầu và 60% cho người tiếp theo [232].
So sánh Blockchain cho ứng dụng IoT
Bản tóm tắt so sánh về cơng nghệ Blockchain hiện có cho
ứng dụng IoT được cung cấp trong Bảng 1 nhấn mạnh vào
tính phù hợp của chúng đối với mạng IoT. Tất cả các thiết bị
IoT có thể sử dụng các dịch vụ Blockchain. Tài ngun thiết
bị IoT có khả năng tính tốn mạnh mẽ bền bỉ, cung cấp điện,

đủ bộ nhớ và kết nối mạng tốc độ cao, chẳng hạn như xe cộ
[16], có thể là miners hoặc full node trong Blockchains. Các
thiết bị IoT với khả năng tính tốn ít hơn, ví dụ: TV thơng
minh, có thể light node trong Blockchain và nhận các dịch vụ
Blockchain thông qua full nodes hoặc mines. Các thiết bị IoT
với khả năng lưu trữ, tính tốn và giao tiếp hạn chế, có thể
tương tác với các chức năng cốt lõi của Blockchain thông qua
các tác nhân (ví dụ: full nodes) [121], như đã thảo luận trong
Phần IV-C. Các giao thức đồng thuận là các chức năng cốt lõi
quyết định hiệu suất của các ứng dụng IoT dựa trên
Blockchain, chẳng hạn như tỷ lệ khối, tính nhất quán, khả
năng mở rộng và bảo mật. PoW dựa trên các giao thức đồng
thuận được cho là an toàn nhất trong các mạng mở [234]. Tuy
nhiên, PoW loại bỏ tiềm năng khai thác khối trên các thiết bị
IoT do yêu cầu tính tốn lớn. PoS dựa trên các giao thức đồng
thuận có thể làm giảm đáng kể mức tiêu thụ năng lượng so
với PoW. PoS tạo cơ hội cho các thiết bị IoT tham gia khai
thác khối. Tuy nhiên, tỉ lệ tạo khối của mỗi PoW và PoS dựa
trên giao thức đồng thuận bị giới hạn. Các giao thức đồng
thuận dựa trên PBFT cho Blockchains riêng tư có thể phục vụ
các hệ thống IoT với tỷ lệ tạo khối cao nhưng mang lại những
hạn chế về số lượng miner có thể tham gia [86]. Bên cạnh các
giao thức đồng thuận, ví dụ: PoW, PoS và PBFT, dung lượng
và khả năng mở rộng cũng dựa vào mơi trường đang chạy và
hình ảnh, chẳng hạn như tốc độ mạng và kích thước khối. Các
ký tự “-”, “*” và “#” biểu thị các nguồn của dữ liệu được hiển
thị.
6.3



Tên

Bitcoin [68]

Kiểu

Công khai

Giao thức
đông thuận

PoW+

Năng suất Tỉ lệ

7 tps−

105#

Ứng dụng

Ưu điểm

Khả năng chịu đựng phân vùng Năng lực hạn chế
cao
Chống giả mạo
Độ phức tạp tính tốn cao

Tiền điện tử


Chuỗi dài nhất

Ethereum [233]

Cơng khai

PoW+

Tiền điện tử
12 giây/khối∗ 105#

GHOST

Nhược điểm

Có thể lập trình

Hợp đồng thơng minh

Độ phức tạp tính tốn cao

Khả năng chịu đựng phân
vùng cao

Nền tảng chuỗi khối

Công suất cao
IOTA [23]

Công khai


PoW+
>800 tps



103∗

Nền tảng chuối khối IoT
Miễn phí giao

Khơng thể lập trình

TANGLE
dịch
Dung sai phân
vùng

Fabric [120]

Riêng tư

PBFT

105 tps∗

20∗

Hợp đồng thơng minh


Cơng suất cao

Nền tảng chuối khối

Khơng nhánh

Chi phí giao tiếp cao

Kiến trúc mô-đun

Khả năng mở rộng hạn chế

Dung sai phân vùng thấp

Trung tâm xác thực bắt buộc
Burrow [224]

Riêng tư

Tendermint

105 tps∗

tens∗

Sawtooth [226]

Công khai

PoET


N.A.

Ppcoin [88]

Công khai

PoS

Bitcoin-NG
[232]

Công khai

SCOIN [198]
Slimcoin [215]

Hỗ trợ hợp đồng thông minh

Trung tâm xác thực bắt buộc

N.A. Nền tảng chuối khối

Độ phức tạp tính tốn thấp

Chỉ hoạt động với CPU
Intel

0.1 tps#


103#

Độ phức tạp tính tốn thấp

Rủi ro bị tấn cơng từ những
người giàu nhất

PoW

tens tps#

103∗

Độ phức tạp tính tốn thấp

Rủi ro về nhà lãnh đạo xấu

Công khai

SCP

>22 tps∗

80∗

Cơ cấu ủy quyền

Độ phức tạp tính tốn cao

Cơng khai


PoB

N.A.

N.A.

Độ phức tạp tính tốn thấp

Rủi ro mất tiền

Hợp đồng thông minh

Tiền điện tử

Chuỗi khối

Tiền điện tử
Tiền điện tử

• Chỉ số trên “-” cho biết phân tích lý thuyết. Ví dụ, Bitcoin
có giới hạn trên lý thuyết là 7tps cho tỷ lệ giao dịch bị giới
hạn bởi tốc độ tạo khối và kích thước khối.
• Chỉ số trên “*” cho biết kết quả đã được kiểm chứng thực
nghiệm.
• Chỉ số trên “#” cho biết các bản ghi lịch sử. Ví dụ, mạng
Ethereum có hơn 30.000 node trên toàn thế giới vào tháng
6 năm 2017 [235].
Trong số các dự án Blockchain nói trên, Ethereum thích hợp
cho nhiều ứng dụng IoT với số lượng lớn thiết bị IoT và mạng

có cấu trúc khơng đồng nhất. Là một Blockchain công khai,
Ethereum thể hiện khả năng mở rộng mạnh mẽ bằng cách hỗ
trợ khối lượng lớn các thiết bị không đồng nhất. Những hạn
chế chính của Ethereum (Home-ra mắt thay thế vào năm 2016
[236]) cho các ứng dụng IoT là độ phức tạp tính tốn cao và
năng lực hạn chế
Tuy nhiên, Ethereum đang phát triển hiệu quả với các giao
thức đồng thuận PoS trong cột mốc Ethereum Serenity [236],
điều này làm cho Ethereum thân thiện hơn với IoT. Mặt khác,
Fabric được ứng dụng cho các mạng IoT với dữ liệu vơ hạn.
Fabric đã nhúng Blockchain vào mơ hình khách hàng-dịch vụ
và đã đạt được công suất cao, lên đến hàng chục nghìn giao
dịch mỗi giây. Tuy nhiên, Fabric yêu cầu

một mơi trường mạng có thể kiểm sốt và khơng thể truy cập
công khai như Ethereum.
7 HƯỚNG NGHIÊN CỨU TRONG TƯƠNG LAI
Phần này trình bày các hướng trong tương lai trong việc
tối ưu hóa bảo mật, khả năng mở rộng và năng lực của
Blockchain cho các ứng dụng IoT dung lượng lớn quy mô lớn
trong tương lai. Thiết kế của Blockchain cho cáccứng dụng
IoT cũng sẽ thích ứng vớicác thuộc tính cụ thể của mạng IoT,
chẳng hạn như quy mô, phân vùng vốn có kết nối mạng khơng
hồn chỉnh, cấu trúc liên kết không tầm thường, độ trễ lan
truyền khác 0, dữ liệu không đồng nhất và bộ nhớ thiết bị hữu
hạn.
7.1

Sharding
Sharding Blockchain [237] là một cơ chế mới để các giao

dịch có thể được xử lý song song, có nghĩa là tốc độ tạo khối
của Blockchain có thể được cải thiện đáng kể. Các đề xuất
sharding ban đầu, ví dụ, [199], chỉ xử lý giao dịch phân đoạn
khai thác và duy trì một Blockchain cơng khai duy nhất. IoT
được triển khai phổ biến dự kiến sẽ tạo ra một lượng lớn dữ
liệu qua các vùng rộng lớn. Mặt khác, dữ liệu của IoT có thể
thể hiện tính cục bộ và khơng đồng nhất mạnh mẽ và có thể
chỉ hữu ích cho các vùng địa phương. Điều này mang lại một
cơ hội phát triển các Blockchain sharding trong môi trường
IoT. Một chuỗi chính có thể được thiết kế để nắm bắt các sự


kiện tồn cầu ít thường xun hơn được quan tâm trên mạng
lưới IoT, trong khi chuỗi thứ cấp có thể được thiết kế để ghi
lại các sự kiện địa phương thường xuyên chỉ quan tâm đến
các mạng khu vực. Hai bộ Blockchains có thể hoạt động tại
các thời điểm khác nhau. Giá trị băm của các chuỗi thứ cấp
có thể được bảo đảm trong chuỗi chính theo kiểu giao dịch.
Đặc biệt, chuỗi chính ít ghi lại các sự kiện trên tồn cầu có
thể được đồng bộ hóa ở tốc độ thấp hơn đáng kể, do đó giảm
yêu cầu năng lực để đảm bảo tính nhất qn trên quy mơ
mạng lớn. Hai bộ blockchain cần được kết nối với nhau để
đảm bảotính tồn vẹn của tất cả các bản ghi, cả trên toàn cầu
và cục bộ. Với việc nhấn mạnh vào thực hiện, một số hoạt
động nghiên cứu ban đầu đã được báo cáo trong [238].
7.2
Chuỗi bên
Ngoài sự phổ biến của các mạng IoT, một số thiết bị IoT có
thể có khả năng di chuyển trên một phạm vi lớn, chẳng hạn
như những thứ được lắp đặt trên máy bay, xe lửa và tàu thủy

xun lục địa [239]. Tính tồn vẹn của dữ liệu mà các thiết bị
IoT này có thể tạo ra, chẳng hạn như sự xói mịn của máy bay
đều quan trọng như dữ liệu được tạo ra bởi các thiết bị IoT
tĩnh. Tuy nhiên, dữ liệu của các thiết bị IoT có thể được khai
thác trong các khối trong khi cấc thiết bị đó cách xa mạng gia
đình hoặc phân vùng mạng, và được nhúng vào các
Blockchains khác nhau. Sự chuyển dịch các khối hoặc các
phân đoạn liên quan đến các khối liên quan đến mạng gia
đình, điều quan trọng là điều quan trọng để duy trì hồ sơ nhất
quán của các thiết bị du mục, nhưng là một thách thức do bản
chất chống giả mạo của Blockchain. Công nghệ chuỗi bên
[240, 192] cung cấp một giải pháp để chuyển giao tài sản giữa
nhiều Blockchains. Với công nghệ chuỗi bên, các mã thơng
báo có thể được chuyển giao giữa các Blockchains khác nhau
theo cách phi tập trung. Việc chuyển giao tài sản quy trình
tương tự như trao đổi tiền tệ [240]. Tuy nhiên, càng có nhiều
thách thức liên quan đến chuỗi bên giải quyết bao gồm sự gia
tăng của các chuỗi trong mạng lưới và việc ghép các chuỗi
vào chuỗi chính.
Sự đồng thuận dành riêng cho IoT
Các giao thức đồng thuận được thiết kế cụ thể cho các yêu
cầu rất quan trọng để mang lại lợi ích cho các ứng dụng IoTBlockchain tập trung vào dữ liệu. Các giao thức đồng thuận
có thể được thiết kế để đạt được sự đồng thuận về dữ liệu
bằng cách xác thực dữ liệu giao dịch thay vì chỉ cú pháp của
các giao dịch. Lưu ý rằng các cảm biến quan sát có tương
quan cao trong miền khơng gian, do mật độ cao trong cấu trúc
mạng. Hơn nữa, bản chất của hiện tượng vật lý tạo nên mối
tương quan thời gian giữa các quan sát liên tiếp của một nút
cảm biến. Không gian và tương quan thời gian, cùng với bản
chất hợp tác của IoT, nâng cao tiềm năng để phát triển giao

thức đồng thuận hướng nội dung [241]. Tính đúng đắn của dữ
liệu cảm quan có thể được xác thực chéo với dữ liệu cảm quan
từ các nước láng giềng và dữ liệu lịch sử [242].
7.3

Xác minh thanh toán được đơn giản hóa
Nhiệm vụ khai thác khối có thể quá nặng nề và kích thước
dữ liệu Blockchain có thể q lớn, không thể cấy ghép vào
Các thiết bị IoT. Công nghệ xác minh thanh tốn đơn giản
(SPV) [68] giúp bạn có thể xác minh các giao dịch mà không
cần chạy tác vụ khai thác khối và lưu trữ tất cả lịch sử khối.
Các nút Blockchain được cung cấp bởi SPV chỉ cần một
lượng nhỏ tài nguyên và có thể được triển khai trên các thiết
7.4

bị IoT. Trong SPV, một nút chỉ cần giữ tiêu đề chuỗi khối và
một nhánh Merkle liên kết đến giao dịch với xác minh. Mặc
dù nút SPV khơng thể tự xác thực giao dịch, nó có thể kiểm
tra xem Mạng lưới Blockchain đã chấp nhận giao dịch bằng
cách so sánh nhánh Merkle liên kết với giao dịch. Ví dụ, các
nút Ethereum SPV đã được triển khai trên xe đạp thông minh
[143]. Nút ánh sáng là một triển khai SPV trong Ethereum
[118]. Các nút sáng cần tìm nạp dữ liệu Blockchain từ các nút
có tất cả các khối, ví dụ: the Light Ethereum Subprotocol
(LES) trong Ethereum [118].
Blockchain có thể chỉnh sửa
Việc lưu trữ các thiết bị IoT có thể rất hạn chế đối với quy
mô ngày càng lớn của sổ cái Blockchain, như một con số
khổng lồ số lượng thiết bị IoT tiếp tục ghi lại một số lượng
lớn các sự kiện trong dài hạn. Ngay cả trong trường hợp của

Bitcoin ghi lại dữ liệu tài chính, tổng quy mơ của nó đã tăng
lên 149 gigabyte vào tháng 12 năm 2017 kể từ khối genesis
vào năm 2009 [243]. Tuy nhiên, dữ liệu của một số ứng dụng
IoTsẽ vô nghĩa sau một khoảng thời gian khơng đổi. Ví dụ,
hồ sơ về thức ăn là vô nghĩa sau khi thức ăn đó đã được tiêu
thụ. Do đó, dữ liệu đó có thể bị xóa khỏi Blockchain để giảm
dung lượng lưu trữ trên Blockchain. Ngoài ra, các hành động
gian lận và hồ sơ trên IoT Blockchains làm tăng nhu cầu về
công nghệ Blockchain có thể chỉnh sửa mà khơng phá vỡ sự
xác thực của dữ liệu được lưu trữ. Blockchain có thể chỉnh
sửa cho phép xóa hoặc sửa đổi một số khối khi thỏa mãn các
điều kiện cụ thể. "Khả năng chỉnh sửa" hơi trái ngược với "bất
biến” của Blockchain, Blockchain có thể chỉnh sửa được
buộc phải đảm bảo các điều kiện và hồ sơ an toàn cho bất kỳ
hành động chỉnh sửa nào. Hiện tại, các Blockchains có thể
chỉnh sửa đã được thiết kế bằng các thuật toán mật mã, chẳng
hạn như các biến thể của hàm băm tắc kè [244].
7.5

8 KẾT LUẬN
Bài báo này đã khảo sát việc sử dụng Blockchain để giải
quyết vô số mối quan tâm về bảo mật dữ liệu trong IoT. Sự
tác động khổng lồ của các thiết bị IoT, khả năng tính tốn hạn
chế, băng thông truyền thông thấp và các liên kết vô tuyến dễ
xảy ra lỗi trên hiệu suất của Blockchain đã được nghiên cứu.
Các công nghệ Blockchain hiện đại đã được phân tích chi tiết,
sau đó là so sánh các cơng nghệ về khả năng ứng dụng cho
các kịch bản IoT. Hướng nghiên cứu được chỉ ra để cải thiện
năng lực, bảo mật và khả năng mở rộng của các blockchain
để tích hợp hiệu quả trong tương lai của Blockchain và các

công nghệ IoT.
Tài liệu tham khảo
[1]M. Katagi, S. Moriai, Lightweight cryptography for the
internet of things.
[2]B. Fabian, O. Guănther, Security challenges of the
EPCglobal network, Commun. of the ACM 52 (7) (2009)
121–125.
[3]K. Rose, S. Eldridge, L. Chapin, The Internet of Things:
An overview, The Internet Society (2015) 1–50.
[4]R. H. Weber, Internet of Things – New security and
privacy challenges, Comput. Law & Secur. Review 26 (1)


(2010) 23 – 30.
doi: />
consis- tency and capacity, Chinese Journal on Internet of
Things 1 (1) (2017) 21.

[5] Y. Liu, B. Dong, B. Guo, J. Yang, W. Peng,
Combination of cloud computing and internet of things (iot)
in medical mon- itoring systems, Int. J. Hybrid Inform.
Technol. 8 (12) (2015) 367–376.

[16] P. K. Sharma, S. Y. Moon, J. H. Park, Block-vn: A
distributed blockchain based vehicular network architecture
in smart city, J. Inf. Process. Syst. 13 (1) (2017) 184–195.

[6] H. F. Atlam, A. Alenezi, A. Alharthi, R. J. Walters, G.
B. Wills, Integration of cloud computing with internet of
things: Challenges and open issues, in: 2017 Proc. IEEE Int.

Conf. Internet of Things (iThings) and IEEE Green Comput.
Com- mun. (GreenCom) and IEEE Cyber, Physical Social
Comput. (CPSCom) and IEEE Smart Data (SmartData), pp.
670–675. doi:10.1109/iThings-GreenCom-CPSComSmartData.2017.105.
[7] X. Lyu, W. Ni, H. Tian, R. P. Liu, X. Wang, G. B.
Giannakis,
A. Paulraj, Optimal schedule of mobile edge computing for
internet of things using partial information, IEEE Journal on
Selected Areas in Communications 35 (11) (2017) 2606–
2615.
[8] G. Booth, A. Soknacki, A. Somayaji, Cloud security:
Attacks and current defenses, in: Pro. 8th Annu. Symp.
Informat. As- surance (ASIA13), Citeseer, 2013, pp. 4–5.
[9] N. Chidambaram, P. Raj, K. Thenmozhi, R.
Amirtharajan, Enhancing the security of customer data in
cloud environments using a novel digital fingerprinting
technique, Int. J. Digit. Multimedia Broadcast. 2016 (2016)
1.
[10] N. Kshetri, Can blockchain strengthen the internet of
things?, IT Professional 19 (4) (2017) 68–72.

[17] B. Leiding, P. Memarmoshrefi, D. Hogrefe, Selfmanaged and blockchain-based vehicular ad-hoc networks,
in: 2016 Proc. ACM Int. Joint Conf. Pervasive Ubiquitous
Comput. : Ad- junct, New York, NY, USA, pp. 137–140.
[18] M. Castro, B. Liskov, Practical Byzantine fault
tolerance, in: Proc. 3rd Symp. Operating Syst. Des.
Implementation (OSDI’99), New Orleans, USA, 1999.
[19] M. C. K. Khalilov, A. Levi, A survey on anonymity
and privacy in bitcoin-like digital cash systems, IEEE
Commun. Surveys Tut. (2018) 1–

1doi:10.1109/COMST.2018.2818623.
[20] X. Zha, K. Zheng, D. Zhang, Anti-pollution source
location privacy preserving scheme in wireless sensor
networks, in: 2016 13th Annual IEEE International
Conference on Sensing, Communication, and Networking
(SECON), 2016, pp. 1–8.
doi:10.1109/SAHCN.2016.7732970.
[21] G. Zyskind, O. Nathan, A. Pentland, Enigma:
Decentralized computation platform with guaranteed
privacy, arXiv preprint arXiv:1506.03471.
[22] G. Zyskind, O. Nathan, A. S. Pentland,
Decentralizing privacy: Using blockchain to protect
personal data, in: 2015 Proc. IEEE Secur. and Privacy
Workshops (SPW’15), IEEE, pp. 180–184.
[23]

[11] Z. Zheng, S. Xie, H.-N. Dai, H. Wang, Blockchain
challenges and opportunities: A survey, Int. J. Web Grid
Services.
[12] K. Christidis, M. Devetsikiotis, Blockchains and
smart con- tracts for the internet of things, IEEE Access 4
(2016) 2292– 2303.
[13] B. Betts, Blockchain and the promise of cooperative
cloud stor- age (2017-05-22).
URL />[14] A. Dorri, S. S. Kanhere, R. Jurdak, Blockchain in
Internet of Things: Challenges and
SolutionsarXiv:1608.05187.

IOTA, IOTA (Mar. 2017).


URL
[24] B. Panikkar, S. Nair, P. Brody, V. Pureswaran,
ADEPT: An IoT Practitioner Perspective (2014).
URL />cc0b02cf/55f73e5ee4b09b2bff5b2eca/55f73e72e4b09b2bff5
b3267/1442266738638/IBM-ADEPT-PractictionerPerspective-Pre-Publication-Draft-7-Jan2015.pdf?format=original
[25] P. Brody, V. Pureswaran, Device democracy:
Saving the future of the internet of things, IBM, 2014.
URL />en/gbe03620usen/global-business-services-global-businessservices-gb-executive-brief-gbe03620usen- 20171002.pdf

URL />[26]
[15] X. Zha, X. Wang, W. Ni, R. P. Liu, Y. J. Guo, X.
Niu, K. Zheng, Blockchain for iot: the tradeoff between

IBM, Watson Internet of Things (Mar. 2017).

URL />

[27] C. O’Connor, What blockchain means for you, and
the Internet of Things (Feb. 2017).
URL />watson-iot-blockchain/
[28] J. Fedak, How can blockchain improve cloud
computing (2016).
URL />[29] M. Chen, S. Mao, Y. Liu, Big data: A survey,
Mobile Netw. and Appl. 19 (2) (2014) 171–209.
[30] F. Tschorsch, B. Scheuermann, Bitcoin and beyond:
A tech- nical survey on decentralized digital currencies,
IEEE Com- mun. Surveys Tut. 18 (3) (2016) 2084–2123.
doi:10.1109/ COMST.2016.2535718.
[31]


M. Swan, Blockchain, O’Reilly Media, 2015.

[32] A. Lewis, A gentle introduction to blockchain
technology (2015).
URL />[33] M. Crosby, P. Pattanayak, et al., BlockChain
Technology: Be- yond Bitcoin, Applied Innovation 2 (2016)
6–10.
[34] M. Pticek, V. Podobnik, G. Jezic, Beyond the
internet of things: The social networking of machines, Int. J.
Distrib. Sen- sor Netw. 12 (6) (2016) 8178417.
[35] C. Perera, A. Zaslavsky, P. Christen, D.
Georgakopoulos, Con- text aware computing for the internet
of things: A survey, IEEE Commun. Surveys Tut. 16 (1)
(2014) 414–454.
[36] L. D. Xu, W. He, S. Li, Internet of things in
industries: A survey, IEEE Trans. Ind. Informat. 10 (4)
(2014) 2233–2243.
[37] A. Al-Fuqaha, M. Guizani, M. Mohammadi, M.
Aledhari,
M. Ayyash, Internet of things: A survey on enabling technologies, protocols, and applications, IEEE Commun.
Surveys Tut. 17 (4) (2015) 2347–2376.
[38] L. Atzori, A. Iera, G. Morabito, The internet of
things: A survey, Comput. Netw. 54 (15) (2010) 2787 –
2805.
[39]
Niu,

K. Zheng, The impact of link duration on the integrity of
dis- tributed mobile networks, IEEE Trans. Inf. Forensics
Secur. 13 (9) (2018) 2240–2255.

[40] Q. Cui, Y. Wang, K. Chen, W. Ni, I. Lin, X. Tao,
P. Zhang, Big data analytics and network calculus enabling
intelligent management of autonomous vehicles in a smart
city, IEEE Internet of Things Journal (2018) 1–1.
[41] P. Sethi, S. R. Sarangi, Internet of things:
Architectures, pro- tocols, and applications, J. Elect.
Comput. Eng.
[42] J. S. Lee, Y. W. Su, C. C. Shen, A comparative study
of wire- less protocols: Bluetooth, uwb, zigbee, and wi-fi,
in: Proc. 33rd Annu. Conf. the IEEE Ind. Elect. Soc.
(IECON’07), 2007, pp. 46–51.
[43] R. Ratasuk, B. Vejlgaard, N. Mangalvedhe, A.
Ghosh, NB-IoT system for M2M communication, in: 2016
Proc. IEEE Wireless Commun. and Netw. Conf. Workshops
(WCNCW’ 16), pp. 1– 5.
[44] Internet of Things (IoT) connected devices installed
base worldwide from 2015 to 2025 (in billions) (Dec, 2016).
URL />[45] O. Vermesan, P. Friess, P. Guillemin, et al., Internet
of things strategic research roadmap, Internet of ThingsGlobal Techno- logical and Societal Trends 1 (2011) (2011)
9–52.
[46] C. Ren, X. Lyu, W. Ni, H. Tian, R. P. Liu,
Distributed online learning of fog computing under nonuniform device cardinal- ity, IEEE Internet of Things
Journal (2018) 1–1.
[47]C.-W. Tsai, C.-F. Lai, M.-C. Chiang, L. T. Yang, et al.,
Data mining for internet of things: A survey., IEEE
Commun. Sur- veys Tut. 16 (1) (2014) 77–97.
[48]X. Zha, W. Ni, K. Zheng, R. P. Liu, X. Niu,
Collaborative authentication in decentralized dense mobile
networks with key predistribution, IEEE Trans. Inf.
Forensics Secur. PP (99) (2017) 1–1.

doi:10.1109/TIFS.2017.2705584.
[49]I. Makhdoom, M. Abolhasan, J. Lipman, R. P. Liu, W.
Ni, Anatomy of threats to the internet of things, IEEE
Commu- nications Surveys Tutorials (2018) 1–1.
[50]G. Gan, Z. Lu, J. Jiang, Internet of things security
analysis, in: 2011 Int. Conf. Internet Technol. and Appl.,
2011, pp. 1–4.

X. Zha, W. Ni, X. Wang, R. P. Liu, Y. J. Guo, X.
[51]E. Alsaadi, A. Tubaishat, Internet of things: features,
chal- lenges, and vulnerabilities, Int. J. Advanced Comput.
Sci. Inf. Technol. 4 (1) (2015) 1–13.


[52]X. Liu, M. Zhao, S. Li, F. Zhang, W. Trappe, A security
frame- work for the internet of things in the future internet
architec- ture, Future Internet 9 (3).

Internet Serv. in Ubiquitous Comput. (IMIS’15), 2015, pp.
306–312.

[53]R. Roman, P. Najera, J. Lopez, Securing the internet of
things, Comput. 44 (9) (2011) 51–58.

[66]C. Wang, Q. Wang, K. Ren, W. Lou, Privacy-preserving
pub- lic auditing for data storage security in cloud
computing, in: Proc. 29th Annu. IEEE Int. Conf. Comput.
Commun. (INFO- COM’10), 2010, pp. 1–9.

[54]J. Lin, W. Yu, N. Zhang, X. Yang, H. Zhang, W. Zhao,

A sur- vey on internet of things: Architecture, enabling
technologies, security and privacy, and applications, IEEE
Internet Things J. 4 (5) (2017) 1125–1142.

[67]S. Davidson, P. De Filippi, J. Potts, Economics of
Blockchain.

[55]R. Xu, R. Wang, Z. Guan, L. Wu, J. Wu, X. Du,
Achieving efficient detection against false data injection
attacks in smart grid, IEEE Access 5 (2017) 13787–13798.
[56]K. Mehta, D. Liu, M. Wright, Protecting location
privacy in sensor networks against a global eavesdropper,
IEEE Trans. Mobile Comput. 11 (2) (2012) 320–336.

URL papers.cfm?abstract
id=2744751
[68]S. Nakamoto, Bitcoin: A peer-to-peer electronic cash
system (2008).
URL />[69]Bitcoin (2017-05-20).

[57]N. Namvar, W. Saad, N. Bahadori, B. Kelley, Jamming
in the internet of things: A game-theoretic perspective, in:
2016 IEEE Global Commun. Conf. (GLOBECOM), 2016,
pp. 1–6.
[58]K. Zhang, X. Liang, R. Lu, X. Shen, Sybil attacks and
their defenses in the internet of things, IEEE Internet Things
J. 1 (5) (2014) 372–383.
[59]A. Mosenia, N. K. Jha, A comprehensive study of
security of internet-of-things, IEEE Trans. Emerg. Topics
Comput. 5 (4) (2017) 586–602.


URL />[70]A. Miller, J. Litton, A. Pachulski, et al., Discovering
Bitcoin’s public topology and influential nodes.
URL />miller2015topology.pdf
[71]How do bitcoin transactions work? (2015-03-20).
URL />
[60]J. S. Perry, Anatomy of an IoT malware attack (Oct,
2017).

[72]O. Wyman, Blockchain in capital markets (2016).

URL />
URL />
[61]X. Wang, W. Ni, K. Zheng, R. P. Liu, X. Niu, Virus
propa- gation modeling and convergence analysis in largescale net- works, IEEE Transactions on Information
Forensics and Secu- rity 11 (10) (2016) 2241–2254.

Markets.pdf
[73]Bitcoin developer guide (2017).
URL />
[62]X. Wang, K. Zheng, X. Niu, B. Wu, C. Wu, Detection
of com- mand and control in advanced persistent threat
based on in- dependent access, in: Proc. 2016 IEEE Int.
Conf. Commun. (ICC’ 16), 2016, pp. 1–6.
[63]J. E. Boritz, Is practitioners’ views on core concepts of
infor- mation integrity, Int. J. Accounting Inf. Syst. 6 (4)
(2005) 260– 279.
[64]A. Fongen, Identity management and integrity
protection in the internet of things, in: Proc. 3rd Int. Conf.
Emerg. Secur. Technol. (EST12), 2012, pp. 111114.

[65]H. C. Păohls, Json sensor signatures (jss): End-to-end
integrity protection from constrained device to iot
application, in: Proc. 9th Int. Conf. Innovative Mobile

[74]R. C. Merkle, Protocols for public key cryptosystems,
in: Proc. 1st IEEE Symp. Secur. Privacy (SP’ 80), 1980, pp.
122–122. doi:10.1109/SP.1980.10006.
[75]D. Ghosh, How the byzantine general sacked the castle:
A look into blockchain (2016-04-06).
URL />[76]L. Lamport, R. Shostak, M. Pease, The Byzantine
generals problem, ACM Trans. Programming Languages
and Syst. 4 (3) (1982) 382–401.


[77]S. Poledna, Fault-tolerant real-time systems: The
problem of replica determinism, Vol. 345, Springer Sci. &
Business Media, 2007.

[91]M. Conti, C. Lal, S. Ruj, et al., A survey on security
and privacy issues of bitcoin, arXiv preprint
arXiv:1706.00916.

[78]D. Dolev, H. R. Strong, Authenticated algorithms for
Byzan- tine agreement, SIAM J. on Comput. 12 (4) (1983)
656–666. [79]F. Cristian, H. Aghili, R. Strong, D. Dolev,
Atomic broadcast:

[92]G. O. Karame, E. Androulaki, S. Capkun, Doublespending

From simple message diffusion to Byzantine agreement,

Inf. Comput. 118 (1) (1995) 158 – 179.

fast payments in bitcoin, in: Proc. 19th ACM Conf. Comput.
Commun. Secur. (CCS’12), ACM, 2012, pp. 906–917.

[80]K. J. Perry, S. Toueg, Distributed agreement in the
presence of processor and communication faults, IEEE
Trans. Softw. Eng. SE-12 (3) (1986) 477–482.

[93]H. Finney, Best practice for fast transaction acceptancehow high is the risk (2011).
URL />
[81]R. D. Schlichting, F. B. Schneider, Fail-stop processors:
an approach to designing fault-tolerant computing systems,
ACM Trans. Comput. Syst. 1 (3) (1983) 222–238.
[82]L. Lamport, The part-time parliament, ACM Trans.
Comput. Syst. 16 (2) (1998) 133–169.
[83]A. Most´efaoui, S. Rajsbaum, M. Raynal, A versatile
and mod- ular consensus protocol, IRISA, 2001.
[84]B. Charron-Bost, A. Schiper, The heard-of model:
computing in distributed systems with benign faults, Distrib.
Comput. 22 (1) (2009) 49–71.
[85]M. Pease, R. Shostak, L. Lamport, Reaching agreement
in the presence of faults, J. ACM 27 (2) (1980) 228–234.
[86]M. Fitzi, U. Maurer, Efficient byzantine agreement
secure against general adversaries, Distrib. Comput. (1998)
134–148.

[94]M. Bastiaan, Preventing the 51%-attack: a stochastic
analysis of two phase proof of work in bitcoin (2015).
URL />7473/preventingthe-51-attack-a-stochastic-analysis- of-twophase-proof-of-work-in-bitcoin.pdf

[95]I. Eyal, E. G. Sirer, Majority is not enough: Bitcoin
mining is vulnerable, in: 2014 Proc. Int. Conf. Financial
Cryptography Data Secur. (FC ’14), Springer, pp. 436–454.
[96]E. Heilman, A. Kendler, A. Zohar, S. Goldberg, Eclipse
attacks on Bitcoin’s peer-to-peer network, in: Proc. 24th
USENIX Se- cur. Symp. (USENIX Secur.’ 15),
Washington, D.C., 2015, pp. 129–144.
[97]K. Nayak, S. Kumar, A. Miller, E. Shi, Stubborn
mining: Gen- eralizing selfish mining and combining with
an eclipse attack, in: 2016 Proc. IEEE Eur. Symp. Secur.
Privacy (EuroSP’ 16), pp. 305–320.

[87]P. J. Marandi, M. Primi, F. Pedone, High performance
state- machine replication, in: Proc. 41st Int. Conf. Depend.
Syst. Netw. (DSN’ 11), IEEE, 2011, pp. 454–465.

[98]E. H. Yuval Marcus, S. Goldberg, Low-resource eclipse
attacks on Ethereum’s peer-to-peer network (2018) 15.

[88]S. King, S. Nadal, Ppcoin: Peer-to-peer crypto-currency
with proof-of-stake (Aug 2012).

URL />eclipseEth.pdf

URL paper.pdf

[99]N. Atzei, M. Bartoletti, T. Cimoli, A survey of attacks
on ethereum smart contracts (sok), in: Proc. 6th Int. Conf.
Prin- ciples Secur. Trust, 2017, pp. 164–186.


[89]E. K. Kogias, P. Jovanovic, N. Gailly, I. Khoffi, L.
Gasser,
B. Ford, Enhancing bitcoin security and performance with
strong consistency via collective signing, in: Proc. 25th
USENIX Secur. Symp. (USENIX Secur. 16), USENIX
Asso- ciation, 2016, pp. 279–296.
[90]V. Buterin, On public and private blockchains,
Ethereum Blog.
URL andprivate-blockchains/

[100]S. S. Team, Billions of Tokens Theft Case cause by
ETH Eco- logical Defects (March, 2018).
URL />[101]X. Wang, X. Zha, G. Yu, W. Ni, R. P. Liu, Y. J. Guo,
X. Niu,
K. Zheng, Attack and defence of ethereum remote apis, in:
2018 Proc. IEEE Globecom Workshops (GC Wkshps’18),
2018.


[102]M. Vasek, M. Thornton, T. Moore, Empirical analysis
of denial-of-service attacks in the bitcoin ecosystem, in:
2014 Proc. Int. Conf. Financial Cryptography Data Secur.
(FC ’14), Springer, pp. 57–71.

[114]G. Wood, Ethereum: A secure decentralised
generalised trans- action ledger, Ethereum Project Yellow
Paper.
URL />
[103]D. Meegan, Ethereum Continues to Suffer From DDoS
Attacks (Oct, 2016).

URL />[104]S. Verbăucheln, How perfect offline wallets can still
leak bitcoin private keys, arXiv preprint arXiv:1501.00447.
[105]M. Smache, N. E. Mrabet, J. J. Gilquijano, A. Tria, E.
Riou,

[115]Wallet knowledge base (2018).
URL />[116]D. Schiener, The iota lightwallet (Jan, 2017).
URL />[117]Why 0chain, not iota, is ideal for iot apps (Dec, 2017).

C. Gregory, Modeling a node capture attack in a secure
wireless sensor networks, in: 2016 Proc IEEE 3rd World
Forum on Internet of Things (WF-IoT’16), 2016, pp. 188–
193.

URL />
[106]Y. Yang, X. Liu, R. H. Deng, Lightweight break-glass
access control system for healthcare internet-of-things,
IEEE Trans. Ind. Informat. PP (99) (2017) 1–1.

URL clientprotocol

[118]J. McKinney, Light client protocol (2017).

[119]IOTA, Light vs. full node.
[107]W. L. Chin, W. Li, H. H. Chen, Energy big data
security threats in iot-based smart grid communications,
IEEE Com- mun. Mag. 55 (10) (2017) 70–75.

URL node
[120]Fabric (2017).


[108]R. Langner, Stuxnet: Dissecting a cyberwarfare
weapon, IEEE Secur. Privacy 9 (3) (2011) 49–51.
[109]K. Korpela, J. Hallikas, T. Dahlberg, Digital supply
chain transformation toward blockchain integration, in:
Proc. 50th Hawaii Int. Conf. Syst. Sci., 2017.
[110]K. Biswas, V. Muthukkumarasamy, Securing smart
cities using blockchain technology, in: Proc. 18th IEEE
Int. Conf. High Performance Comput. Commun.; 14th IEEE
Int. Conf. Smart City; 2nd IEEE Int. Conf. Data Sci. Syst.
(HPCC/SmartCity/DSS’16), 2016, pp. 1392–1393.
[111]F. Zhang, E. Cecchetti, K. Croman, A. Juels, E. Shi,
Town crier: An authenticated data feed for smart contracts,
in: Proc. 23rd ACM Conf. Comput. Commun. Secur. (CCS’
16), ACM, New York, NY, USA, 2016, pp. 270–282.
[112]Oraclize (2018).
URL
[113]P. Golle, D. Greene, J. Staddon, Detecting and
correcting ma-

URL />[121]A. Dorri, S. S. Kanhere, R. Jurdak, Towards an
optimized blockchain for iot, in: Proc. 2rd Int. Conf.
Internet-of-Things Design Implementation, ACM, 2017, pp.
173–178.
[122]Y. Rahulamathavan, R. C.-W. Phan, S. Misra, M.
Rajara- jan, Privacy-preserving blockchain based iot
ecosystem using attribute-based encryption, in: 2017 Proc.
IEEE Int. Conf. Advanced Netw. Telecommun. Syst.,
Odisha, India.
[123]A. Dorri, S. S. Kanhere, R. Jurdak, P. Gauravaram,

Blockchain for iot security and privacy: The case study of a
smart home, in: 2017 Proc. IEEE Int. Conf. Pervasive
Comput. Commun. Workshops (PerCom Workshops), pp.
618–623.
[124]F. Al-Doghman, Z. Chaczko, J. Jiang, A review of
aggregation algorithms for the internet of things, in: Proc.
25th Int. Conf. Syst. Eng. (ICSEng’17), 2017, pp. 480–487.
[125] Elements project (Jul. 2017).
URL h/support/zig.html

licious data in vanets, in: Proc.1st ACM Int. Workshop
Vehic- ular Ad Hoc Netw. (VANET ’04), ACM, New York,
NY, USA, 2004, pp. 29–37.

[126] Protocol rules (2016-10).
URL rules


[127] Blockchain (2017-06).

44–51. doi:10.1109/MWC.2010.5675777.

URL o

[139]K. H. Wang, B. Li, Group mobility and partition
prediction in wireless ad-hoc networks, in: 2002 Proc. IEEE
Int. Conf. Commun. (ICC’ 02), Vol. 2, pp. 1017–1021 vol.2.

[128] Ethereum mining hardware (Jul. 2017).
URL />mining-hardware/

[129] Raspberry pi (2017).
URL
[130] Mining bitcoin only with raspberry pi (Jul. 2016).
URL />
[140]M. M. Rathore, A. Ahmad, A. Paul, S. Rho, Urban
planning and building smart cities based on the internet of
things using big data analytics, Comput. Netw. 101
(Supplement C) (2016) 63 – 80.
[141]S. Huh, S. Cho, S. Kim, Managing iot devices using
blockchain platform, in: Proc. 19th Int. Conf. Advanced
Commun. Tech- nol. (ICACT’ 17), 2017, pp. 464–467.
[142]V. Buterin, Ethereum: A next-generation smart
contract and decentralized application platform.

[131] Etherscan (2017).
URL />URL
[132]Y. Y. Goland, Going off chain for storage (Feb 2017).
URL chain storage and the
enterprise/
[133]I. H. Hou, P. R. Kumar, Real-time communication
over un- reliable wireless links: a theory and its applications,
IEEE Wireless Commun. 19 (1) (2012) 48–59.
[134]M. Lauridsen, I. Z. Kovacs, P. Mogensen, M.
Sorensen,
S. Holst, Coverage and capacity analysis of LTE-M and
NB- IoT in a rural area, in: Proc. 84th IEEE Vehicular
Technol. Conf. (VTC-Fall’16), 2016, pp. 1–5.
[135]J. M. Liang, J. J. Chen, H. H. Cheng, Y. C. Tseng, An
energy- efficient sleep scheduling with qos consideration in
3gpp lte- advanced networks for internet of things, IEEE J.

Emerging Sec. Topics Circuits Syst. 3 (1) (2013) 13–22.
[136]B. Westermann, D. Gligoroski, S. Knapskog,
Comparison of the power consumption of the 2nd round
sha-3 candidates, in: M. Gusev, P. Mitrevski (Eds.), Proc.
2nd Int. Conf. ICT Innovations, Berlin, Heidelberg, 2010,
pp. 102–113.
[137]J. Chen, S. H. G. Chan, S.-C. Liew, Mixed-mode wlan:
the integration of ad hoc mode with wireless lan
infrastructure, in: 2003 Proc. IEEE Global Telecommun.
Conf. (GLOBECOM

[143]C. Jaffe, C. Mata, S. Kamvar, Motivating urban
cycling through a blockchain-based financial incentives
system, in: 2017 Proc. ACM Int. Joint Conf. Pervasive and
Ubiquitous Comput. and 2017 Proc ACM Int. Symp. on
Wearable Com- puters, UbiComp ’17, ACM, New York,
NY, USA, 2017, pp. 81–84.
[144]S. Raza, D. Trabalza, T. Voigt, 6lowpan compressed
dtls for coap, in: Proc. 8th IEEE Int. Conf. Distributed
Computing in Sensor Syst. (DCOSS’12), 2012, pp. 287–
289.
[145]D. Chen, G. Chang, D. Sun, J. Li, J. Jia, X.
Wang, Trm- iot: A trust management model based on
fuzzy reputation for internet of things, Comput. Sci. and Inf.
Syst. 8 (4) (2011) 1207–1228.
[146]M. Mihaylov, S. Jurado, N. Avellana, K. V.
Moffaert, I. M. de Abril, A. Now, Nrgcoin: Virtual
currency for trading of renewable energy in smart grids, in:
Proc. 11th Int. Conf. Eur. Energy Market (EEM14), 2014,
pp. 1–6.

[147]Q. He, D. Wu, P. Khosla, Sori: a secure and
objective reputation-based incentive scheme for ad-hoc
networks, in: 2004 IEEE Wireless Commun. and
Networking Conf. (IEEE Cat. No.04TH8733), Vol. 2, 2004,
pp. 825–830 Vol.2.
[148]S. Raval, Decentralized Applications: Harnessing
Bitcoin’s Blockchain Technology, O’Reilly Media, Inc.,
2016.
[149]N. Szabo, Smart contracts: building blocks for digital
markets, EXTROPY: The J. Transhumanist Thought.

’03), Vol. 1, pp. 231–235 Vol.1.
[138]M. Zorzi, A. Gluhak, S. Lange, A. Bassi, From today’s
in- tranet of things to a future internet of things: a wirelessand mobility-related view, IEEE Wireless Commun. 17 (6)
(2010)

[150]Universa, How smart contracts will kill bureaucracy
(Nov 2017).
URL />

[151]J. Dai, M. A. Vasarhelyi, Toward blockchain-based
accounting and assurance, J. Inf. Syst. 31 (3) (2017) 5–21.
doi:10.2308/ isys-51804.
[152]F. Al Khalil, M. Ceci, L. O’Brien, T. Butler, A
solution for the problems of translation and transparency in
smart contracts. URL GRCTC-Smart-Contracts-WhitePaper-2017.pdf
[153]I. Kaiser, Yes, bitcoin can do smart contracts and
particl demonstrates how (2017).
URL cando-smart-contracts-and-particl-demonstrates-how/
[154]A. Hertig, How Do Ethereum Smart Contracts Work?

(2018). URL
smartcontracts-work/

[163]E. Androulaki, G. O. Karame, M. Roeschlin, T.
Scherer,
S. Capkun, Evaluating User Privacy in Bitcoin, Springer
Berlin Heidelberg, Berlin, Heidelberg, 2013, pp. 34–51.
[164]D. Ron, A. Shamir, Quantitative Analysis of the Full
Bitcoin Transaction Graph, Springer Berlin Heidelberg,
Berlin, Hei- delberg, 2013, pp. 6–24.
[165]D. Ron, A. Shamir, Quantitative analysis of the full
bitcoin transaction graph, in: 2013 Proc. Int. Conf. Financial
Cryp- tography Data Secur. (FC ’13), Springer, pp. 6–24.
[166]S. Meiklejohn, M. Pomarole, G. Jordan, K.
Levchenko, D. Mc- Coy, G. M. Voelker, S. Savage, A
fistful of bitcoins: charac- terizing payments among men
with no names, in: 2013 Proc. Conf. Internet measurement,
ACM, pp. 127–140.

URL />
[167]A. Biryukov, D. Khovratovich, I. Pustogarov,
Deanonymisa- tion of clients in bitcoin p2p network, in:
Proc. 21st ACM Conf. Comput. Commun. Secur. (CCS’
14), ACM, 2014, pp. 15–29.

[156]Nxt (2018).

[168]N. van Saberhagen, Cryptonote v 2. 0 (2013).

URL />[157]Rsk (2018).


[169]P. Koshy, D. Koshy, P. McDaniel, An Analysis of
Anonymity in Bitcoin Using P2P Network Traffic, Springer
Berlin Heidel- berg, Berlin, Heidelberg, 2014, pp. 469–485.

URL />
[170]bitcoinwiki, Mixing service (Nov 2017).

[158] This is how smart contracts and ethereum work (Jul,
2017).

URL service

[155]O. ASOR, About τ -chain (Feb, 2015).

URL />[159] Blockchain-oracles (2018).

[171]A. Kosba, A. Miller, E. Shi, Z. Wen, C.
Papamanthou, Hawk: The Blockchain Model of
Cryptography and Privacy- Preserving Smart Contracts, in:
Proc. 37th IEEE Symp. Secur. Privacy (SP’ 16), IEEE,
2016, pp. 839–858.
[172]U. Feige, A. Fiat, A. Shamir, Zero-knowledge proofs
of identity, J. Cryptology 1 (2) (1988) 77–94.

URL />[160]A. Boudguiga, N. Bouzerna, L. Granboulan, et al.,
Towards Better Availability and Accountability for IoT
Updates by means of a Blockchain, in: Proc. 2017 IEEE
Eur. Symp. Secur. Privacy Workshops (EuroSPW), Paris,
France, 2017.


[173]C. Rackoff, D. R. Simon, Non-Interactive ZeroKnowledge Proof of Knowledge and Chosen Ciphertext
Attack, Springer Berlin Heidelberg, Berlin, Heidelberg,
1992, pp. 433–444. doi: 10.1007/3-540-46766-1 35.
URL 35

[161]P. Maymounkov, D. Mazi`eres, Kademlia: A Peerto-Peer In- formation System Based on the XOR Metric,
Springer Berlin Heidelberg, Berlin, Heidelberg, 2002, pp.
53–65.

[174]I. Miers, C. Garman, M. Green, A. D. Rubin, Zerocoin:
Anony- mous Distributed E-Cash from Bitcoin, in: Proc.
34th IEEE Symp. Secur. Privacy (SP’ 13), IEEE, 2013, pp.
397–411.

[162]F. Reid, M. Harrigan, An Analysis of Anonymity in
the Bitcoin System, Springer New York, New York, NY,
2013, pp. 197–223. doi:10.1007/978-1-4614-4139-7 10.

[175]E. B. Sasson, A. Chiesa, C. Garman, M. Green, I.
Miers,


×