Hyperledger Besu – Blockchain công cộng mã nguồn mở Hyperledger

Bạn đang muốn tìm hiểu về Hyperledger Besu? Nếu bạn làm vậy, thì bạn đã đến đúng nơi.

Thế giới blockchain đang nở rộ với những dự án thú vị. Đó là tất cả về việc mang lại giải pháp tốt nhất cho các công ty muốn sử dụng blockchain.

Hyperledger là một trong những dự án DLT lớn nhất hiện có. Đây là sự hợp tác mã nguồn mở nhằm mang lại nỗ lực tốt nhất cho việc phát triển công nghệ blockchain. Với nỗ lực toàn cầu, Linux Foundation muốn xây dựng một khuôn khổ mà các công ty có thể tuân theo trên toàn thế giới. Các nhà lãnh đạo từ các ngành dọc khác nhau đang tham gia vào dự án, bao gồm ngân hàng, chuỗi cung ứng, sản xuất, tài chính và công nghệ.

Hyperledger bao gồm một số dự án bao gồm Hyperledger Fabric phổ biến nhất.

Gặp gỡ Hyperledger Besu, một dự án mã nguồn mở mới gần đây đã được thêm vào danh sách các dự án của Hyperledger.

Hyperledger Besu là gì?

Hyperledger Besu là dự án blockchain công khai đầu tiên tham gia chính thức vào Hyperledger. Trước khi tiếp quản, nó được biết đến với cái tên ConsenSys ’Pantheon. Thành viên mới lần đầu tiên được đề xuất bổ sung vào thành viên hiệp hội vào ngày 8 tháng 8.

Đó là một bước tiến lớn khi chúng tôi có các dự án tuyệt vời trong tập đoàn bao gồm Hyperledger Fabric và Hyperledger Sawtooth, được hỗ trợ bởi cả IBM và Intel..

Vào ngày 29 tháng 8 năm 2019, Hyperledger Besu đã được công bố là một phần của tập đoàn. Đó là một sự bổ sung tuyệt vời vì nó là blockchain công khai đầu tiên tham gia vào hàng ngũ của Hyperledger, nơi chỉ các blockchains được cấp phép là một phần của.

Vậy, Hyperledger Besu là gì?

Nó là một ứng dụng khách Ethereum mã nguồn mở được phát triển với giấy phép Apache 2.0. Nó cũng được viết bằng Java và sử dụng mạng công cộng Ethereum. Các công nghệ quan trọng khác được sử dụng để làm cho Besu hoạt động bao gồm Gorli, Rinkeby và Ropsten.

Khi nói đến phương pháp đồng thuận, nó sử dụng Proof of Authority (Clique và IBFT 2.0) và Proof of Work (Ethash).

Nói chung, đây là một giải pháp tuyệt vời cho phép các doanh nghiệp xây dựng các ứng dụng có khả năng mở rộng, hiệu suất cao trên một mạng riêng. Hơn nữa, nó cũng đi kèm với sự hỗ trợ của cấp phép và quyền riêng tư.


Máy khách Ethereum là gì?

Nếu bạn đã chú ý, bạn đã biết rằng chúng tôi đã đề cập đến Besu với tư cách là một khách hàng Ethereum. Vì vậy, những gì nó là một khách hàng Ethereum? Hãy khám phá.

Máy khách Ethereum là một phần mềm được sử dụng để triển khai giao thức Ethereum. Nói cách đơn giản, nó có thể được sử dụng để làm những việc sau:

  • Tạo môi trường thực thi trong chuỗi khối Ethereum để xử lý các giao dịch
  • Lưu trữ dữ liệu liên tục bao gồm lưu trữ thực hiện giao dịch
  • Bật giao tiếp mạng ngang hàng (P2P) giữa các nút
  • Cung cấp các API để phát triển an toàn và tương tác với blockchain.

Bạn có thể làm gì với Hyperledger Besu? Các trường hợp sử dụng Hyperledger Besu

Để hiểu rõ hơn về chuỗi khối Hyperledger Besu, hãy cùng tìm hiểu những điều có thể thực hiện bằng mạng Hyperledger Besu.

Điều đầu tiên mà bạn sẽ nhận thấy về Besu là giao diện dòng lệnh của nó. Nó cũng cung cấp API JSON-RPC. Cả hai điều này đều có thể được sử dụng để theo dõi, gỡ lỗi, duy trì và chạy các nút trên mạng Ethereum.

Nói tóm lại, nó có thể được sử dụng cho những thứ rất giống với những gì mạng Ethereum có khả năng:

  • Phát triển ứng dụng phi tập trung (dApp)
  • Phát triển hợp đồng thông minh
  • Khai thác Ether

Khi nói đến hỗ trợ công nghệ, nó cung cấp các công cụ phổ biến để phát triển dApp và hợp đồng thông minh. Nó hỗ trợ các công cụ như Remix, Truffle và web3j. Tuy nhiên, bạn có thể không tìm thấy hỗ trợ quản lý khóa trong Besu. Vì vậy, bạn cần sử dụng EthSigner hoạt động hoàn hảo với nó, cung cấp cho bạn công cụ để quản lý khóa phù hợp. Mạng Hyperledger Besu lý tưởng cho nhu cầu doanh nghiệp, có nghĩa là có rất nhiều trường hợp sử dụng Hyperledger Besu.

Các tính năng chính của Besu: Cách hoạt động của Hyperledger Besu

Giờ đây, sự hiểu biết của chúng ta về mạng Hyperledger Besu đã trở nên mạnh mẽ hơn, đã đến lúc thảo luận về các tính năng của nó. Bằng cách xem qua các tính năng, bạn cũng sẽ có thể hiểu điều gì khiến Besu trở thành một thành viên quan trọng của tập đoàn Hyperledger.

Đặc điểm kỹ thuật của EEA (Enterprise Ethereum Alliance)

→ Nó thực hiện đặc tả EEA (Enterprise Ethereum Alliance). Đặc điểm kỹ thuật đảm bảo rằng nó có thể kết nối với các dự án Ethereum khác có thể là nguồn đóng và nguồn mở. Đặc điểm kỹ thuật rất quan trọng vì nó đảm bảo rằng các dự án không phải lo lắng về các vấn đề khóa nhà cung cấp. Hơn nữa, bạn cũng có được giao diện tiêu chuẩn để xây dựng ứng dụng liền mạch. Besu làm việc hiệu quả với EEA và thành công trong việc cung cấp các tính năng dành cho doanh nghiệp.

EVM (Máy ảo Ethereum)

EVM là cốt lõi của chuỗi khối Hyperledger Besu. Nó là Turing hoàn thành. Nó giúp thực hiện hợp đồng thông minh thông qua các giao dịch chuỗi khối Ethereum.

Thuật toán đồng thuận

Hyperledger Besu cung cấp các tùy chọn tốt khi nói đến thuật toán đồng thuận. Ngoài ra, bạn nhận được hỗ trợ cho cả thuật toán đồng thuận Proof of Work và Proof of Authority. Các thuật toán được sử dụng để thực hiện các giao dịch trên mạng Ethereum.

Proof of Work → Với Proof of Work, các thợ đào có thể thực hiện hoạt động khai thác trên mạng chính Ethereum. Theo mục đích, Ethash được sử dụng.

Proof of Authority → Đối với Proof of Authority, bạn nhận được nhiều giao thức PoA. Nếu bạn chưa biết, PoA chỉ hoạt động nếu có sự tin cậy đã được thiết lập giữa các nút tham gia vào mạng. Đó là lý do tại sao các thuật toán PoA lý tưởng cho các mạng được cấp phép, đặc biệt là những mạng được triển khai bởi các doanh nghiệp.

  • Ngoài hộp, bạn có thể sử dụng IBFT 2.0. Các tài khoản được phê duyệt sẽ quản lý các khối và xác thực giao dịch. Các tài khoản được phê duyệt được gọi là trình xác thực. Sau đó, nhóm người xác nhận hoạt động như một thực thể quyền lực, nơi họ có thể bỏ phiếu để thêm / xóa người xác nhận. Một hạn chế là IBFT 2.0 không cho phép phân nhánh và sẽ luôn có một chuỗi chính duy nhất.
  • Clique là một thuật toán bảo vệ đảm bảo khả năng chịu lỗi. Nó có thể chịu đựng đến một nửa số trình xác nhận không thành công. Đối với IBFT 2.0, cần phải chạy ít nhất 2/3 trình xác thực để tiếp tục quá trình tạo khối.

Lưu trữ

Mạng Hyperledger Besu rất linh hoạt khi cung cấp hỗ trợ lưu trữ. Cũng giống như các giải pháp blockchain khác, nó cũng sử dụng phương pháp khóa-giá trị. Ngoài ra, nó sử dụng cơ sở dữ liệu khóa-giá trị RocksDB. Nó giúp cung cấp sự bền bỉ của dữ liệu. Tuy nhiên, dữ liệu được lưu trữ có thể được chia thành hai loại phụ.

Chuỗi khối

→ Các tiêu đề khối được sử dụng để tạo thành chuỗi. Thông tin trong tiêu đề khối được sử dụng để xác minh trạng thái blockchain bằng mật mã.

→ Mặt khác, các cơ quan khối chứa danh sách giao dịch đặt hàng cho mỗi khối

→ Siêu dữ liệu thực hiện giao dịch được lưu trữ trong biên lai giao dịch.

Trạng thái thế giới

→ Băm stateRoot được sử dụng bởi mọi tiêu đề khối để tham chiếu trạng thái thế giới.

→ Đây là ánh xạ của các tài khoản để giải quyết

→ Số dư ether được lưu trữ trong các tài khoản thuộc sở hữu bên ngoài

→ Hợp đồng thông minh chứa mã và bộ nhớ

Mạng P2P

Khi nói đến mạng P2P, Besu triển khai giao thức mạng Ethereum devp2p. Giao thức đảm bảo giao tiếp giữa các khách hàng. Nó cũng hoạt động như một giao thức con IBFT2 bổ sung. Khám phá được thực hiện bằng giao thức dựa trên UDP, tương tự như những gì mạng internet thực hiện. Đối với giao tiếp, nó sử dụng RLPx – một giao thức dựa trên TCP. Mặt khác, RLPx sử dụng các giao thức phụ khác nhau bao gồm Giao thức dây ETH (để đồng bộ hóa trạng thái giao dịch) và giao thức con IBF (để đưa ra quyết định đồng thuận)

API đối mặt với người dùng

Besu đi kèm với các API tuyệt vời. Các API mà nó cung cấp qua giao thức HTTP và WebSocket bao gồm các API EEA JSON-RPC và các API mainnet Ethereum. Nó cũng hỗ trợ API GraphQL.

Giám sát

Hyperledger Besu blockchain hỗ trợ các tính năng giám sát – bao gồm giám sát hiệu suất mạng và nút. Prometheus được sử dụng để giám sát hiệu suất của nút. Ngoài ra, phương pháp API JSON-RPC có thể được sử dụng cho debug_metrics.

Khi nói đến hiệu suất mạng, các công cụ Alethi bao gồm EthStats Network Monitor hoặc Block Explorer được sử dụng.

Riêng tư

Để đảm bảo quyền riêng tư, Besu cung cấp một Giám đốc giao dịch riêng. Nó đảm bảo rằng các bên liên quan trong một giao dịch không phải lo lắng về việc đánh cắp danh tính của họ hoặc bất kỳ rò rỉ thông tin nào.

Cấp phép

Cuối cùng, nó cung cấp quản lý quyền phù hợp để đảm bảo chỉ các nút được phép tham gia.

Kiến trúc Hyperledger Besu

Kiến trúc Hyperledger Besu rất đơn giản và hiệu quả. Chúng tôi đã thảo luận về tất cả các thành phần chính trong phần tính năng.

Kiến trúc Hyperledger Besu

Ba thành phần cốt lõi chính của Besu bao gồm:.

  • Lưu trữ
  • Lõi Ethereum
  • Kết nối mạng

Trước tiên, hãy thảo luận về lõi Ethereum. Cốt lõi bao gồm Máy ảo Ethereum (EVM). Nó có trách nhiệm thực hiện bất kỳ giao dịch nào. Trên đầu EVM có Bộ xử lý Tx giúp EVM hoạt động hiệu quả và hiệu quả.

Các phương pháp đồng thuận cũng là một phần của lõi Ethereum. Ở đây chúng tôi có các phương pháp đồng thuận bao gồm PoW, Clique và IBFT2. Hai thành phần chính khác của lõi Ethereum bao gồm

  • Nhóm giao dịch → Nhóm giao dịch lưu trữ thông tin liên quan đến giao dịch
  • Synchronizer → giúp đồng bộ hóa tất cả các nút và mạng.

Thật kỳ lạ, chúng ta có blockchain và trạng thái thế giới. Trạng thái thế giới bao gồm Trạng thái tài khoản, Lưu trữ tài khoản và Lưu trữ mã.

Cuối cùng, có mạng được vận hành bằng giao thức Ethereum devp2p. Bốn thành phần chính bao gồm

  • Khám phá
  • RLPx
  • Giao thức phụ ETH
  • Giao thức phụ IBF

Yêu cầu hệ thống cho Besu

Chuỗi khối Hyperledger Besu rất linh hoạt khi nói đến các yêu cầu hệ thống. Vì các mạng có thể động về bản chất, bao gồm quy mô trạng thái thế giới, số lượng giao dịch, giới hạn khối khí và độ phức tạp của các truy vấn, yêu cầu hệ thống có thể thay đổi rất nhiều.

Tuy nhiên, phần lớn, bạn cần những điều sau.

  • 4 GB RAM. Nếu bạn quyết định chạy Ethereum Mainnet, thì bạn cần 8 GB RAM
  • Về dung lượng ổ đĩa, bạn cần ít nhất 3 TB để đồng bộ hóa hoàn toàn trong khi làm việc với Ethereum mainnet

Nếu bạn vẫn còn nhầm lẫn, thì bạn cần sử dụng Prometheus để theo dõi nút để biết chính xác các yêu cầu về đĩa và CPU. Ngoài ra, bảng điều khiển Grafana hoạt động với Besu, bạn có thể sử dụng để theo dõi dễ dàng.

Lộ trình Hyperledger Besu

Thực tế là nó đã trở thành mã nguồn mở kể từ tháng 10 năm 2018, hiện nó đang được mở cho bất kỳ ai đóng góp. Lộ trình của Hyperledger Besu trông rất thú vị. Dưới đây là các mốc lộ trình chính mà họ đang hướng tới.

→ Xây dựng nhóm quyền riêng tư, cấp phép tài khoản, giao diện người dùng cấp phép, nâng cấp mạng Istanbul

: Hyperledger Besu 1.2, ngày 31 tháng 7 năm 2019

→ Hỗ trợ luồng, Giám sát tùy chỉnh cho IBFT, Quản trị cấp phép: Hyperledger Besu 1.3, ngày 07 tháng 10 năm 2019

→ Ứng dụng khách đa mạng Ethereum, Nhóm bảo mật chéo, Tính năng bảo mật nâng cao, Tích hợp doanh nghiệp, Ethereum 2.0, Đầu năm 2020.

Cài đặt Phân phối nhị phân, Xây dựng từ Nguồn và Khởi động Besu

Trong phần này, chúng ta sẽ học cách cài đặt Besu, xây dựng và khởi động nó trên MacOS và các hệ điều hành khác.

Cài đặt phân phối nhị phân

Nếu bạn đang sử dụng Mac OS, bạn cần phải có Homebrew và Java JDK để bắt đầu. Bạn cũng cần Java 11+ vì các phiên bản Java trước đó không được hỗ trợ.

Bây giờ, hãy chạy lệnh sau để cài đặt bằng Homebrew.

brew tap hyperledger / besu

brew cài đặt besu

Để kiểm tra xem Besu đã được cài đặt thành công hay chưa, hãy kiểm tra bằng lệnh sau.

besu –help

Nếu bạn đang sử dụng Unix / Linux / Windows, thì bạn tải Besu xuống mã nhị phân đóng gói. Sau khi tải xuống, hãy giải nén các tệp và đi đến thư mục riêng.

Để xác nhận rằng Besu được cài đặt chính xác, hãy sử dụng besu –help chỉ huy.

Xây dựng từ Nguồn

Để xây dựng Besu từ nguồn, bạn cần sao chép kho lưu trữ Besu.

git clone –recursive https://github.com/hyperledger/besu.git

Khi quá trình nhân bản được thực hiện xong, chúng tôi sẽ loại bỏ các bài kiểm tra bằng cách sử dụng lệnh sau:

./ gradlew build -x test

Bây giờ, hãy chuyển đến thư mục phân phối bằng lệnh:

cd xây dựng / phân phối /

Từ đó, bạn cần mở rộng kho lưu trữ phân phối bằng lệnh sau.

tar -xzf besu-.tar.gz

Với các tệp được mở rộng, bây giờ hãy chuyển sang thư mục mới.

cd besu- /

bin / besu –help

Nếu lệnh cuối cùng chạy thành công, bạn đã tạo thành công từ nguồn.

Đối với Windows, quá trình này gần như giống nhau. Bạn bắt đầu bằng cách sao chép kho lưu trữ, xóa các bài kiểm tra, đi đến thư mục phân phối, mở rộng nó và cuối cùng kiểm tra xem cài đặt có thành công hay không.

Bắt đầu Besu

Tuyệt vời, bây giờ chúng tôi đã cài đặt sẵn Besu, bây giờ chúng tôi phải chạy nó. Để bắt đầu, bạn cần thực hiện các bước sau.

  • Dữ liệu khối cục bộ
  • Cấu hình Genesis
  • Xác nhận nút đang chạy hay không
  • Chạy Node để kiểm tra

Bước đầu tiên là thiết lập dữ liệu khối cục bộ. Nếu bạn đã kết nối với mạng trước đó, thì bạn cần loại bỏ dữ liệu khối cục bộ. Bạn cũng có thể định cấu hình tùy chọn –data-path để chỉ định dữ liệu khối cục bộ mới.

Bạn có thể xóa dữ liệu khối cục bộ khỏi thư mục besu / build / Distribution / besu-. Ở đó, xóa thư mục cơ sở dữ liệu và bạn đã sẵn sàng!

Nếu bạn đang sử dụng Mainnet, Goerli, Rinkeby hoặc Ropsten, thì cấu hình nguồn gốc được chỉ định khi bạn kết nối với chúng.

Ngoài ra, bạn có thể chỉ định thuộc tính –network = dev để bắt đầu cấu hình genesis với các bootnode trống. Ngoài ra, nó thiết lập cấu hình genesis với độ khó thấp cố định.

Để xác nhận xem nút có đang chạy hay không, bạn cần sử dụng tùy chọn kích hoạt –rpc – http. Sau khi hoàn tất, hãy sử dụng cURL và sau đó gọi các phương thức API JSON-RPC. Nếu có câu trả lời thì tức là nút đang chạy.

Cuối cùng, để chạy nút để kiểm tra, bạn cần sử dụng lệnh sau

besu –network = dev –miner-enable –miner-coinbase = 0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 –rpc-http-cors-origin = ”all” –host-whitelist = ”*” –rpc-ws-enable –rpc-http-enable –data- đường dẫn = / tmp / tmpDatdir

Quyền riêng tư trong Hyperledger Besu

Các mạng được cấp phép được biết đến với các tính năng bảo mật của họ. Besu cũng không khác gì vì nó cung cấp các tùy chọn riêng tư tuyệt vời. Với Besu, bạn có thể sử dụng Quyền riêng tư tuân thủ EEA hoặc Besu-mở rộng quyền riêng tư.

Để tạo và quản lý các nhóm Quyền riêng tư, bạn có thể sử dụng các phương pháp API JSON-RPC đã có sẵn. Các phương pháp này có thể được sử dụng để tạo và quản lý các nhóm quyền riêng tư

  • priv_createPrivacyGroup
  • priv_findPrivacyGroup
  • priv_deletePrivacyGroup

Khi nói đến giao dịch, Besu chỉ thực hiện các giao dịch hạn chế mà thôi. Điều này được thực hiện để đảm bảo quyền riêng tư và thực hiện các giao dịch bảo mật.

Các giao dịch được ký bằng một khóa cụ thể hoặc một khóa ngẫu nhiên. Nếu bạn muốn đăng nhập bằng một khóa cụ thể, thì bạn cần sử dụng tệp –privacy-marker-transaction-sign-key-file, có sẵn với Hyperledger Besu.

Nếu bạn quan tâm, bạn có thể xem hướng dẫn chi tiết về cách định cấu hình mạng giao dịch riêng tư đây. Trong hướng dẫn, bạn có thể thấy Orion là một trong những điều kiện tiên quyết để bắt đầu.

Cấp phép trong Hyperledger Besu

Cấp phép là một phần quan trọng của bất kỳ khuôn khổ chuỗi khối doanh nghiệp nào. Điều này cũng đúng với Besu. Bất kỳ mạng được cấp phép nào đều xoay quanh ý tưởng chỉ cho phép các nút cụ thể. Họ tham gia và kích hoạt mạng bằng cách thực hiện một giao dịch hoặc cho phép giao dịch.

Trong trường hợp mạng ngang hàng, nó được yêu cầu thực thi các quy tắc trên các nút để có thể thực hiện việc cấp phép. Rõ ràng, cần phải có một mức độ tin cậy trước khi một mạng được cấp phép có thể hoạt động. Để đảm bảo rằng các tác nhân xấu có một vai trò tối thiểu ở đây, cần phải thực hiện các biện pháp phòng ngừa. Ví dụ, các tác nhân xấu đơn lẻ không thể tác động đến việc ra quyết định của mạng. Các quy tắc và quy định phù hợp cũng có thể giúp xác định các tác nhân xấu và loại bỏ chúng khi họ bị bắt gặp thực hiện các hành động ác ý.

Ngoài việc cấp phép nút, cũng có một tùy chọn quyền tài khoản thực thi nhiều quy tắc và quy định hơn. Việc cấp phép tài khoản có thể được sử dụng để thực thi các yêu cầu nhận dạng và giới thiệu. Nó cũng giúp tạm ngưng tài khoản, đưa vào danh sách đen các hợp đồng bị phá vỡ và hạn chế tài khoản khi thực hiện các hành động.

Blockchain Hyperledger Besu cung cấp cả local và onchain.

Sự cho phép của địa phương được thực hiện ở cấp độ nút. Để triển khai nó, một tệp cấu hình quyền được sử dụng. Vì các quyền là cục bộ, chúng không ảnh hưởng đến mạng. Điều này rất hữu ích về cách các nút hoạt động – độc lập với phần còn lại của mạng. Nó cũng được yêu cầu để bảo vệ các nút nếu có điều gì sai xảy ra.

Cấp phép Onchain, mặt khác, được mã hóa trong các hợp đồng thông minh. Việc cấp phép Onchain là trên toàn mạng và tất cả các nút đều có thể đọc và cập nhật nó. Việc cấp phép Onchain chỉ có thể được sửa đổi hoặc cập nhật khi có sự phối hợp. Ngoài ra, khi nó được cập nhật, nó sẽ được áp dụng trên toàn mạng.

Hyperledger Besu

Chú thích: Cách hoạt động của địa phương và OnChain được phép hoạt động

Bạn cũng có thể theo dõi hướng dẫn này để biết cách thiết lập mạng cấp phép trong Besu.

Những điều đáng nói khác

Hyperledger Besu GitHub: Nếu bạn nghĩ mình có thể đóng góp cho Hyperledger Besu, bạn có thể xem kho lưu trữ Hyperledger Besu GitHub đây.

Hiện tại, không có khóa học Hyperledger tốt nhất trên Besu và đó là lý do tại sao bạn cũng có thể xem tài liệu hướng dẫn sử dụng đây. Họ có hướng dẫn đầy đủ về cách khởi động nhanh mạng hoặc cách tạo mạng riêng.

Phần kết luận

Điều này dẫn chúng ta đến phần cuối của hướng dẫn bắt đầu Hyperledger Besu của chúng tôi. Ở đây, chúng tôi đã đề cập rất nhiều điều về Besu.

Chúng tôi sẽ sớm đề cập đến Hyperledger Fabric vs Besu trong thời gian sớm nhất. Vì vậy, đừng quên đăng ký nhận bản tin của chúng tôi.

Ngoài ra, bạn nghĩ gì về nó? Bình luận bên dưới và hãy cho chúng tôi biết.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map