Why does the Ordering Consensus Work?
Trevor Lee Oakley <trevor@...>
From what I know, the orderer is just assembling blocks from application transactions composed of the endorser responses to proposals. Then sending the blocks to committing peers. How is that a consensus process?
Surely we have to somehow compare the outcomes of the smart contracts and check that they all agree? Is that done in validation somehow?
Trevor
|
|
Registrar enrollment and registration
#fabric-sdk-go
Amal C Saji
Hi,
I am using the example https://github.com/chainHero/heroes-service/ with fabric-sdk-go beta version. When I try to register a new user, registrar part have same issues. I can't register a registrar. The post request return some errors "Client sent an HTTP request to an HTTPS server. : invalid character 'C' looking for beginning of value"
|
|
Fabric contributor meeting - February 5th 14:00 GMT
David Enyeart
For the contributor meeting scheduled for tomorrow, we'll do a quick project update, but there are no deep dive topics scheduled yet. If you have a proposal or other topic you'd like to discuss, please let us know here or on RocketChat fabric-maintainers.
|
|
Re: Error when joining the channel
Nikhil Gupta
Hi Marina, I would check the order log to see what the problems are. You can find some help with what to look for with this stack overflow post: https://stackoverflow.com/questions/57662562/when-i-try-to-create-a-channel-using-hyperledger-fabric-the-request-fails/57662645#57662645 My guess is that your org does not have permission to create a channel in the orderer system channel. or is not a member of the system channel consortium. -----fabric@... wrote: ----- To: "hyperledger-fabric@..." <hyperledger-fabric@...> From: "Marina Wanis" Sent by: fabric@... Date: 02/01/2020 04:37AM Subject: [EXTERNAL] [Hyperledger Fabric] Error when joining the channel Hi,
I used to be able to create the channel using the channel transaction and join the channel with the command : peer channel join -o localhost:7050 -b ./acmechannel.block
I got the following error:
2020-02-01 09:24:48.338 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized Error: proposal failed (err: rpc error: code = Unknown desc = access denied: channel [] creator org [Org1MSP])
I made sure that the identity of the peer is admin. I’m really not sure why I keep getting this error. Thank you, Marina
Sent from Mail for Windows 10
|
|
Re: How to set regulator or auditor in private data collection
David Enyeart
In v2.0 we are promoting this pattern of org-specific collections, where the per organization collections implicitly exist so that you don't have to define them at all. Thank you for your explanation. I now understand it clearly. But this would cost huge efforts to maintain private data collections in production environment if there are hundreds of private data collections. How about pre-define a regulator or auditor, the private data collection will include this pre-defined regulator or auditor in the collection configuration period. So we don’t need to define every private data collection to include it. It will be automatically included in every private data collection. That would be more simple and useful for massive private data collection configuration in production environment.
A regulator or auditor would be modeled as any other organization. Hi All, The fabric doc said: “Fabric v2.0 also enables new patterns for working with and sharing private data, without the requirement of creating private data collections for all combinations of channel members that may want to transact. Specifically, instead of sharing private data within a collection of multiple members, you may want to share private data across collections, where each collection may include a single organization, or perhaps a single organization along with a regulator or auditor”. I wonder how to set regulator or auditor along with a single organization when using private data in Fabric 2.0? Is there any sample to tell how to do this?
|
|
Re: How to set regulator or auditor in private data collection
胡 银松
Thank you for your explanation. I now understand it clearly.
toggle quoted messageShow quoted text
But this would cost huge efforts to maintain private data collections in production environment if there are hundreds of private data collections.
How about pre-define a regulator or auditor, the private data collection will include this pre-defined regulator or auditor in the collection configuration period. So we don’t need to define every private data collection to include it. It will
be automatically included in every private data collection. That would be more simple and useful for massive private data collection configuration in production environment.
|
|
Re: Potential project in need of BFT orderers
#consensus
#fabric-orderer
Brian Behlendorf <bbehlendorf@...>
Excellent, thanks! I should have piped
up on this earlier when I saw the call for mass-closure of old
issues.
Brian
On 2/3/20 10:18 PM, David Enyeart
wrote:
-- Brian Behlendorf Executive Director, Hyperledger bbehlendorf@... Twitter: @brianbehlendorf
|
|
Re: Potential project in need of BFT orderers
#consensus
#fabric-orderer
David Enyeart
To clarify, as Jason mentioned the Jira FAB-33 got caught up in a recent mass cleanup of stale issues that hadn't been touched in a long time. Any issue that was automatically closed in error can be re-opened, we simply ask that a comment be added to explain the rationale for re-opening. I've re-opened FAB-33 and commented that it is targeted for a future release. You really should use a different status for deferred feature requests than "Closed", because "decided not to implement this ever" is a closer inference from "Closed" than "maybe someday". Jira is depended upon as a future-feature-request tool by lots of other projects and asking people to know it's differently treated at Fabric is another cognitive burden to new contributors. At the very least I suggest updating FAB-33 with a link to new work. Brian On 2/3/20 7:44 AM, Jason Yellick wrote:
FAB-33 was closed along with hundreds of other items in an overall cleanup of JIRA. Its closure does not indicate any mothballing or abandonment of BFT efforts, in fact, there's been considerably more activity in the space in the recent months; particularly there are some ongoing efforts to develop a golang BFT consensus library that is compatible with Fabric. JIRA can be a good tool for tracking the progress of a designed, approved, and mid-implementation item, but it's the wrong place to look for future work. Future work is to be submitted and approved as an RFC https://github.com/hyperledger/fabric-rfcs/ so I would watch that space for updates. Thanks, ~Jason
----- Original message -----
From: atom@... Sent by: fabric@... To: fabric@... Cc: Subject: [EXTERNAL] [Hyperledger Fabric] Potential project in need of BFT orderers #consensus #fabric-orderer Date: Sun, Feb 2, 2020 6:16 PM We are leading a standardization effort within SunSpec.org to utilize blockchain for securing the distributed power grid in the US. --
|
|
Re: How to set regulator or auditor in private data collection
David Enyeart
A regulator or auditor would be modeled as any other organization. Hi All, The fabric doc said: “Fabric v2.0 also enables new patterns for working with and sharing private data, without the requirement of creating private data collections for all combinations of channel members that may want to transact. Specifically, instead of sharing private data within a collection of multiple members, you may want to share private data across collections, where each collection may include a single organization, or perhaps a single organization along with a regulator or auditor”. I wonder how to set regulator or auditor along with a single organization when using private data in Fabric 2.0? Is there any sample to tell how to do this?
|
|
How to set regulator or auditor in private data collection
胡 银松
Hi All,
The fabric doc said: “Fabric
v2.0 also enables new patterns for working with and sharing private data, without the requirement of creating private data collections for all combinations of channel members that may want to transact. Specifically, instead of sharing private data within a
collection of multiple members, you may want to share private data across collections, where each collection may include a single organization, or perhaps a single organization along with a regulator or auditor”.
I wonder how to set regulator or auditor along with a single organization when using private data in Fabric 2.0?
Is there any sample to tell how to do this?
|
|
Re: Customize chaincode docker image
Brett T Logan <brett.t.logan@...>
Part of the chaincode instantiation process is to compile the JAR, this isn't something you can hijack in 1.4.x without modifying the source code. Fabric v2.0 (which released last week) provides a framework for configuring and running chaincode however you want: https://hyperledger-fabric.readthedocs.io/en/master/cc_launcher.html
And, if you want to debug your chaincode containers you can forward their standard output to the peer container where you can grep the log for the chaincodes output. You can enable this by setting CORE_VM_DOCKER_ATTACHSTDOUT=true in your peer launch environment, but note, this is not meant for production purposes as it can leak sensitive information into the peer logs from broken or malicious code.
----- Original message -----
|
|
Re: Customize chaincode docker image
sanjaykumar3989@...
Hi,
Every time when i initiate the chaincode , it take time to build the jar. To skip this process for multiple times and to learn the flow of hyperledger CC flow, i am customizing the image. Usually capturing the docker logs of the chaincode really helps in cases like this. - CC container get killed automatically. Is there is some way how i can capture the logs?
|
|
Re: Potential project in need of BFT orderers
#consensus
#fabric-orderer
Brian Behlendorf <bbehlendorf@...>
You really should use a different
status for deferred feature requests than "Closed", because
"decided not to implement this ever" is a closer inference from
"Closed" than "maybe someday". Jira is depended upon as a
future-feature-request tool by lots of other projects and asking
people to know it's differently treated at Fabric is another
cognitive burden to new contributors. At the very least I suggest
updating FAB-33 with a link to new work.
Brian
On 2/3/20 7:44 AM, Jason Yellick wrote:
-- Brian Behlendorf Executive Director, Hyperledger bbehlendorf@... Twitter: @brianbehlendorf
|
|
Re: Potential project in need of BFT orderers
#consensus
#fabric-orderer
Jason Yellick <jyellick@...>
I've seen some similar confusion to this on Rocketchat as well.
FAB-33 was closed along with hundreds of other items in an overall cleanup of JIRA. Its closure does not indicate any mothballing or abandonment of BFT efforts, in fact, there's been considerably more activity in the space in the recent months; particularly there are some ongoing efforts to develop a golang BFT consensus library that is compatible with Fabric. JIRA can be a good tool for tracking the progress of a designed, approved, and mid-implementation item, but it's the wrong place to look for future work. Future work is to be submitted and approved as an RFC https://github.com/hyperledger/fabric-rfcs/ so I would watch that space for updates. Thanks, ~Jason
----- Original message -----
|
|
Re: Private data : issues and problems
#fabric
#fabric-questions
#fabric-dstorage
Yacov
> because the actual
data is unknown to verifiers/endorsers
toggle quoted messageShow quoted text
Well but you can have the endorsement policy be satisfied by a set of members that they are all in the collection policy. Furthermore you can also have a custom endorsement policy for each collection. From: "Ivan Ch" <acizlan@...> To: fabric@... Date: 02/03/2020 01:32 PM Subject: [EXTERNAL] Re: [Hyperledger Fabric] Private data : issues and problems #fabric #fabric-questions #fabric-dstorage Sent by: fabric@... I apologize for restarting this old topic, someone sent me a private message so I think the least I can do is to make the problem clear
On Wed, Dec 11, 2019 at 06:51 PM, Gari Singh wrote: 1) hashes on chain cannot be validated by any third party, so they can be used by adversaries to trick honest participants How does this trick honest participants? When you deploy chaincode, you specify an endorsement policy. Transactions which dod not meet the endorsement policy will be marked as invalid. You need to take a look at the overall transaction flow in Fabric: https://hyperledger-fabric.readthedocs.io/en/release-1.4/txflow.html. The validation rules for Fabric include: - check to make sure the block is valid and that it was obtained from the correct orderer as specified in the channel definition - check to make sure the submitter was allowed to actually submit the transaction (e.g. is allowed to write to the chaincode) - check that the transaction meets the endorsement policy for the chaincode that was invoked - perform MVCC check In the case of private data, the steps are the same. If you are not a member of the collection, even though you do not have the actual data you still follow all of the rules above to validate the transaction (including the MVCC check). Not sure how someone can "trick" anyone if you have a strong endorsement policy (e.g. majority, etc). This is no different than how private transactions work in Quorum, Besu or even Corda if you choose not to have the notary execute transactions. The problem is that all the checks you mentioned above are checking something non-verifiable and therefore cannot be used to validate any business logic at all!!! because the actual data is unknown to verifiers/endorsers (who cares about endorsement policy if the endorser doesn't know whatever the heck he is endorsing. block, MVCC, and even transaction sender identity checks got nothing to do with the actual business logic). of course if the data is in clear text than it would work, because then the endorsers would run the logic inside the chaincode to verify the business logic associated with the transactions being endorsed. Quorum has a host of problems but at least they are exploring crypto/ZKP options like the PoC they did with JPMorgan (to be fair, that was only a PoC, but at least it was a good attempt that fabric's been lacking). the bottom line is Private data feature does not solve the data privacy problem (or any problem to be honest) but it is given a name and making people believe it does. this is unfortunate because fabric's endorsement architecture is actually a much better platform than anything ethereum to run ZKP cryptos.
|
|
Re: Private data : issues and problems
#fabric
#fabric-questions
#fabric-dstorage
Ivan Ch <acizlan@...>
I apologize for restarting this old topic, someone sent me a private message so I think the least I can do is to make the problem clear
toggle quoted messageShow quoted text
On Wed, Dec 11, 2019 at 06:51 PM, Gari Singh wrote: 1) hashes on chain cannot be validated by any third party, so they can be used by adversaries to trick honest participantsThe problem is that all the checks you mentioned above are checking something non-verifiable and therefore cannot be used to validate any business logic at all!!! because the actual data is unknown to verifiers/endorsers (who cares about endorsement policy if the endorser doesn't know whatever the heck he is endorsing. block, MVCC, and even transaction sender identity checks got nothing to do with the actual business logic). of course if the data is in clear text than it would work, because then the endorsers would run the logic inside the chaincode to verify the business logic associated with the transactions being endorsed. Quorum has a host of problems but at least they are exploring crypto/ZKP options like the PoC they did with JPMorgan (to be fair, that was only a PoC, but at least it was a good attempt that fabric's been lacking). the bottom line is Private data feature does not solve the data privacy problem (or any problem to be honest) but it is given a name and making people believe it does. this is unfortunate because fabric's endorsement architecture is actually a much better platform than anything ethereum to run ZKP cryptos.
|
|
Next Hyperledger Fabric Application Developer Community call - this Thursday, Feb 6th @ 4pm UTC (4pm UK) - 11am ET, 8am PT
Paul O'Mahoney <mahoney@...>
dear Fabric Application
Developer,
the next Fabric Application Developer community call is scheduled for this Thursday Feb 6th @ 4pm UTC (4pm UK) - 11am ET (-5 hrs), 8am PT(-8 hrs) - see time zones. It lasts approx 30-60 mins FYI. The agenda will be posted here -> https://wiki.hyperledger.org/display/fabric/Meeting+Agendas%3A+Fabric+Application+Developer+Community+Call This community call is held bi-weekly via Zoom webconference and is aimed at : -
helping the worldwide Hyperledger Fabric Application Developer community
grow (eg. developing applications, smart contracts, developing application
clients, using the SDKs, tutorials/demos etc - NodeJS/TypeScript,
Java, Go etc etc) If
you wish to share content on a call, just let me know via email direct
or DM me on Rocketchat (ID: mahoney1) and I'll put an item on the agenda.
Provide the following: The Zoom webconference ID is https://zoom.us/my/hyperledger.community More information can be found on the community page -> https://wiki.hyperledger.org/display/fabric/Fabric+Application+Developer+Community+Calls You can get calendar invites (eg iCal) here many thanks for your time - feel free to forward this email if you think it is of interest to a colleague. Paul O'Mahony Community Lead - Hyperledger Fabric Developer Community RocketChat: mahoney1 mahoney@... Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
|
|
User registration in Fabric go sdk
#fabric-sdk-go
Amal C Saji
Hi,
How to register and enroll a user in fabric sdk go? The Register function is found at /pkg/client/msp/client.go file. I am confused with how this function is invoked? Is there any reference documentation for user registration and enrollment?
|
|
Potential project in need of BFT orderers
#consensus
#fabric-orderer
atom@...
We are leading a standardization effort within SunSpec.org to utilize blockchain for securing the distributed power grid in the US.
|
|
Error when joining the channel
Marina Wanis <marinamaged1996@...>
Hi,
I used to be able to create the channel using the channel transaction and join the channel with the command : peer channel join -o localhost:7050 -b ./acmechannel.block
I got the following error:
2020-02-01 09:24:48.338 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized Error: proposal failed (err: rpc error: code = Unknown desc = access denied: channel [] creator org [Org1MSP])
I made sure that the identity of the peer is admin. I’m really not sure why I keep getting this error. Thank you, Marina
Sent from Mail for Windows 10
|
|