LỜI CẢM ƠN . 1
BẢNG CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH TỪ NGỮ. 4
DANH SÁCH HÌNH ẢNH. 5
LỜI NÓI ĐẦU . 6
CHƯƠNG 1:TỔNG QUAN VỀ BLOCKCHAIN. 8
1.1. Mật mã học . 8
1.1.1. Thuật ngữ cơ bản . 9
1.1.2. Hàm băm, mã hóa bất đối xứng. 10
1.1.3. Chữ ký số. 12
1.2. Công nghệ blockchain . 12
1.2.1. Bitcoin – nền tảng blockchain đầu tiên . 12
1.2.2. Các blockchain khác. 14
1.2.3. Smart contract và Ethereum . 15
1.2.4. Thuật toán đồng thuận . 16
CHƯƠNG 2:MỘT SỐ MÔ HÌNH QUẢN LÝ CHỨNG CHỈ . 19
2.1. Chứng chỉ là gì?. 19
2.2. Quy trình liên quan tới chứng chỉ. 19
2.3. Giới hạn của các mô hình quản lý chứng chỉ không sử dụng
blockchain . 20
2.3.1. Giới hạn của chứng chỉ giấy. 20
2.3.2. Giới hạn của chứng chỉ số (không sử dụng công nghệ blockchain) 21
2.4. Mô hình quản lý chứng chỉ sử dụng blockchain . 21
2.4.1. Người nhận chứng chỉ . 22
2.4.2. Đơn vị phát hành. 22
2.5. Một số dự án triển khai quản lý chứng chỉ sử dụng công nghệ
blockchain . 23
2.5.1. Blockcerts . 23
2.5.2. BTCert . 24
CHƯƠNG 3:MÔ HÌNH ÁP DỤNG VÀ THỰC NGHIỆM . 26
3.1. Lựa chọn nền tảng triển khai . 26
3.1.1. Giải pháp cấp chứng chỉ của Learning Machine trên nền tảng
Blockcerts. 26
45 trang |
Chia sẻ: honganh20 | Ngày: 21/02/2022 | Lượt xem: 463 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận án Tìm hiểu về thành phần, cơ chế hoạt động của blockchain, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hệ sổ cái phân
tán. Trong khi vẫn duy trì những đặc điểm chính của Bitcoin, các blockchain
khác thường linh động hơn trong xử lý các tác vụ mà nó cho phép. Đây là một
công nghệ đang được phát triển rất nhiều, khi mà các cách tiếp cận mới và các
ứng dụng mới được ra đời một cách thường xuyên thông qua các tài liệu
whitepaper của các công ty khởi nghiệp hoặc nhóm nghiên cứu. Nhưng cơ
bản những đặc điểm của blockchain vẫn tương tự nhau: tính phân tán, cơ sở
dữ liệu dấu thời gian với sự đồng thuận được thiết lập giữa các node. Công
nghệ blockchain có các đặc trưng như sau:
Phân tán: Các node được xem là giống nhau vì tất cả đều lưu một
bản copy đầy đủ của toàn bộ lịch sử giao dịch. Có một số ít các node
chỉ lưu thông tin của một vài khối cuối cùng được gọi là lightweight
node. Thông thường, việc giao tiếp giữa các node sẽ được thực hiện
15
thông qua môi trường Internet và sử dụng phương pháp mã hóa đối
xứng.
Dấu thời gian: Bởi vì tất cả các block được băm và gắn vào một
chuỗi. Vì thế, việc thay đổi lịch của block cũ sẽ khó khăn hơn vì
phải thay đổi toàn bộ thông tin của chuỗi hiện tại và có được sự
đồng thuận của mạng lưới.
Đồng thuận: Các node sẽ chọn ra chuỗi nào là chuỗi đúng thông qua
thuật toán đồng thuận. Các nodes xác nhận các giao dịch cũng như
để ngăn chặn các cuộc tấn công chi tiêu gấp đôi. Kiểu của thuật toán
đồng thuận sẽ phụ thuộc vào cấu trúc và mục đích của blockchain
(chi tiết ở mục 1.2.4 Các thuật toán đồng thuận).
1.2.3. Smart contract và Ethereum
“Smart contract” là logic đơn giản được đẩy lên blockchain, nó có thể
nhận hoặc thực hiện các giao dịch như bất kỳ một địa chỉ nào và có thể thực
hiện một điều khoản bất biến tùy thuộc vào mục đích của người đưa ra logic
đó. Ý nghĩa của từ “contract” trong cụm từ “smart contract” là một phần hợp
đồng có thể được đưa vào phần mềm theo một cách nào đó mà việc phá vỡ
điều khoản trong đó là rất tốn kém hoặc không thể.
Theo Szabo, một “smart contract” thường có 4 đặc điểm sau: khả năng
quan sát được, khả năng thực thi trực tuyến, khả năng xác minh và khả năng
quản lý truy cập (Szabo,1994). Khả năng quan sát được nghĩa là các thành
viên tham gia hợp đồng có thể nhìn thấy hiệu suất của các thành viên khác
theo các nội dung trong điều khoản của hợp đồng, hoặc có thể chứng minh
được các điều khoản của mình thực hiện với những thành viên còn lại. Khả
năng thực thi trực tuyến đảm bảo rằng các điều khoản của hợp đồng đang
được thực hiện. Khả năng xác minh và khả năng quản lý truy cập cùng rất cần
thiết nó giúp smart contract bí mật nhất có thể nghĩa là thông tin và điều khiển
dữ liệu trong một smart contract chỉ nên để các thành viên được biết nếu cần
thiết.
Nền tảng Ethereum là một blockchain công khai, với một máy ảo EVM
(Ethereum Virtual Machine) để chạy các smart contract. Do máy ảo chỉ chạy
trên môi trường blockchain, smart contract cách ly hoàn toàn với network,
file-system và các tiến trình khác trên các node. Solidity là ngôn ngữ bậc cao
đã được tạo ra để viết các smart contract trên Ethereum. Cấu trúc của Solidity
tương đối giống với JavaScript nhưng nó được viết với một phong cách hoàn
toàn khác. Một smart contract sau khi được viết bằng Solidity, nó sẽ được
biên dịch vào EVM bytecode và sau đó được triển khai lên một địa chỉ
16
Ethereum nào đó. Để triển khai và tương tác với smart contract trên
Ethereum, một thư viện JavaScript RPC được sử dụng cùng với một web API.
Solidity là ngôn ngữ chưa hoàn thiện và đang được tiếp tục phát triển.
1.2.4. Thuật toán đồng thuận
Bitcoin hay các ứng dụng khác của công nghệ blockchain được sử dụng
để chuyển giá trị trong môi trường không tin tưởng, vì vậy cần một cách xác
minh các giao dịch được thực hiện là đúng và đó là các thuật toán đồng thuận.
Mục tiêu của thuật toán đồng thuận là đảm bảo tồn tại duy nhất 1 lịch sử giao
dịch và lịch sử giao dịch đó không chứa các giao dịch không hợp lệ hoặc các
giao dịch có mâu thuẫn. Ví dụ: không cho phép một tài khoản có thể tiêu
dùng quá số lượng đang có trong tài khoản của mình hoặc tiêu dùng 2 lần.
Bảng bên dưới sẽ mô tả một số sự khác nhau cơ bản của một số thuật toán
đồng thuận.
Bitcoin xử lý vấn đề đồng thuận bằng cách với mỗi block mới sẽ có 1
target đảm bảo giá trị băm của block trước nó, block hiện tại và một giá trị
nonce phải nhỏ hơn hoặc bằng giá trị target này. Do giá trị của hàm băm
được phân bố đều nên không dễ để có thể tạo ra một block thỏa mãn điều kiện
trên. Vì vậy, có một cuộc chạy đua giữa các máy đào trong mạng để tìm được
giá trị nonce chính xác. Khi tìm được giá trị nonce, máy đào sẽ truyền thông
tin về block mới được tìm ra tới toàn bộ mạng lưới và các máy đào khác sẽ
thực hiện xác minh giao dịch. Nếu đủ số node xác minh tìm thấy các giao
dịch, chúng sẽ đồng ý để block được thêm vào chuỗi. Quá trình này được gọi
là proof-of-work (PoW). Mục tiêu là không tập trung quá nhiều quyền lực cho
một cá nhân hay tổ chức nào vì thế cần phải lựa chọn một loại tài nguyên hạn
chế nào đó để bầu chọn cho tính xác thực của một block. Với PoW, tài
nguyên đó chính là sức mạnh tính toán của máy tính. Nhưng sức mạnh tính
toán thì ngày càng sẵn có và rẻ hơn the định luật Moore và công nghệ điện
toán đám mây, độ khó của hàm băm đã được quy định dựa vào tần suất mà
block trước đó được tìm ra. Tuy nhiên, PoW là một sự lãng phí năng lực tính
toán và năng lượng vô cùng lớn. Có những thợ đào chỉ đào Bitcoin vào mùa
đông và sử dụng nhiệt lượng tỏa ra để sưởi ấm. (“Hotmine Inc.” 2016). Các
thợ đào tập trung tài nguyên lại với nhau thành những nông trại đào bitcoin
khổng lồ để tăng hiệu quả, điều này dẫn tới việc tập trung hóa trong mạng
phân tán. Tốc độ trong mạng Bitcoin là cứ sau 10 phút thì sinh ra 1 block mới
và block size chỉ khoảng 1 MB. Sự tiêu tốn năng lượng và thông lượng là 2
nguyên nhân chính dẫn tới sự ra đời của các thuật toán đồng thuận khác để
thay thế proof-of-work. Đó là Proof – of – Stake (PoS), đây là thuật toán
17
không sử dụng sức mạnh tính toán mà sử dụng chính quyền sử hữu các token
của blockchain để chiếm ưu thế tạo ra block mới. Blockchain theo dõi một
nhóm các validators (bất kỳ ai giữ token đều có thể trở thành 1 validator bằng
cách gửi 1 loại giao dịch đặc biệt để khóa token của họ như 1 khoản đặt cọc).
Tất cả các validator có thể tham gia vào quá trình tạo và chấp nhận block mới
được thực hiện thông qua thuật toán động thuận. Có 2 loại thuật toán đồng
thuận: chain-based proof of stake (CBPoS) và BFT – style proof of stake
(BFTPoS). Với CBPoS, sau một khoảng thời gian nhất đinh thuật toán sẽ
chọn ngẫu nhiên ra một validator và gán cho validator này quyền tạo ra block
mới, và block này phải trỏ tới block cuối cùng của chuỗi. Với BFTPoS, các
validators sẽ được gán ngẫu nhiên quyền đề xuất các block nhưng việc chấp
nhận phải thông qua một quá trình nhiều vòng nơi mà mỗi validator “bỏ
phiếu” cho một số block nào đó trong mỗi vòng cho tới khi kết thúc của quá
trình tất cả những validators trung thực nhất và đang online sẽ quyết định xem
có hay không bất kỳ block nào được thêm vào chuỗi.
Thuật toán
đồng thuận
Tài nguyên
sử dụng
Điểm mạnh Điểm yếu Ví dụ
Proof – of –
Work
Năng lực tính
toán
Chạy trong
môi trường
hông tin
tưởng, giao
dịch có tính
bất biến,
mạng lưới có
độ phân tán
cao.
Tiêu tốn
năng lượng,
tắc nghẽn
giao dịch
Bitcoin,
Litecoin
Proof – of –
Stake (PoS)
Quyền sở hữu
một số lượng
token nhất
định
Tối ưu trong
việc sử dụng
năng lượng,
thông lượng
và khả năng
mở rộng.
Gặp phải vấn
đề Nothing –
at – Stake.
Thực hiện bỏ
phiếu cho
các nhánh
khác nhau
của chain tại
cùng một
thời điểm và
nhận thưởng
NXT
18
ở cả 2
nhánh.
Delegated
PoS
Quyền sở hữu
các token
sinh ra sớm
nhất và bầu
chọn các
node được
quyền tạo
block.
Được đánh
giá là hiệu
quả hơn PoS
Sự thờ ơ của
các node
trong các đợt
bầu cử sẽ
dẫn tới sự
tập trung quá
mức.
BitShares
So sánh một số thuật toán đồng thuận
19
CHƯƠNG 2: MỘT SỐ MÔ HÌNH QUẢN LÝ CHỨNG CHỈ
Chương này sẽ giới thiệu một số mô hình quản lý chứng chỉ hiện có tại
Việt Nam cũng như trên thế giới, từ đó cũng nêu ra một số ưu nhược điểm của
các mô hình đó.
2.1. Chứng chỉ là gì?
Chứng chỉ là một văn bản được bên này cấp cho bên kia để xác nhận là
một sự kiện nào đó là đúng. Trong lĩnh vực giáo dục, chứng chỉ được sử dụng
trong một số tình huống chứng minh cho một số việc như sau:
Người học đã đạt được kết quả học tập
Năng lực của giáo viên
Người học vượt qua một quá trình học tập
Tổ chức giáo dục hoặc khóa học đạt được những tiêu chuẩn nhất
định.
Một cơ quan được ủy quyền cấp chứng chỉ.
2.2. Quy trình liên quan tới chứng chỉ
Thông thường, chứng chỉ gồm có 03 quy trình chính như sau:
Phát hành: đây là quá trình ghi lại các thông tin vào chứng chỉ.
Thông thường, dữ liệu được ghi lại:
o Trong cơ sở dữ liệu tập trung của đơn vị phát hành.
o Trên chứng chỉ cấp cho người dùng.
Xác minh: đây là quá trình một bên thứ 3 xác minh lại tính xác thực
của chứng chỉ. Có 3 mô hình thực hiện việc này:
o Xác minh dựa vào các tính năng bảo mật được xây dựng ngay
bên trong chứng chỉ: việc này có thể bao gồm những biện
pháp như kiểm tra tính xác thực của con dấu, giấy chuyên
dụng, chữ ký, .
o Xác minh dựa vào đơn vị phát hành: bên thứ ba thực hiện liên
hệ với đơn vị phát hành, hỏi về việc có thực sự phát hành ra
chứng chỉ hay không. Tại đó, các đơn vị phát hành sẽ kiểm tra
thông tin trên cơ sở dữ liệu tập trung của họ hoặc kiểm tra
chức năng bảo mật trong chính chứng chỉ đó.
o Xác minh dựa vào cơ sở dữ liệu tập trung. Với cách này, các
nhà phát hành có thể cung cấp dữ liệu về các chứng chỉ đã
cấp phát cho một bên thứ ba cho phép mọi người truy vấn dữ
liệu để xem các bản copy của các chứng chỉ được phát hành
và so sánh 2 cái với nhau.
Chia sẻ: Đây là quá trình người được cấp chứng chỉ chia sẻ chứng
chỉ cho một bên thứ ba. Cũng có 3 cách chia sẻ chứng chỉ:
20
o Chuyển trực tiếp chứng chỉ (hoặc một bản copy của chứng
chỉ) cho bên thứ ba. Ví dụ: qua email, hoặc đưa trực tiếp cho
bên thứ ba.
o Lưu chứng chỉ với người được ủy quyền chỉ chia sẻ với một
số người theo yêu cầu của bạn (ví dụ trong trường hợp di
chúc, công chứng viên chỉ được phép chia sẻ nội dung di chúc
với người thụ hưởng, sau khi một người chết)
o Đưa chứng chỉ vào một kho dữ liệu công cộng nơi tất cả mọi
người đều có thể tra cứu được.
2.3. Giới hạn của các mô hình quản lý chứng chỉ không sử dụng
blockchain
Các chính phủ và các ngành công nghiệp đang nỗ lực để số hóa chứng
chỉ trên toàn thế giới. Tuy vậy, hầu hết chứng chỉ vẫn được phát hành trên
giấy hoặc các vật liệu vật lý khác. Ở nhiều quốc gia, chứng chỉ lai được sử
dụng như một sự kết hơp nơi mà chứng chỉ giấy được sao lưu bởi các cơ sở
dữ liệu của một bên thứ ba chuyên cung cấp dịch vụ truy vấn thông tin (Ví du:
https://hedd.ac.uk/ ). Tuy nhiên, các giới hạn của mỗi hệ thống cho thấy rõ
nhu cầu về sự cần thiết có một công nghệ quản lý chứng chỉ tốt hơn, mạnh mẽ
hơn
2.3.1. Giới hạn của chứng chỉ giấy
Chứng chỉ giấy vẫn được xem là hình thức chứng nhận an toàn nhất vì
những lý do sau:
Khó tạo ra do tính năng bảo mật được tích hợp trong giấy làm chứng
chỉ.
Thường được giữ trực tiếp bởi người nhận nên người nhận có toàn
quyền kiểm soát chứng chỉ.
Tương đối dễ để giữ chứng chỉ an toàn.
Người được cấp có thể đưa ra ở bất kỳ nơi nào mà họ muốn.
Tuy nhiên, việc quản lý bằng chứng chỉ giấy cũng có nhiều điểm bất lợi
như sau:
Vẫn có nguy cơ làm giả, người phát hành phải giữ một quyển sổ lưu
trữ thông tin văn bằng đã cấp để làm nhiệm vụ xác thực thông tin
khi cần.
Quyển sổ lưu trữ thông tin văn bằng này là điểm chết. Nếu mất
thông tin trên sổ này sẽ không thể xác thực được thông tin.
Việc xác thực thông tin được thực hiện thủ công tốn nguồn lực.
21
Để chứng chỉ càng bảo mật, thì phụ thuộc hoàn toàn vào chất liệu
làm chứng chỉ. Chất liệu và công nghệ làm chứng chỉ càng khó giả
mạo thì chi phí càng cao.
Không thể thu hồi chứng chỉ đã ban hành nếu không được sự đồng ý
của người được cấp.
Bên thứ 3 cần xác minh chứng chỉ họ phải đọc và xác minh bằng tay
tốn nguồn lực, thời gian.
2.3.2. Giới hạn của chứng chỉ số (không sử dụng công nghệ blockchain)
Chứng chỉ số có nhiều ưu điểm hơn chứng chỉ giấy:
Cần ít nguồn lực hơn để phát hành, duy trì và sử dụng vì:
o Tính xác thực của các chứng chỉ có thể tự động được kiểm tra
mà không cần sự can thiệp thủ công nào.
o Khi bên thứ 3 cần sử dụng các chứng chỉ, chứng chỉ số có thể
được tự động đối chiếu, xác minh thậm chí là tóm tắt nếu
chúng được phát hành theo một chuẩn định dạng.
o Bảo mật vì nó bắt nguồn từ các giao thức mật mã, đảm bảo
rằng chi phí phát hành chứng chỉ rẻ nhưng để sao chép thì rất
tốn kém trừ người phát hành.
Người phát hành có quyền thu hồi chứng chỉ.
Chứng chỉ số cũng có những nhược điểm như sau:
Nếu không sử dụng chữ ký số, chứng chỉ số rất dễ bị giả mạo.
Nếu sử dụng chữ ký số, nó yêu cầu phải có bên thứ 3 đảm bảo tính
toàn vẹn của giao dịch – các bên thứ ba có quyền kiểm soát đáng kể
mọi khía cạnh của quá trình chứng nhận và kiểm tra dễ bị lợi
dụng.
Tại nhiều quốc gia, không có một chuẩn mở cho chữ ký số, dẫn tới
việc chứng thực chỉ có thể được kiểm tra trong một hệ sinh thái cụ
thể nào đó.
Dễ dàng phá hủy các bản ghi điện tử, để đảm bảo an toàn dữ liệu
cần có hệ thống sao lưu đa tầng và có khả năng chống lỗi.
Nếu nơi lưu trữ bị lỗi, chứng chỉ số trở nên vô giá trị vì không thể
xác thực được thông tin.
Có thể tấn công đơn vị đăng ký và lưu trữ chứng chỉ dẫn tới một
cuộc rò rỉ dữ liệu quy mô lớn.
2.4. Mô hình quản lý chứng chỉ sử dụng blockchain
Công nghệ blockchain là một cơ sở hạ tầng mới về bảo mật, chia sẻ và
xác minh thành tích trong học tập. Trong việc quản lý chứng chỉ, blockchain
có thể lưu trữ một danh sách các nhà phát hành và người nhận, cùng với đó là
bảng băm của chứng chỉ trong một database công khai (blockchain) được lưu
22
trữ trong hàng ngàn máy tính trên toàn cầu. Chứng chỉ số được bảo mật trên
blockchain có nhiều điểm lợi thế hơn chứng chỉ số “thông thường” vì một số
nguyên nhân như sau:
Không thể bị làm giả: có thể xác mình chắc chắn rằng chứng chỉ ban
đầu được cấp và được nhận bởi những người được chỉ định trong
chứng chỉ.
Bất kỳ ai cũng có thể xác minh được chứng chỉ bằng cách sử dụng
các phần mềm mã nguồn mở để truy cập vào blockchain mà không
cần bất kỳ một bên thứ ba nào.
Do không cần bất kỳ bên thứ ba nào tham gia vào quá trình xác
minh chứng chỉ nên chứng chỉ vẫn có thể được xác minh ngay cả
khi tổ chức phát hành không còn tồn tại.
Thông tin về chứng chỉ chỉ bị mất khi hệ thống blockchain trên thế
giới bị sụp đổ. Nhưng đây là hệ thống phân tán vì vậy để đánh sập
toàn bộ hệ thống là việc làm hết sức khó khăn.
Hàm băm được sử dụng để tạo liên kết với tài liệu gốc và được lưu
trữ trên blockchain. Như vậy, người dùng vẫn nắm giữ chứng chỉ
gốc đảm bảo tính riêng tư của tài liệu.
2.4.1. Người nhận chứng chỉ
Blockchain đã giải quyết một số vấn đề đứng từ khía cạnh của người nhận:
Tính độc lập: người nhận sở hữu chứng chỉ và không cần đơn vị
phát hành hay một bên thứ ba nào tham gia vào quá trình sau khi
nhận được chứng chỉ.
Tính sở hữu: người nhận có thể chứng minh chứng chỉ được sở hữu
bởi họ chứ không phải bất kỳ ai khác.
Kiểm soát: người nhận có toàn quyền kiểm soát chứng chỉ của họ.
Họ có thể chọn liên kết chứng chỉ của mình với bản CV online của
họ.
Có thể kiểm chứng: chứng chỉ có thể kiểm chứng bởi một bên thứ
ba như nhà tuyển dụng, hội đồng tuyển sinh hay các đơn vị xác
minh.
2.4.2. Đơn vị phát hành
Đứng trên khía cạnh từ phía đơn vị phát hành, blockchain đã giải quyết
một số vấn đề như sau:
Đơn vị phát hành có thể chứng minh đâu là chứng chỉ họ phát hành.
Đơn vị phát hành có thể đặt một thời hạn cho chứng chỉ.
Chứng chỉ có thể được thu hồi bởi đơn vị phát hành.
Đảm bảo an toàn cho hệ thống quản lý chứng chỉ.
23
2.5. Một số dự án triển khai quản lý chứng chỉ sử dụng công nghệ
blockchain
2.5.1. Blockcerts
2.5.1.1. Giới thiệu
Blockcerts là một dự án mã nguồn mở được phát triển bởi một nhóm
các nhà nghiên cứu thuộc MIT Media Lab – Hoa Kỳ. Dự án được bắt đầu
phát triển năm 2016 thời điểm bùng nổ của các loại tiền mã hóa. Đây là một
dự án sớm nhất nghiên cứu đầy đủ về việc quản lý chứng chỉ trên blockchain.
Mục tiêu của dự án là xây dựng một chuẩn mở cho việc tạo, phát hành, xem
và xác thực thông tin chứng chỉ số trong lĩnh vực đào tạo. Sau gần 3 năm phát
triển, dự án đã có 2 phiên bản: Blockcerts version 1.0 và Blockcerts version
2.0. Phiên bản 2.0 có một số thay đổi so với phiên bản 1.0 đó là:
Cấp phát chứng chỉ theo lô thay vì cấp chứng chỉ cho từng cá nhân
như trước đây. Việc này giúp làm giảm số lượng giao dịch bitcoin
cần phải thực hiện để tiết kiệm chi phí.
Chứng chỉ được thu hồi theo chuẩn Open Badges v2.0, tức là dựa
vào một đường dẫn “HTTP URI revocation list” thay vì sử dụng
phương pháp gửi một giao dịch bitcoin vào địa chỉ của người nhận.
Blockcert đã đi sâu vào xử lý các vấn đề trong việc quản lý chứng chỉ
trong đào tạo, cụ thể như sau:
Dự án thiết kế gồm 3 nhóm đối tượng: Đơn vị phát hành, Người
nhận chứng chỉ và người xác thực chứng chỉ.
Người nhận chứng chỉ sẽ cung cấp thông tin địa chỉ trên blockchain
của mình cho đơn vị phát hành thực hiện tạo, ký và phát hành chứng
chỉ lên blockchain. Sau đó, người xác thực chứng chỉ sẽ kiểm tra
thông tin từ chính chứng chỉ của người nhận và trên blockchain.
Mặc dù, dự án đã phát triển được 3 năm nhưng cũng có một số điểm
hạn chế. Chi tiết sẽ được nêu ở mục 2.5.1.3, sau đây sẽ là các điểm mạnh của
dự án.
2.5.1.2. Điểm mạnh của dự án
Một số điểm mạnh của dự án so với việc quản lý chứng chỉ không sử
dụng công nghệ blockchain:
Chứng chỉ không bị làm giả vì sử dụng thuật toán băm (băm trong
chứng chỉ, tạo cây merkle để phát hành lên blockchain), khi có bất
kỳ thay đổi nào về thông tin trong chứng chỉ sẽ làm sai lệch giá trị
băm và sẽ phát hiện ra chứng chỉ giả.
24
Hỗ trợ công cụ xác minh chứng chỉ có hợp lệ hay không (cert-
verifier, wallet-android, wallet-ios, cert-verifier-js) hoặc người dùng
có thể tự phát triển một ứng dụng riêng để kiểm tra tính hợp lệ của
chứng chỉ.
Trong trường hợp đơn vị phát hành không còn tồn tại, những chứng
chỉ của đơn vị này phát hành ra vẫn có thể được xác minh.
Người nhận không cần phụ thuộc vào một bên thứ ba sau khi chứng
chỉ được cấp mà có thể toàn quyền xem, chia sẻ và kiểm soát chứng
chỉ của mình.
Đơn vị phát hành có thể chứng minh được chứng chỉ của họ phát
hành, thu hồi chứng chỉ đã cấp, đặt thời gian hết hạn cho chứng chỉ
và quan trọng nhất là đảm bảo an toàn cho những chứng chỉ cấp ra
mà không cần phụ thuộc nhiều vào hạ tầng sao lưu của mình.
Sẵn sang trên 2 nền tảng blockchain phổ biến nhất hiện này là
Bitcoin và Ethereum.
2.5.1.3. Một số hạn chế
Tuy vậy, như đã đề cập ở 2.5.1.1, mặc dù đã phát triển được gần 3 năm
nhưng dự án vẫn còn tồn tại một số hạn chế như sau:
Quy trình để phát hành chứng chỉ đang phụ thuộc vào duy nhất một
người giữ khóa bí mật của đơn vị đào tạo. Điều này có thể dẫn tới
các vấn đề liên quan tới tham nhũng.
Việc quản lý danh sách các chứng chỉ thu hồi dựa vào “HTTP URI
revocation list” tạo ra một nút thắt cổ chai. Kẻ tấn công có thể tấn
công vào server chứa danh sách này để cập nhật, thêm mới, xóa
thông tin các chứng chỉ trong danh sách.
Việc định danh các đơn vị phát hành hiện tại cũng dựa vào một
đường dẫn qua giao thức HTTP. Cũng tương tự như việc quản lý
chứng chỉ thu hồi, đây là một nút thắt cổ chai mà kẻ tấn công có thể
lợi dụng
Từ một số điểm bất cập nêu trên, các nhà nghiên cứu của đại học
Birmingham của Vương quốc Anh đã phát triển dự án BTCert dựa trên nền
tảng của Blockcerts để xử lý vấn đề. Chi tiết trong mục 2.5.2.
2.5.2. BTCert
2.5.2.1. Giới thiệu
BTCert là dự án được phát triển bởi nhóm các nhà nghiên cứu thuộc
Đại học Birmingham. Chi tiết dự án được mô tả trong đường dẫn:
https://github.com/BlockTechCert/BTCert . Dự án bắt đầu từ cuối năm 2017
và được viết bằng Java thay vì Python như Blockcerts.
25
2.5.2.2. Điểm mạnh của dự án
Do phát triển trên nền tảng và thừa kế mô hình của Blockcerts, vì thế
BTCert mang đầy đủ những điểm mạnh của Blockcerts. Ngoài ra, BTCert còn
xử lý các vấn đề còn tồn tại của Blockcerts như:
Xây dựng quy trình cấp chứng chỉ qua nhiều cấp bằng cách sử dụng
multisign trên Bitcoin. Giả sử, ta có N người ký và M là số lượng tối
thiểu người cần ký giao dịch thì chứng chỉ mới được phát hành.
Thu hồi chứng chỉ dựa vào trạng thái giao dịch trên blockchain. Cụ
thể như sau: hệ thống sẽ sinh ra một danh sách các địa chỉ của nhà
cung cấp sử dụng để thu hồi, gắn địa chỉ này vào chứng chỉ phát
hành cho người nhận. Khi muốn thu hồi, đơn vị phát hành chỉ cần sử
dụng địa chỉ thu hồi thực hiện một giao dịch gửi bitcoin tới địa chỉ
của người nhận. Việc còn lại là ứng dụng xác minh sẽ kiểm tra nếu
có giao dịch từ địa chỉ thu hồi của đơn vị phát hành tức là chứng chỉ
đã bị thu hồi.
2.5.2.3. Một số hạn chế
Mặc dù kế thừa và xử lý được một số vấn đề của Blockcerts nhưng
BTCert vẫn còn một số hạn chế nhất định như sau:
Chỉ hỗ trợ trên nền tảng blockchain Bitcoin.
Việc xử lý định danh nhà phát hành vẫn dựa vào một liên kết HTTP
trên Internet và vẫn có nguy cơ bị tấn công.
26
CHƯƠNG 3: MÔ HÌNH ÁP DỤNG VÀ THỰC NGHIỆM
Chương này sẽ đưa ra một số phân tích lựa chọn nền tảng để tiến hành
thực nghiệm. Phân tích dự án Blockcerts và triển khai mô hình thực nghiệm
trên nền tảng này.
3.1. Lựa chọn nền tảng triển khai
Việc phát hành chứng chỉ sử dụng công nghệ blockchain đã làm phong
phú thêm cho hệ sinh thái chứng chỉ kỹ thuật số đang tồn tại như BADGR hay
Mozilla Open Badge đang được sử dụng để cấp chứng chỉ cho các học viên
trong một số tổ chức giáo dục. Mục tiêu của việc sử dụng công nghệ
blockchain để phát hành chứng chỉ là sau khi chứng chỉ được phát hành cho
người nhận, quá trình kiểm chứng có thể diễn ra độc lập với đơn vị phát hành
và sẽ được thực hiện thông qua hệ thống mà ở đó các giao dịch không thể
thay đổi đó là các public blockchain. Tuy vậy, để một người dùng bình
thường tương tác với blockchain không hề đơn giản. Cho nên, mỗi đơn vị sẽ
chọn một giải pháp phù hợp với yêu cầu, chi phí. Dưới đây là một số giải
pháp đang được áp dụng để cấp chứng chỉ trên nền tảng blockchain:
3.1.1. Giải pháp cấp chứng chỉ của Learning Machine trên nền tảng
Blockcerts
Learning Machine là một công ty xây dựng, phát triển sản phẩm cấp
phát chứng chỉ trên nền tảng Blockcerts và bán giải pháp cho các đơn vị có
nhu cầu. Do Blockcerts là một nền tảng mở cho nên các nhà cung cấp có thể
xây dựng lên các giải pháp thương mại để đáp ứng nhu cầu cụ thể của thị
trường. Learning Machine đã phát triển một bộ công cụ cho các tổ chức phát
hành, theo dõi và xác thực các chứng chỉ phát hành trên nền tảng blockchain.
Mô hình kinh doanh đối với giải pháp này là tổ chức phát hành sẽ là khách
hàng trả tiền cho Learning Machine; người nhận truy cập dịch vụ hoàn toàn
miễn phí bao gồm cả ứng dụng trên điện thoại di động để quản lý chứng chỉ
và truy cập xác thực thông qua trình duyệt web.
Định dạng chống giả mạo cho phép người nhận chứng minh quyền sở
hữu và cho phép bên thứ ba kiểm tra ngay lập tức mà không cần phụ thuộc
vào một tổ chức xác thực tập trung nào. Khách hàng mục tiêu gồm có các
chính phủ, các công ty, các tổ chức giao dục, cơ quan công chứng Công
nghệ này đang được bán trên thị trường như một giải pháp không yêu cầu
khách hàng có bất kỳ kỹ năng và khả năng công nghệ nào về blockchain.
Learning Machine công bố rằng giải pháp của họ dựa trên chuẩn
Blockcerts ở đó các chứng chỉ là các file được ký và mã hóa bởi đơn vị phát
hành và được đăng ký lên blockchain. Mỗi chứng chỉ đều bao gồm thông tin
27
public key của người nhận cho nên có thể chứng minh được quyền sở hữu
chứng chỉ mà không cần tới bên thứ ba. Giải pháp phân ra làm 3 lớp:
- Lớp trình diễn được thiết kế để hiện thị các chứng chỉ giống như các
chứng chỉ truyền thống.
- Lớp nội dung là những đoạn code bao gồm tất cả dữ liệu và hình ảnh.
- Lới biên nhận gồm có bằng chứng của giao dịch (giá trị băm của nội
dung).
Các chức năng được cung cấp cho các tổ chức có thể hoàn thành toàn
bộ quy trình từ thiết kế chứng chỉ, kết nối với người nhận và phát hành chứng
chỉ. Các chức năng đó cho phép người dùng có thể:
- Import/Quản lý danh sách người nhận.
- Thu thập khóa công khai củ
Các file đính kèm theo tài liệu này:
- luan_an_tim_hieu_ve_thanh_phan_co_che_hoat_dong_cua_blockcha.pdf