Hot answers tagged

4

Performance: The transaction throughput is limited (among other things) by the block size. By how many transactions one can fit in a block. Proof of Authority is a centralized consortium chain and can handle potentially hundreds of thousands (or millions) of transactions per second because the scalability is not bounded by consensus on what is the correct ...


4

This issue has been solved by the go-ethereum team. @karalabe: The transaction should propagate across the network at the same time. It however is not included in the current block, because the block currently being mined is already finalized. It's expensive to recreate a new block every time a new transaction pops up. And in the case of ...


4

Pantheon (0.8.1) has no account management. It will only create a server private key, which is stored unencrypted in datadir/key. This key will also be used as the sealer account in Clique-PoA. Hence the public address stored in extraData in genesis.json has to correspond to this private key.


4

Non-mining sealer node which is also called non-validator nodes is just deployed so developers and users can connect with these nodes and can interact with the blockchain. As sealer nodes are critical so this is not opened to all. Few non-validators nodes are also good to run so that other non trusted users can connect to our network with limited access.


4

Take care, the gas target and limits are in Mega-gas. The default is 7.5. Your 94000000 is actually 94 * 10^12 gas, which is semi-infinite. To get 94M, just specify 94. A good rule of thumb imho is to stick to the amounts mainnet can handle (8M). Most clients require 100-200ms to crunch through an average mainnet 8M gas block. If you raise the gas limit to ...


3

Since nobody has provided an answer so far, I'll try to summarize my research on this. If someone is able to provide a better "story", I will switch the checkmark to it. After reading the pBFT paper from Castor/Liskov, I believe that 66,6% + 1 rule from pBFT also applies for Clique too. Hence, 50% + 1 is not enough to be sure that the transaction can not be ...


3

clique API is a geth specific extension. You can enable this with --rpcapi clique Then you can send the corresponding JSON RPC calls. E.g. curl -X POST --data '{"jsonrpc":"2.0","method":"clique_getSnapshot","params":[],"id":1}' http://localhost:8545 curl -X POST --data '{"jsonrpc":"2.0","method":"clique_getSigners","params":[],"id":1}' http://localhost:...


3

As far as I know, plasma is trying to minimise storage and logic. With a UTXO-based sidechain, the bitmap can directly represent txs bit by bit. They do mention in the white paper that it is possible to still do it state-based but it would increase the logic behind it.


3

yes, have a look at my current question: parity TPS optimization - please help = I could not really accelerate parity yet. For now, geth looks MUCH faster. Feel free to run your own benchmarks, it is easy with chainhammer & chainreader. Please report back what you find out. Thanks.


3

Clique extradata field, used to define PoA validators/sealers must match the following format: First part: 32bytes vanity, meaning whatever you want here since it's expressed as an hex string (64 chars long as one byte is 2 chars), here in the example it's just zeros. Second part: concatenated list of sealers/validators nodes addresses. Each address written ...


3

This happens when you make a change to your contract (typically add a new method) but fail to deploy the contract to the network. In my case I failed to do so because of truffle. truffle migrate does not deploy the new contract code you have to explicitly tell truffle to deploy the new contract by truffle migrate --all My guess is that Remix is trying to ...


3

Set the gas limit option for geth, For example, geth --miner.gastarget=3000000000 --miner.gaslimit=3000000000


2

When you have 3 signers, at least 2 have to be online and have the eth.coinbase account unlocked to be able to continue sealing new blocks. Otherwise the sealing process stops with "Signed recently, must wait for others". If you're sure that your sealers are online, then the only logical explaination is that your account unlock has ran into a timeout (...


2

I don't know if thats what you are looking for (try to be more explicit on your questions). But as far as I understood, to test a PoA consensus yo have this options: Kovan (The official PoA testnet) where you can test your contracts or whatever you want. If you want to test how the PoA consensus works and create a private PoA ethereum blockchain, you can ...


2

The issue could be resolved by only defining two out of 5 authorized sealers in the genesis.json (using puppeth) and only starting them with --mine and the other 3 nodes without it. We also added some sleep timers between the starting of the different geth instances, maybe that also helped. If you ever experience a similar issue that doesn't conclude any ...


2

The UTXO model is for starting on the Minimal Viable Plasma. This is so that it is much easier to implement, than an account based model like in an ethereum chain, in terms of security mechanism of plasma, which I think is what the MVP is focusing on. Yes, the idea eventually is to implement general state transitions on the child chain like on ethereum, but ...


2

According to an abstract of this paper: The analysis advocates that PoA for permissioned blockchains, deployed over the Internet with Byzantine nodes, do not provide adequate consistency guarantees for scenarios where data integrity is essential. We claim that PBFT can fit better such scenarios, despite a limited loss in terms of performance


2

A bucket list is a list of things you'd like to do before you die, such as getting a private PoA network up and running. A bucket limit is an upper bound for the number of peer IP addresses that your client can handle in any given "bucket" while running its peer discovery mechanisms. From the code, it looks like the limit is set to 2 peers from the same /...


2

I figured it out. The problem was the compiler version of solidity. The smart contract only works with a solidity version below 0.5.4. There is already a Ticket in Github. For more information check: https://github.com/paritytech/parity-ethereum/issues/10502


2

Both sealers are configured with the same etherbase 0x933e73c3f959759c169effa4019c8faf7d05ce33. And the second sealers fails to sign blocks because it is locked: WARN [09-20|17:00:54.874] Block sealing failed err="authentication needed: password or unlock" You have to pass the sealer address with geth parameter --miner.etherbase XXXX.


2

AFAIK Fabric is using PBFT. In PBFT you have a voting mechanism which leads to 100% TX finality after the block has been signed by at least 2/3 of validators. This is not the case for clique, which means chain reorgs can happen. An equivalent for PBFT's 2/3 voting in clique would be when at least 2/3 of signers build upon a block containing the TX. In this ...


2

The section Setting Up Networking here describes how to run a bootstrap node. It looks like you just need to provide the flag --nat with the IP address of the computer/server running the code when you run the geth command. You need to make sure you have the port you are using open appropriately as well. You can then use the geth console geth attach data/...


2

In Clique Proof-of-Authority consensus algorithm the difficulty does not increase with the chain lenght (unlike the Proof-of-Work). In fact the term of "difficulty" is not relevant in PoA as there is no puzzle solving. This term is still used as a block property to meet the yellow paper specification, but we prefer to talk about block score rather ...


1

If it is a private blockchain there is no rationale to use proof-of-work or proof-of-stake. Because it is private you control the money pool and access 100% and proof-of-authority is the only sensible choice, because you are already the authority in the first place. Because proof-of-authority is "decide by the authority" and there is no economic games and ...


1

Before you connect to MyCrypto application you have to alter your node configuration to enable cors: [rpc] port = 8540 apis = ["web3", "eth", "net", "personal", "parity", "parity_set", "traces", "rpc", "parity_accounts"] cors = ["all"] In bottom left select "Change Network" and then "Add custom node". In the pop up from "Network" select "Custom" at the ...


1

AFAIK, ethereum will reorg and choose the chain with more difficulty. in the PoA, if the signer is in-turn the difficulty is 2 and 1 when out-turn.


1

You can consider a transaction 100% final, if there is an upper limit to network delay between nodes and 51% of validators are honest and have signed your block. If you can't guarantee 51% honest validators, you need 100% of validators signing your block, 66% of them being selfish and 1 being honest.


1

From my experience, "race conditions" can still happen in PoA. In your example: If we are assuming, by node1 sealing the block first that it is the block that is accepted into the canonical chain, then node2's block would then become an uncle. user2's transaction would be in this uncle and therefore not appear in the canonical chain. However, since you ...


1

In a public (proof-of-work blockchain) network, it's not in the interest of miners to include transactions as soon as they're gossiped to them. A reason for that can be derived from the following excerpt from the yellow paper (Page 7, EIP 150 revisioned release): Because the nonce must satisfy [the block validation] requirements[s], and because its ...


1

I feel that using the Blockchain to store such huge amounts of data doesn't really make sense. The cost would be prohibitively expensive! Plus the blockchain isn't really meant to be used like a database. Hence it might be better to use IPFS/Swarm to store the data, and add the IPFS hash to the smart contract as a record-keeper. Here's a great guide to ...


Only top voted, non community-wiki answers of a minimum length are eligible