1. Trang chủ
  2. » Tất cả

Báo cáo cuối kì chuỗi khối và ứng dụng tìm hiểu về hyperledger (permissioned)

24 27 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo cuối kì chuỗi khối và ứng dụng tìm hiểu về hyperledger (permissioned)
Tác giả Nguyễn Bình Nguyên, Lưu Hoàng Đức
Người hướng dẫn Vũ Thành Nam
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Toán ứng dụng và Tin học
Thể loại Báo cáo
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 24
Dung lượng 920,93 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC Báo cáo cuối kì CHUỖI KHỐI VÀ ỨNG DỤNG Tìm hiểu về Hyperledger (permissioned) Giảng viên hướng dẫn Vũ Thành Nam Viện Toán ứng dụng và Tin[.]

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC

Báo cáo cuối kì CHUỖI KHỐI VÀ ỨNG DỤNG

Tìm hiểu về Hyperledger (permissioned)

Giảng viên hướng dẫn:  Vũ Thành Nam

Họ và tên:   Nguyễn Bình Nguyên - 20185389

Lưu Hoàng Đức - 20185335

Trang 2

LỜI MỞ ĐẦUCông nghệ blockchain (chuỗi khối) gần đây đã thúc đẩy sự quan tâm rộng rãi từ 

cả giới học thuật và ngành công nghiệp Chuỗi khối là một hệ thống phần mềm phântán cho phép các giao dịch được xử lý mà không cần bên thứ ba đáng tin cậy Kết quả

là, các hoạt động kinh doanh có thể được hoàn thành một cách nhanh chóng và khôngtốn kém Hơn nữa, tính bất biến của các chuỗi khối cũng đảm bảo sự tin cậy phân tán

vì gần như không thể giả mạo bất kỳ giao dịch nào được lưu trữ trong các chuỗi khối

và tất cả các giao dịch lịch sử đều có thể kiểm tra và theo dõi được

Nhiều tổ chức tài chính và các công ty khác trên thế giới đang khám phá hoặc chủđộng áp dụng các công nghệ blockchain cho việc thanh toán quốc tế Sự gia tăng củacác công nghệ blockchain đang làm tăng mối quan tâm về sự phân mảnh của thị trường

và khả năng tương tác giữa các blockchain khác nhau Bởi vậy, tuy việc áp dụng côngnghệ Ledger phân tán của blockchain đang ở giai đoạn tương đối sớm, đã có những nỗlực tiêu chuẩn hóa các công nghệ và chi tiết về blockchain cũng như phát triển các giaothức cho phép giao tiếp giữa các blockchain khác nhau Một trong số những sáng kiếnnhằm chuẩn hóa blockchain đó chính là Hyperledger

Trang 3

MỤC LỤC

1.1 Hyperledger là gì ?   1

1.2 Hạn chế của các mạng public blockchain  2

1.3 Hyperledger hoạt động như thế nào ?   3

1.4 Những đặc điểm của Hyperledger  4

1.5 Sơ lược qua về các framework của Hyperledger   5

1.6 Bộ công cụ của Hyperledger   6

2 Kiến trúc hyperledge burrow   8 2.1 Ý tưởng của hyperledge burrow   8

2.2 Ba khía cạnh của Burrow   9

2.3 Mức độ cao của kiến trúc được áp dụng cho Hyperledger Burrow   11

Trang 4

DANH MỤC HÌNH VẼ

Hình 1.1 Hạn chế của mạng public blockChain   2

Hình 1.2 Cách hoạt động của Hyperledger  3

Hình 1.3 Đặc điểm của Hyperledger  4

Hình 2.1 Kiến trúc được áp dụng cho Hyperledger Burrow   11

Trang 5

CHƯƠNG 1 Giới thiệu tổng quan về hệ sinh thái

Hyperledger

1.1 Hyperledger là gì ?

"Hyperledger là một cộng đồng mã nguồn mở nhằm mang lại lợi ích cho hệ sinhthái gồm các nhà cung cấp giải pháp dựa trên Hyperledger và người dùng, tập trung vàocác trường hợp sử dụng liên quan đến chuỗi khối Hyperledger sẽ hoạt động trên nhiềulĩnh vực công nghiệp.” – Theo Brian Behlendorf, Giám đốc điều hành của Hyperledger.Hyperledger không phải là:

• Một đồng tiền mã hóa (Cryptocurrency)

• Một blockchain

• Một công ty

Hyperledger thuộc tổ chức Linux Foundation NodeJs, Alljoyn, Dronecode Mụcđích của Linux Foundation là tạo ra một cộng đồng gồm các nhà phát triển làm việctrên các dự án nguồn mở, mục đích duy trì sự phát triển của các dự án, trong đó, mãnguồn dự án luôn được nâng cấp, sửa đổi và cập nhật

Tư tưởng của Hyperledger là xây dựng một hệ thống gồm nhiều kênh thanh toán(private chain) riêng biệt với các thị trường khác nhau Mỗi doanh nghiệp có những đặctrưng riêng, nên các ứng dụng cho các doanh nghiệp sẽ cần phát triển với các quy tắcđược cá nhân hóa Không giống như ethereum có xu hướng buộc các nhà phát triển xâydựng các ứng dụng của họ xung quanh một bộ giao thức định sẵn

Trang 6

Dự án Hyperledger bắt đầu với một số ít các nhà phát triển vào cuối năm 2015.Những nhà phát triển này đến từ nhiều lĩnh vực khác nhau như khoa học dữ liệu, sảnxuất, ngân hàng, v.v và họ có một mục tiêu chung, đó là làm cho blockchain trở thànhcông nghệ dễ tiếp cận hơn với các nhà phát triển, các doanh nghiệp Dự án được bắtđầu với các thử nghiệm tương tác giữa ứng dụng và một mạng blockchain an toàn.

1.2 Hạn chế của các mạng public blockchain

Trong quá trình thử nghiệm, các nhà phát triển nhận ra rằng trong các mạngblockchain, khi các peer trong mạng cần xác thực từng giao dịch và thực hiện cơ chếđồng thuận cùng một lúc, nó sẽ ảnh hưởng rất lớn đến khả năng mở rộng (scale) Cácgiao dịch cần đảm bảo tính riêng tư, bảo mật (confidentiality) không phù hợp để thựchiện trên các mạng public blockchain

Hình 1.1 Hạn chế của mạng public blockChain

Chúng ta lấy ví dụ với Bob, sống ở Ấn Độ, anh ta muốn mua hàng từ Alice ở Thụy

Sĩ Vì họ là bạn, Alice bán sôcôla cho Bob với mức giá "vừa bán, vừa cho" Điều quantrọng ở đây là Alice còn bán sản phẩm của mình cho nhiều người khác nhau, ở các thịtrường khác nhau và giá bán cho họ vẫn sẽ phải là mức giá niêm yết Để hoàn tất giao

Trang 7

Chuỗi khối và ứng dụng Nhóm 9dịch giữa Alice và Bob, nhiều người ở trên mạng sẽ tham gia để xác thực và chứng nhậncác giao dịch.

Giao dịch sau khi được xác thực sẽ được các thợ đào block, nếu block hợp lệ thì

nó sẽ được thêm vào chuỗi Khi đó, giao dịch giữa Alice và Bob sẽ có thể được xem bởibất kỳ ai trên mạng, và sẽ không hay ho lắm khi một khách hàng khác nhìn thấy giaodịch giữa Bob và Alice và nhủ rằng "Chết tiệt, hóa ra mình mua hớ hàng của bà Alicenày !!!" Uy tín của Alice từ đó sẽ giảm xuống Thật là một điều chẳng ai mong muốn

1.3 Hyperledger hoạt động như thế nào ?

Hình 1.2 Cách hoạt động của Hyperledger

Cùng ví dụ trên, thực hiện trên mạng Hyperledger, nó lại là một câu chuyện hoàntoàn khác Các peer liên kết trực tiếp với nhau và chỉ có sổ cái của riêng họ được cậpnhật về thỏa thuận giao dịch Các bên giúp thực hiện giao dịch chỉ được biết một lượngthông tin đủ để họ cần để chuyển tiếp và cho phép giao dịch trên mạng

Giả sử Alice và Bob thực hiện giao dịch đặc biệt của họ trên mạng Hyperledger,

cô sẽ tìm kiếm Bob thông qua một ứng dụng truy vấn danh sách các thành viên thamgia vào mạng Sau khi đã được xác thực, hai peer sẽ được kết nối và kết quả được trả

Trang 8

về Trong thỏa thuận hai bên này, cả hai kết quả trả về phải giống nhau để giao dịch cóthể được xác nhận Trong các giao dịch khác với nhiều bên, nhiều quy tắc hơn có thểđược áp dụng.

1.4 Những đặc điểm của Hyperledger

Hình 1.3 Đặc điểm của Hyperledger

Những điều trên được thực hiện nhờ kiến trúc mô đun của Hyperledger, nó làmcho các cơ chế như thuật toán đồng thuật trở thành một tính năng có thể tùy biến(plug-and-play) Trong kiến trúc này, những đăc điểm đáng chú ý nhất được thể hiệntrong các peer của mạng Các peer đã được chia thành ba vai trò riêng biệt, đó là:

• Endorser: Các endorser là những peer thực thi các giao dịch trong chaincodecontainer và đề xuất giao dịch lên mạng dựa trên kết quả của hợp đồng thôngminh Tất cả các endoser peer phải được cài đặt chaincode

• Committer: Đây là những peer không nhất thiết phải cài đặt chaincode,chúng lưutrữ sổ cái đầy đủ (full ledger) Sự khác biệt chính giữa committer peer và endoserpeer là việc committer peer không thể gọi chaincode hoặc chạy các hàm trong hợp

Trang 9

Chuỗi khối và ứng dụng Nhóm 9

đồng thông minh

• Consenters: Các nút này chịu trách nhiệm điều hành sự đồng thuận của mạng.Consenters

có trách nhiệm xác nhận các giao dịch và quyết định các giao dịch sẽ được đưa vào

sổ cái

1.5 Sơ lược qua về các framework của Hyperledger

• Hyperledger Sawtooth: Hyperledger Sawtooth là một bộ mô-đun Blockchainđược phát triển bởi Intel, sử dụng thuật toán đồng thuận mới mang tên Proof of Elapsed Time (PoeT) Mục tiêu của dự án là xác nhận các quần thể phân phối lớnvới mức tiêu thụ tài nguyên được giảm xuống tối thiểu, để xây dựng và khởi chạycác sổ cái được phân phối

Sawtooth cũng hỗ trợ hợp đồng thông minh của nền tảng Ethereum thông qua “seth” – một bộ xử lý giao dịch Sawtooth có tích hợp EVW Hyperledger Burrow.Ngoài hỗ trợ Solidity, Sawtooth còn sở hữu các SDK cho Python, C ++, Javascript,Rust, Java và Go

• Hyperledger Fabric: Hyperledger Fabric là một cơ sở hạ tầng Blockchain, cungcấp kiến trúc mô-đun và phân định vai trò giữa các nút trong mạng lưới

Fabric bao gồm “Nút ngang hàng” có nhiệm vụ thực thi mã chuỗi, dữ liệu sổ kếtoán được truy cập, xác nhận tính hợp lệ của giao dịch và giao diện với các ứngdụng; “Nút mạng của trình đặt hàng” đảm bảo tính nhất quán của Chuỗi khối vàphân phối giao dịch đã được xác nhận

• Hyperledger Indy: Thuộc loại hình sổ cái phân tán (Distributed Ledger), thư viện tiện ích (utility library) Hyperledger Indy là một sổ kế toán phi tập trung,cung cấp các công cụ, thư viện để tạo cũng như sử dụng các nhận dạng kỹ thuật sốdựa theo công nghệ Blockchain hoặc sổ cái khác được kết nối, tương tác và hỗ trợ.Một đặc điểm của Indy không thể bỏ qua, đó là sự hoạt động dựa trên việc giảm

Trang 10

thiểu dữ liệu – các công ty không phải lưu trữ nhiều dữ liệu cá nhân mà có thể lưumột con trỏ chứa danh tính.

• Hyperledger Iroha: Thuộc loại hình công nghệ sổ cái phân tán (DistributedLedger Technology), Smart Contract Engine, thư viện tiện ích (utility library).Hyperledger Iroha được lấy cảm hứng từ một số ý tưởng của các lập trình viênNhật Bản trong quá trình xây dựng công nghệ Blockchain phục vụ một vài nhucầu sử dụng di động Theo đó, Iroha được triển khai bằng ngôn ngữ C ++, có hiệusuất cao hơn đối với dữ liệu nhỏ và trường hợp sử dụng mạng lưới tập trung

1.6 Bộ công cụ của Hyperledger

• Hyperledger Caliper: Hyperledger Caliper được biết đến là một công cụ chuẩnBlockchain và thuộc các dự án được tổ chức bởi Linux Foundation Công cụ nàycho phép người dùng đo lường hiệu suất của việc triển khai một Chuỗi khối cụ thểnào đó, thể hiện trong những báo cáo có chứa những chỉ số hiệu suất, như TPS(Giao dịch mỗi giây), độ trễ giao dịch, tài nguyên sử dụng,

Nhờ đó, người dùng có thể đánh giá, phân tích và tối ưu dự án Blockchain đượcxem xét hay lựa chọn thực hiện Blockchain phù hợp với nhu cầu cụ thể

• Hyperledger Cello: Hyperledger Cello là bộ công cụ liên quan tới mô-đun Blockchain,được tạo ra nhằm đưa mô hình triển khai mới theo yêu cầu vào hệ sinh thái Chuỗikhối Nhờ đó, thời gian và chi phí cho việc tạo, quản lý cũng như chấm dứt cácBlockchain sẽ được giảm thiểu

Hyperledger Cello còn mang tới khả năng hỗ trợ dịch vụ cho người dùng một cáchhiệu quả và tự động trên nhiều cơ sở hạ tầng khác nhau, ví dụ: máy tính từ xa,máy ảo,

• Hyperledger Composer: Hyperledger Composer trong Hyperledger là gì? Đây

là một bộ công cụ giúp tạo ra những hợp đồng thông minh, ứng dụng Blockchain

Trang 11

Chuỗi khối và ứng dụng Nhóm 9

một cách đơn giản và nhanh chóng Từ đó, chủ doanh nghiệp và nhà phát triển cóthể giải quyết hiệu quả hơn nhiều vấn đề kinh doanh khác nhau

Hyperledger Composer được xây dựng thông qua JavaScript và tận dụng các công

cụ hiện đại, gồm node.js, npm, CLI cùng nhiều trình soạn thảo phổ biến nên cókhả năng tạo mẫu nhanh, cho phép quản lý dễ dàng các tài sản hay dữ liệu đượclưu trữ trên Chuỗi khối,

Ngoài ra, Hyperledger Composer còn cung cấp giao diện người dùng độc đáo mangtên GUI “Playground” và được xem như điểm khởi đầu tuyệt vời cho cơ chế mớiProof of Concept

• Hyperledger Explorer: Hyperledger Explorer là là một trình tìm kiếm trong hệsinh thái Hyperledger Chúng được thiết kế như một ứng dụng Web thân thiện vớingười dùng, cho phép họ xem, gọi, triển khai hoặc truy vấn khối cũng như các dữ liệu liên quan

• Hyperledger Quilt: Hyperledger Quilt là một công cụ hỗ trợ khả năng tươngtác giữa các hệ thống sổ kế toán bằng cách thực hiện giao thức Interledger (ILP).Interledger cung cấp hoán đổi nguyên tử giữa các sổ cái và một vùng tên tài khoảnduy nhất đối với tài khoản trong mỗi sổ kế toán

Với sự có mặt của Quilt vào Hyperledger, Linux Foundation hiện đang “kết nối” cảInterledger của Java (Quilt) và JavaScript (Interledger.js)

Trong bài báo cáo này, bọn em xin tập trung vào Hyperledger Burrow, HyperledgerBurrow được phát hành vào tháng 12/2014, Hyperledger Burrow là một dự án hỗ trợtối ưu dữ liệu và giao dịch Dự án cung cấp một máy khách Blockchain dạng mô-đun,cho phép “thông dịch” hợp đồng thông minh được xây dựng dựa trên Ethereum VirtualMachine (EVM) Burrow được viết bằng ngôn ngữ lập trình Solidity bởi các nhà pháttriển phần mềm đến từ Monax và Intel

Trang 12

CHƯƠNG 2 Kiến trúc hyperledge burrow

2.1 Ý tưởng của hyperledge burrow

Burrow là một khuôn khổ ứng dụng hợp đồng thông minh và chuỗi khối chínhthức Nghĩa là, người tham gia phải có khả năng đáp ứng các trường hợp sử dụng giốngnhư với Hyperledger Sawtooth, Fabric và Besu

Cốt lõi của Burrow là triển khai Máy ảo Ethereum (EVM) tùy chỉnh, tuân thủ đầy

đủ với trạng thái được xác thực (cây Merkle) dựa trên sự đồng thuận của Tendermint.Burrow có một mô hình cấp phép kiểu Unix chi tiết thô được đưa trực tiếp vào triểnkhai EVM của nó Quyền dành cho những thứ như SEND, CREATE(hợp đồng) vàBOND (người xác thực)

Có nhiều tính năng khác được tạo ra từ việc sử dụng Burrow trong thực tế, cả đểchạy Agreements Network và từ nhiều năm nghiên cứu các trường hợp sử dụng khi nóvẫn được gọi là eris-db

Trọng tâm rõ ràng của Burrow là hỗ trợ chạy các mạng được cấp phép, theo mộtnghĩa nào đó là "open to the public" Có nhiều cách nhìn về sự tham gia của mạng với

mô hình quyền của Burrow Trình xác thực có thể được thiết lập trên cơ sở chỉ dànhcho những người được mời, việc tạo hợp đồng có thể bị giới hạn ở các hợp đồng tự trịthay vì người tham gia là con người hoặc Burrow có thể được định cấu hình giống như Ethereum công khai không được phép Burrow đặc biệt quan tâm đến các phương thứchoạt động giúp thu hẹp khoảng cách giữa các chuỗi tư nhân và các chuỗi không đượcphép công khai Cây cầu này là lý do tại sao Burrow đánh giá cao sự đồng thuận củaBFT và tại sao chúng tôi đưa vào các nguyên tắc quản trị dựa trên đại biểu

Trang 13

Chuỗi khối và ứng dụng Nhóm 9Burrow tránh dựa vào việc điều phối vùng chứa và máy ảo như một phần của thiếtlập cơ bản Những công nghệ này rất mạnh mẽ và cũng có thể che giấu vô số tội lỗi.Burrow cung cấp trải nghiệm công thái học dành cho nhà phát triển trên máy tính xáchtay hoặc máy chủ mà không cần điều phối bộ chứa hoặc docker trong trường hợp đầutiên Burrow vẫn có hỗ trợ Kubernetes chất lượng cao để sử dụng trong sản xuất, nhưngcũng có thể tạo mạng nhiều nút trực tiếp trên máy tính xách tay của mình Burrowmong muốn cung cấp một trải nghiệm người dùng hợp lý cho nhà phát triển và giúpxây dựng trực giác của nhà phát triển bằng các công cụ của chúng tôi như đầu ra gỡlỗi JSON hoặc điểm cuối thông tin HTTP.

Burrow cung cấp các tệp nhị phân được biên dịch chéo được liên kết tĩnh choLinux, macOS và Windows

Burrow chạy trên một sự đồng thuận của Tendermint BFT ưu tiên tính chính xác,tính hữu hạn, chỉ hiển thị cấu hình bổ sung khi cần thiết và cố gắng cung cấp cấu hìnhcấp cao hơn cũng như mặc định rõ ràng để giảm số kiến thức nền mà bạn cần sử dụng

2.2 Ba khía cạnh của Burrow

• Cầu nối Hyperledger với hệ sinh thái Tendermint/Cosmos: Burrow đượctích hợp chặt chẽ với Tendermint thông qua giao diện ABCI để đạt được sự đồngthuận Sự tích hợp này có nghĩa là Burrow đóng vai trò là một cách tuyệt vời đểtham gia Mạng Cosmos mới nổi khi mạng và giao thức đó xuất hiện, Burrow sẽ làmột trong những khuôn khổ đầu tiên tham gia vào nó Nếu bạn quan tâm đến việcchạy các hợp đồng thông minh trên Cosmos và các đề xuất liên chuỗi khối của họthì dự án Burrow đã xây dựng hầu hết những gì bạn cần Chúng tôi dự định sẽ tiếptục đẩy mạnh phong bì về những gì có thể chạy trên Tendermint/Cosmos

• Dự án tương thích và chuỗi bên Ethereum với sự hỗ trợ cho các ngônngữ hợp đồng thông minh tiên tiến thông qua WASM : Vì Burrow chia sẻngôn ngữ hợp đồng thông minh và ABI với Ethereum nên chúng tôi có trở kháng

Ngày đăng: 17/03/2023, 21:43

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w