vault backup: 2022-12-20 14:33:50

This commit is contained in:
Jet Hughes 2022-12-20 14:33:50 +13:00
parent 7616aaea74
commit f670d1d16e
2 changed files with 11 additions and 4 deletions

View File

@ -3,7 +3,7 @@ title: "isolated scenarios"
tags: tags:
--- ---
# Adding a new member # Adding a new member
Within an existing closed BC with 10 participants. say we wanted to add another participant as a validator node. they run the node software on a machine. this node is fully priviledged. they new member had to go through a screening and sign a legal contract to ensure they are not a bad actor. this node recieves a copy of the blockchain so far, and begins participating in the consensus algorithm and submitting transactions. their contract is added to the blockchain as their first transaction (maybe. or it can be stored somewhere else). Within an existing closed BC with 10 participants. say we wanted to add another participant as a validator node. the new participant will run the node software on a machine. the new node will have some privilege/role assigned to it. the new member has to go through a screening and sign a legal contract to ensure they are not a bad actor. this node recieves a copy of the blockchain so far, and begins participating in the consensus algorithm and submitting transactions. their legal contract is added to the blockchain as their first transaction (maybe. or it can be stored somewhere else).
- Existing members vote to add new member - Existing members vote to add new member
- on or off chain vote? - on or off chain vote?
@ -12,15 +12,17 @@ Within an existing closed BC with 10 participants. say we wanted to add another
- details of vote cutoff time - details of vote cutoff time
- parameters of vote change during vote - parameters of vote change during vote
- hyperledger - hyperledger
- The purpose of add peer command is to write into ledger the fact of peer addition into the peer network. After a transaction with AddPeer has been committed, consensus and synchronization components will start using it. - "The purpose of add peer command is to write into ledger the fact of peer addition into the peer network. After a transaction with AddPeer has been committed, consensus and synchronization components will start using it."
- transaction to remove peer requires the node making the transaction to have the can-remove-peer permission - transaction to remove peer requires the node making the transaction to have the can-remove-peer permission
- can nodes with this perssion remove peers at will? - can nodes with this perssion remove peers at will?
- not 1:1 nodes:accounts - not necessarily 1:1 nodes:accounts
- with HL Burrow you can use Solidity smart-contracts on Iroha - with HL Burrow you can use Solidity smart-contracts on Iroha
- iroha would either have to be off-chain voting then a trusted peer (or initial) would add them - iroha would either have to be off-chain voting then a trusted peer (maybe the initiating peer) would add them
- or: will need to look into HL Burrow but there might a way to have an on-chain smart contract voting system which automatically adds them depending on the vote - or: will need to look into HL Burrow but there might a way to have an on-chain smart contract voting system which automatically adds them depending on the vote
- I could think about how to implement such a smart contract - I could think about how to implement such a smart contract
How could a bad actor try to get themselves on the chain? Could they dupe someone else into signing the entry contract on their behalf? Or could they bypass the contract? The genesis block of a new peer (in HL iroha) has to be the exact same as the genesis block of all other peers. Could the genesis block be like a sort of "key to the network. Maybe not because there is not much to stop one of the existing peers sharing the genesis block with third parties.
# Remove Member # Remove Member
What happens if one participant turned bad and the other wanted to remove them from the group. Ssay we havea grup of 10 participants in a closed blockchain system using a CFT consensus algorithm Then they can be voted out so that their vote is desregarded and so they cant view or access data on the chain. what if they require access to decuments stored on-chain which they dont have local copies of. I guess they wuld have access to a stored copy of the blockchain on their node. But then would this chain be considered valid by oters. they dont store the actual document on the blockchain only a timestamped hash to prove they had that doc at this particular time. participats should keep local copies of documents. Can participants kick out the initiating authority? You would have some mechanism to ensure that they cant be kicked out. firstly there would have to be a vote to kick them out. unless they aren't actually needed. who are the people that look at the documents that are stored on the chain to check them. Some third party collectively employed by the group? the govt? maybe its required for each participant to sometimes go and check if other participants are being truthful. What happens if one participant turned bad and the other wanted to remove them from the group. Ssay we havea grup of 10 participants in a closed blockchain system using a CFT consensus algorithm Then they can be voted out so that their vote is desregarded and so they cant view or access data on the chain. what if they require access to decuments stored on-chain which they dont have local copies of. I guess they wuld have access to a stored copy of the blockchain on their node. But then would this chain be considered valid by oters. they dont store the actual document on the blockchain only a timestamped hash to prove they had that doc at this particular time. participats should keep local copies of documents. Can participants kick out the initiating authority? You would have some mechanism to ensure that they cant be kicked out. firstly there would have to be a vote to kick them out. unless they aren't actually needed. who are the people that look at the documents that are stored on the chain to check them. Some third party collectively employed by the group? the govt? maybe its required for each participant to sometimes go and check if other participants are being truthful.

View File

@ -118,3 +118,8 @@ Battled the smart contracts again. I dont know why its not working.
`[2022-12-19 23:20:38.420952000][I][Irohad/CommandService/Processor]: Stateful validation error in transaction 03ff6949aeaaf73e5d49852222faf6ebc4ef69aeeba9932a419f53bc45713ac3: command 'CallEngine' with index '0' did not pass verification with code '3', query arguments: Engine error: Error deploying smart contract at address FBCEC9782F2B09AD4799DF4DE8ACAA34832FDD57: error 13 - Error 13: data stack underflow: data stack underflow.` `[2022-12-19 23:20:38.420952000][I][Irohad/CommandService/Processor]: Stateful validation error in transaction 03ff6949aeaaf73e5d49852222faf6ebc4ef69aeeba9932a419f53bc45713ac3: command 'CallEngine' with index '0' did not pass verification with code '3', query arguments: Engine error: Error deploying smart contract at address FBCEC9782F2B09AD4799DF4DE8ACAA34832FDD57: error 13 - Error 13: data stack underflow: data stack underflow.`
`[2022-12-20 01:12:55.936251500][W][Irohad/CommandService/Transport]: Transaction deserialization failed: hash Hash: [6d946f9960c9971f2073a8887aeb77ea3a44ad6f86ca2ce5d22f6adf9597445f], SignedData: [Child errors=[Transaction: [Child errors=[Command #1: [Child errors=[CallEngine: [Child errors=[EvmHexAddress: [Errors=[passed value: '000000000000000000000000f205c4a929072dd6e7fc081c2a78dbc79c76070b' does not match regex '[0-9a-fA-F]{40}'. Hex encoded 20-byte address expected]]]]]]]]]]` `[2022-12-20 01:12:55.936251500][W][Irohad/CommandService/Transport]: Transaction deserialization failed: hash Hash: [6d946f9960c9971f2073a8887aeb77ea3a44ad6f86ca2ce5d22f6adf9597445f], SignedData: [Child errors=[Transaction: [Child errors=[Command #1: [Child errors=[CallEngine: [Child errors=[EvmHexAddress: [Errors=[passed value: '000000000000000000000000f205c4a929072dd6e7fc081c2a78dbc79c76070b' does not match regex '[0-9a-fA-F]{40}'. Hex encoded 20-byte address expected]]]]]]]]]]`
Fooken worked.
`[2022-12-20 01:14:36.817516000][I][Irohad/Simulator]: Created block: Block: [hash=d77f03e3e5cdbb650b8092a0551d0360ff5e81c395db8e5c4334f0738077bb39, height=3, prevHash=6eeea45250c4df779bf34fa46753f24ccb15d9d730e1a3dd794eda9aeffb8486, createdtime=1671498876805, transactions=[Transaction: [hash=d0669901c2bb33cd69fe7573a888d77258f3f494c12e4f1185136de839d2c0ff, creatorAccountId=admin@test, createdTime=1671498871514, quorum=1, commands=[CallEngine: [type=83, caller=admin@test, callee=f205c4a929072dd6e7fc081c2a78dbc79c76070b, input=40c10f19000000000000000000000000f205c4a929072dd6e7fc081c2a78dbc79c76070b00000000000000000000000000000000000000000000000000000000000003e8]], batch_meta=(not set), reducedHash=Hash: [9e5640d660d7a9b224703a9f3f5513d1ef9b5f3db331d5bcc1b92edd229f443b], signatures=[Signature: [publicKey=313a07e6384776ed95447710d15e59148473ccfc052a681317a72a69f2a49910, signedData=53af285f82bb2bcf35288e5340d4da396304ea93f92caf7734d9aeadcffdc63a2c6ac31df2034cc462893310adb44252d82a85e23f9b0f02a444eb8df4b95e05]]]], signatures=[Signature: [publicKey=bddd58404d1315e0eb27902c5d7c8eb0602c16238f005773df406bc191308929, signedData=b544add45c65e932f8f1b18a36139b8fa7a198be3064de81e18d412cb8c565df9681feaf2ef1e53ca47522e6561afa3f11c8a7e84cadc04f5fe295df5d808d04]], rejected transactions=[]]
`