Tubo Man

Tubo Man

1551317302

How organizations are connected in Hyperledger

I'm trying so hard to find out exactly how organizations are connected with each other in Hyperledger.

For example, when an end user initiates a transaction and sends it to the client app, app sends it to endorser peer, endorser checks transaction validity, calls chaincode, simulates a transaction and creates read/write set. after that, endorser peer sends transaction response to client app again. Now client app sends it to orderer peer. Other organizations need this transaction in their ledger too right? but I can't find out how after that this transaction is connected with other organizations? can anyone help me to make it clear?

#cryptocurrency #blockchain #hyperledger

What is GEEK

Buddha Community

Elthel Mario

1551339639

The complete process is defined in 7 steps, you are asking about what happens after step 4 in the process.

Step 1 — a client (an application) , a user send a transactions proposal to the network (after going through the steps refer the diagram below)

Step 2 — this proposal is received by every endorsing peer in the network, they simulate it (via smart contracts hosted by endorsing peers) and creates a read write set. Read write (RW set) is what the transaction capture upon simulation from the current world state of ledger while reading and what would have been written to the ledger had the transaction been executed

Step 3 — this RW set is then signed by each endorsing peer and sent back to the client application

Step 4 — the application then forwards the RW set and the signed transaction to the ordering service

Step 5 –ordering service receives these endorsed transactions and RW sets and orders these in to blocks and delivers them to all committing peers in the network Ordering service only specifies the order in which transactions should be committed to the shared ledger, neither do they maintain a ledger nor they hold chaincodes or simulate transactions

Step 6- committing peers upon receiving blocks from ordering service validate each transaction in the blocks. How does it validate? it compares the received RW set with the current world state to check whether they match. Upon validation transaction is written to the ledger and world state updates as write data from RW set gets written to the ledger Committing peers may or may not hold smart contracts. They just update the world state of the ledger

Step 7 –each peer will notify the application about the success or the failure of the transaction

PostgreSQL Connection Pooling: Part 4 – PgBouncer vs. Pgpool-II

In our previous posts in this series, we spoke at length about using PgBouncer  and Pgpool-II , the connection pool architecture and pros and cons of leveraging one for your PostgreSQL deployment. In our final post, we will put them head-to-head in a detailed feature comparison and compare the results of PgBouncer vs. Pgpool-II performance for your PostgreSQL hosting !

The bottom line – Pgpool-II is a great tool if you need load-balancing and high availability. Connection pooling is almost a bonus you get alongside. PgBouncer does only one thing, but does it really well. If the objective is to limit the number of connections and reduce resource consumption, PgBouncer wins hands down.

It is also perfectly fine to use both PgBouncer and Pgpool-II in a chain – you can have a PgBouncer to provide connection pooling, which talks to a Pgpool-II instance that provides high availability and load balancing. This gives you the best of both worlds!

Using PgBouncer with Pgpool-II - Connection Pooling Diagram

PostgreSQL Connection Pooling: Part 4 – PgBouncer vs. Pgpool-II

CLICK TO TWEET

Performance Testing

While PgBouncer may seem to be the better option in theory, theory can often be misleading. So, we pitted the two connection poolers head-to-head, using the standard pgbench tool, to see which one provides better transactions per second throughput through a benchmark test. For good measure, we ran the same tests without a connection pooler too.

Testing Conditions

All of the PostgreSQL benchmark tests were run under the following conditions:

  1. Initialized pgbench using a scale factor of 100.
  2. Disabled auto-vacuuming on the PostgreSQL instance to prevent interference.
  3. No other workload was working at the time.
  4. Used the default pgbench script to run the tests.
  5. Used default settings for both PgBouncer and Pgpool-II, except max_children*. All PostgreSQL limits were also set to their defaults.
  6. All tests ran as a single thread, on a single-CPU, 2-core machine, for a duration of 5 minutes.
  7. Forced pgbench to create a new connection for each transaction using the -C option. This emulates modern web application workloads and is the whole reason to use a pooler!

We ran each iteration for 5 minutes to ensure any noise averaged out. Here is how the middleware was installed:

  • For PgBouncer, we installed it on the same box as the PostgreSQL server(s). This is the configuration we use in our managed PostgreSQL clusters. Since PgBouncer is a very light-weight process, installing it on the box has no impact on overall performance.
  • For Pgpool-II, we tested both when the Pgpool-II instance was installed on the same machine as PostgreSQL (on box column), and when it was installed on a different machine (off box column). As expected, the performance is much better when Pgpool-II is off the box as it doesn’t have to compete with the PostgreSQL server for resources.

Throughput Benchmark

Here are the transactions per second (TPS) results for each scenario across a range of number of clients:

#database #developer #performance #postgresql #connection control #connection pooler #connection pooler performance #connection queue #high availability #load balancing #number of connections #performance testing #pgbench #pgbouncer #pgbouncer and pgpool-ii #pgbouncer vs pgpool #pgpool-ii #pooling modes #postgresql connection pooling #postgresql limits #resource consumption #throughput benchmark #transactions per second #without pooling

Ian  Robinson

Ian Robinson

1623250560

An Introduction To Data Connectivity and Data Connectivity Solutions

In this article, we discuss facts about data connectivity, the related concepts, its benefits, as well as a discussion on some data connectivity solutions.

Introduction

In today’s world, data is the crux of major business decisions used by organizations all over the world. As such, it is imperative that the organizations have access to the right data and be able to analyze and make business decisions proactively. This article talks about data connectivity, the related concepts, its benefits, as well as a discussion on some data connectivity solutions.

#big data #data connectivity #data connectivity solutions #connectivity

Devin Pinto

1615281046

How does Hyperledger Fabric Blockchain Work?

Blockchain is a revolutionary technology that has ushered in a new age. This distributed ledger technology is the foundation for Bitcoin trading, but it has evolved into a mainstream technology with a wide range of applications. Blockchain developers are in high demand across a wide range of industries; from food to banking, Blockchain technology has a wide range of applications.

Despite the fact that Blockchain technology has been steadily growing, there are some concerns about its use. The lack of governance and scalability, as well as privacy, are major concerns that must be addressed. But the truth is that we have both public and private Blockchains. While the public Blockchain is available to everyone, businesses are more interested in the private Blockchain. The private Blockchain, on the other hand, is much more stable.

The Hyperledger Fabric:

Hyperledger Fabric comes to mind when we talk about permissioned Blockchain. This Blockchain platform provides a solution for businesses. It is also used by businesses for transactions and knowledge exchange. Members are the organisations that are a part of this consortium.

Now comes the Hyperledger fabric’s operation. Each member of the Blockchain network who wishes to participate in the network must first set up their peers. All of the members are cryptographically configured to look like they have access to the Certificate Authority and other information.

Clients submit transaction requests to the members of the member organisation. To connect with the Hyperledger Fabric network, this client programme uses the Hyperledger Fabric SDK or REST web service.

Hyperledger Fabric differs from Blockchain in that it is a permissioned network in which representatives of participating organisations grant permission, enhancing the platform’s protection. As a result, it is completely safe and stable.

Hyperledger fabric’s main features include:

1. Permissioned membership- Unlike public Blockchains, where identities are anonymous, all Hyperledger fabric participants have identities.

2. Scalability and performance- Hyperledger fabric is based on a modular architecture and consists of the following components:

• Chain code (distributed logic processing and agreement)
• Putting the transaction in order
• As well as transaction confirmation and dedication.

It improves scalability and efficiency by allowing for verification across various node types.

3. Data security— Another benefit of using Hyperledger Fabric is that it ensures data security. For key generation, the user receives both modified and unmodified PKCS11, which adds to the protection.

These are some of the advantages that Hyperledger fabric provides, and this is why so many businesses are interested in using it. These characteristics of Blockchain would increase its popularity and expand its scope.

As a result of this development, there will be a greater demand for Hyperledger experts who can help with the implementation of this technology. If you want to advance your career in this field, you should enrol in the Blockchain Council’s Hyperledger certification programme.

#hyperledger certification #hyperledger training #what is hyperledger #blockchain council

Top Hyperledger Blockchain Development Companies Reviews 2020 – TopDevelopers.co

An extensively researched list of top hyperledger developers with ratings & reviews to help find the best hyperledger Blockchain Development Companies around the world.
The Hyperledger development companies listed here are experts in augmenting the enterprises by developing a distributed and open source ledger for business collaborations. These Blockchain development companies are noted for their qualified teams and professionalism in project development. The Hyperledger development service providers here can empower business collaborations aptly through a distributed ledger.

#list of best hyperledger development companies #hyperledger development service providers #top hyperledger blockchain companies #blockchain development companies #top hyperledger developers

PnPPowerShellを使用したSharePointOnlineでのアプリのみの認証

Azure AD Appのみの認証は、M365サービスへの認証と、データの読み取り、データのアップロード、自動化スクリプトを介したバックエンドジョブの実行などの操作に使用されています。Microsoftは、Azure ADに登録されているアプリケーションに証明書ベースの認証を使用して、M365または任意のクラウドサービスに対して認証することをお勧めします。CBAは、ユーザーのIDを検証するための非常に堅牢で安全なメカニズムです。 

この記事では、私が最近遭遇したユースケースについて説明したいと思います。以前は、SharePoint App Only認証を使用しています。これはACS(Azure Controlサービス)の概念であり、サイトコレクションの管理者はサイトコレクションに/_layouts/appregnew.aspxを追加することで、クライアントIDとクライアントシークレットを作成できます。アプリケーションで。ただし、このACSアプリのみのアクセストークン方式を使用する場合の問題はほとんどありません。

  • 認証は安全ではありません。MSFTは、AzureADアプリのみの認証に切り替えることをお勧めします。
  • アプリケーションが複数のサイトコレクションと通信するようにする場合は、複数のクライアントIDとシークレットを作成する必要があり、処理が面倒になります。

ACSトークンベースの認証の詳細については、参照セクションを参照してください。

幸いなことに、Azure ADアプリでは、SharePointのAPIアクセス許可に「Sites.Selected」という新しいアクセス許可が追加されました。これにより、AzureADアプリは単一のクライアントと証明書の詳細を使用して複数のサイトコレクションに対して認証できます。 

証明書を使用したこのAzureADアプリのみの認証に進む前に、Azure ADの証明書ベースの認証(別名CBA)とは何かを理解しようとします。AzureADには2種類のCBAがあります。 

  1. フェデレーションADFSを使用した証明書ベースの認証
  2. AzureAD証明書ベースの認証

フェデレーションADFSを使用した証明書ベースの認証

以前は、CBAを実装するために、ADFSサービスをユーザーとAzureADの間にデプロイする必要がありました。ADFSを使用するCBAは、X.509証明書を使用してAzureADに対して認証します。

  • ここで、ユーザーは自分の資格情報とデバイスにインストールされた証明書を使用してアプリケーションに署名します。
  • ADFSはユーザーの資格情報と証明書を検証し、成功するとアクセストークンをユーザーに渡してアプリケーションにアクセスします。

AzureAD証明書ベースの認証

Azure AD CBAである最新バージョンでは、ADFSの構成と展開は必要ありません。ユーザーはAzureADと直接対話し、アプリケーションに対して認証できます。

ADFSおよびAzureADCBAを使用したCBAの詳細については、参照セクションに記載されている記事を参照してください。

前提条件

  • PnP.Powershellバージョン1.10.0。このバージョンでは、CBAを使用した認証が更新されていることに注意してください。

  • PowerShellバージョン5.1以降
  • PowerShellコマンドの実行に使用されるアカウントには、「グローバル管理者」権限が必要です。

AzureADアプリを作成する

次に、APIアクセス許可「サイト」を使用してAzureADアプリを作成する手順を実行します。タイプ「アプリケーション」の「選択済み」。次に、このAzure ADアプリを使用して、複数のサイトコレクションに対して認証します。記事を正しく実行するには、最新のPnPPowershellバージョンがインストールされている必要があります。

ステップ1

管理者としてPowerShellISEまたはコマンドウィンドウを開きます。

ステップ2

以下のPSコマンドを実行してアプリケーションを登録します。以下のコマンドを実行しているアカウントに「グローバル管理者」権限があることを確認してください。アカウントでMFA(Multi-Factor Authentication Enabled)がある場合は、プロンプトに従います

Register-PnPAzureADApp -ApplicationName SPSitesSelected -Tenant contosodev.onmicrosoft.com -Store CurrentUser -SharePointApplicationPermissions "Sites.Selected" -Interactive

SharePointOnlineサイトに接続するための証明書ベースの認証

SharePointOnlineサイトに接続するための証明書ベースの認証

ステップ3

認証が成功すると、必要なアーティファクトをチェックして同意フローを開始するために60秒待つことを示す以下のメッセージが表示されます。

SharePointOnlineサイトに接続するための証明書ベースの認証

ステップ4

アプリを登録してから、証明書と指紋を作成するために、もう一度認証するように求められます。プロンプトに従います

SharePointOnlineサイトに接続するための証明書ベースの認証

ステップ5

これで、以下のように認証が成功すると同意がポップアップ表示されます。アプリ名(この場合はSPSites Selected)と、承認およびキャンセルするオプションが表示されます。

SharePointOnlineサイトに接続するための証明書ベースの認証

[アプリ情報]をクリックして、アプリの詳細を確認することもできます。

ステップ6

[同意する]をクリックして同意することに同意すると、コマンド出力ウィンドウから次の情報が表示されます。

SharePointOnlineサイトに接続するための証明書ベースの認証

次の値があります、

  • Pfxファイル:証明書に関連付けられた公開鍵と秘密鍵の両方の情報が含まれています。これは組織外で共有しないでください。
  • Cerファイル:公開鍵とデバイス(この場合はサーバー)に関する情報が含まれています。これは通常、パートナーと交換されます。
  • 指紋:アプリケーションへの認証に使用される証明書に関連付けられた安全なキー。
  • Base64Encoded:これはASCII文字列形式の証明書情報です。

クライアントID、指紋、およびPfxファイルとCerファイルの場所のみをメモする必要があります。

上記の手順は、AzureADアプリケーションが「Sites.Selected」である必要なアクセス許可で作成されていることを確認します。これは、特定のサイトに対してのみ認証するようにAzureADアプリを構成できるようになったことを意味します。

AzureADアプリへのアクセスを許可する

ここで、Azure ADアプリへのアクセスを許可するには、次の一連のコマンドを実行します。

ステップ1

グローバル管理者の資格情報を持つPnPPowerShellモジュールを使用して、テナントのSharePoint管理者URLにログインします。

Connect-PnPOnline -Url "https://contoso-admin.sharepoint.com" -Interactive

SharePointOnlineサイトに接続するための証明書ベースの認証

ステップ2

認証時に、PnP管理シェルが実行できる権限に関する次の情報を取得します。

ここでは、組織に代わって同意するか、チェックを外したままにすることができます。[組織を代表して同意する]をオンにした場合、他のユーザーは同意を求められません。

ステップ3

次のコマンドを実行して、アプリに権限を付与します。アプリに付与できる権限は、「読み取り」または「書き込み」の2セットのみであることに注意してください。

Grant-PnPAzureADAppSitePermission -AppId 'YOUR APP ID HERE' -DisplayName 'APP DISPLAY NAME HERE' -Site 'https://contosodev.sharepoint.com/sites/CBADemo1' -Permissions Write

SharePointOnlineサイトに接続するための証明書ベースの認証

検証

ステップ1

権限が付与されているサイトに接続して、アプリへのアクセスを検証します。問題なくコンテンツが表示されるはずです。この場合、以前の接続が存在する場合は、以前のPnP接続から切断します。

Disconnect-PnPOnline

ステップ2

以下のコマンドを入力して、他にPnP接続が存在しないことを確認します。

Get-PnPConnection

「現在の接続にはSharePointコンテキストがありません」というエラーが表示されるはずです。

SharePointOnlineサイトに接続するための証明書ベースの認証

ステップ3

次に、AzureADアプリのクレデンシャルを使用してSharePointサイトに接続します。

Connect-PnPOnline -Url "https://contosodev.sharepoint.com/sites/CBADemo2" -ClientId "AZURE AD APP ID" -Thumbprint "CERT THUMP PRINT" -Tenant "YOUR TENANT DOMAIN"

アプリID(クライアントID)とフィンガープリントの値は、[AzureADアプリの作成]セクションの手順6で生成されることに注意してください。Azure ADポータルにログインし、[エンタープライズアプリケーション]でアプリを確認することで、AzureADから詳細を取得することもできます。

SharePointOnlineサイトに接続するための証明書ベースの認証

同様に、テナントドメインは、クイック起動から[Azure Active Directory]をクリックして、[プライマリドメイン]の値を探すことで取得できます。

SharePointOnlineサイトに接続するための証明書ベースの認証

ステップ4

次に、以下のコマンドを実行して、アプリが接続されているサイトを確認します。

Get-PnPSite

ステップ5

次に、以下のコマンドを実行して、このサイトコレクション内のすべてのリストのリストを取得します。

Get-PnPList

SharePointOnlineサイトに接続するための証明書ベースの認証

AzureADアプリがアクセスする必要のある他のサイトコレクションに対しても同じコマンドを実行できます。

ステップ6

アクセスが許可されていないサイトに接続して、アプリへのアクセスを検証します。403forbiddenエラーが表示されるはずです。

Connect-PnPOnline -Url "https://contosodev.sharepoint.com/sites/M365POC" -ClientId "YOUR CLIENT ID" -Thumbprint "CERT THUMP PRINT" -Tenant "contosodev.onmicrosoft.com"

SharePointOnlineサイトに接続するための証明書ベースの認証

クライアントIDと証明書のサンププリントを使用してサイトに接続しているときにエラーがスローされないことに気付いたかもしれませんが、サイトの詳細またはリストのコンテンツを取得するときにエラーがスローされます。

完全なスクリプト

#Creating Azure AD App with Certificate Thumbprint.
Register-PnPAzureADApp -ApplicationName SPSitesSelected -Tenant contosodev.onmicrosoft.com -Store CurrentUser -SharePointApplicationPermissions "Sites.Selected" -Interactive
#Connecting to SharePoint online Admin center using Global Admin Credentials
Connect-PnPOnline -Url "https://contosodev-admin.sharepoint.com" -Interactive
#Granting Access to Azure AD App for specific sites
Grant-PnPAzureADAppSitePermission -AppId 'bf8f7d56-c37f-44d6-abcb-670832e49b9c' -DisplayName 'SPSitesSelected' -Site 'https://contosodev.sharepoint.com/sites/CBADemo1' -Permissions Write
Grant-PnPAzureADAppSitePermission -AppId 'bf8f7d56-c37f-44d6-abcb-670832e49b9c' -DisplayName 'SPSitesSelected' -Site 'https://contosodev.sharepoint.com/sites/CBADemo2' -Permissions Write
#Disconnecting the previous connections
Disconnect-PnPOnline
#Validating the connection
Get-PnPConnection
#Connecting to SPO site using Azure AD App
Connect-PnPOnline -Url "https://contosodev.sharepoint.com/sites/CBADemo1" -ClientId "bf8f7d56-c37f-44d6-abcb-670832e49b9c" -Thumbprint "6A506565EABCD759C204C8517955301420A0C02D" -Tenant "contosodev.onmicrosoft.com"
#Gettting site details
Get-PnPSite
#Getting the list content
Get-PnPList
#Disconnecting from the Azure AD App connection
Disconnect-PnPOnline
#Connecting to SPO site using Azure Ad App with other site where access is not being granted.
Connect-PnPOnline -Url "https://contosodev.sharepoint.com/sites/M365POC" -ClientId "bf8f7d56-c37f-44d6-abcb-670832e49b9c" -Thumbprint "6A506565EABCD759C204C8517955301420A0C02D" -Tenant "contosodev.onmicrosoft.com"
#Get the site details
Get-PnPSite
#Get list content for site
Get-PnPList

結論

したがって、この記事では、

  • AzureAD証明書ベースの認証とは何ですか
  • さまざまな種類の認証
  • PnPモジュールを使用して、「Sites.Selected」APIアクセス許可を持つAzureADアプリを生成します。
  • Azure ADアプリへのアクセスを許可してから、アクセスを検証します。

参考文献

 このストーリーは、もともとhttps://www.c-sharpcorner.com/article/certificate-based-authentication-to-connect-to-sharepoint-online-sites/で公開されました。

#authentic #sharepoint #azure