Luận án Tìm hiểu về thành phần, cơ chế hoạt động của blockchain

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

pdf45 trang | Chia sẻ: honganh20 | Ngày: 21/02/2022 | Lượt xem: 450 | Lượt tải: 1download
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:

  • pdfluan_an_tim_hieu_ve_thanh_phan_co_che_hoat_dong_cua_blockcha.pdf
Tài liệu liên quan