19 votes
Accepted

What does "ERC" stand for?

Its Ethereum Request for Comments Ethererum Specific of wiki/Request_for_Comments This is interesting
niksmac's user avatar
  • 9,673
15 votes
Accepted

Why was RLP chosen as the low level protocol encoding algorithm?

RLP was chosen because of (1) simplicity of implementation, and (2) guaranteed absolute byte-perfect consistency. Source is Ethereum Wiki: RLP is intended to be a highly minimalistic serialization ...
eth's user avatar
  • 85.8k
14 votes
Accepted

Are Transactions originating from one account mined in nonce order?

The protocol requires that transactions from a single account are executed in nonce order. It's still possible for an account to have many pending transactions, and as long as the nonces are ...
Nick Johnson's user avatar
  • 8,154
12 votes
Accepted

Why do smart contract languages need to be deterministic?

As reminded in the first comment from Richard, smart contracts have to be deterministic because each nodes of the network have to be able to find the same result given the same input for a contract ...
Nicolas Massart's user avatar
9 votes
Accepted

Are there any other "smart contract standards" like ERC20?

Yes you are right there is a lot of standards but the majority of them are proposals and not standards that have been adopted. You can check all the Ethereum Improvement Proposals (EIPs). ERC-190 ...
I.B's user avatar
  • 615
7 votes
Accepted

Why were empty accounts allowed to be on the blockchain?

What were the technical challenges why the protocol didn't prevent them in the first place? There weren't any particular technical challenges. It was simply an oversight, "a mistake, a flaw in the ...
cdetrio's user avatar
  • 386
7 votes

Why do smart contract languages need to be deterministic?

The determinism prevent any fork in the network. The same goes for Solidity which uses the EVM. To complete @NicolasMassart 's answer and @user1870400 comment that proposes to generate random values ...
Julien Marchand's user avatar
7 votes

What underlying protocols are used to send packets between nodes, and how are messages encrypted?

Ethereum uses DevP2P, which is a general protocol of discovery and connection of nodes, with an ethereum subprotocol defined on top of it (as opposed to the subprotocol of swarm, whisper, etc). You ...
Herman Junge's user avatar
  • 2,381
7 votes

Can you (as a node) manually choose what block to bet on in Casper?

Yes and no. There's no way to enforce any given betting strategy in either PoS or PoW. For example, in PoW, there's no way to force miners to never mine on an attacker's chain. So, yes, a validator ...
Matthew Schmidt's user avatar
7 votes
Accepted

What’s the role of the EVM in a plain ether transfer between Externally Owned Accounts?

Currently, no EVM instructions are needed at all - a transaction between two externally owned accounts transfers value directly, with no need to execute any code. Signature verification etc happens as ...
Nick Johnson's user avatar
  • 8,154
6 votes
Accepted

How to get UTXO set using JSON API?

Ethereum does have transactions, which can be used to move Ether from account to account, but can also carry additional data as a payload, and trigger other actions on a smart contract (and could ...
MidnightLightning's user avatar
5 votes

How are block proposals made in Casper?

There is precisely one validator with the right to create a block at any given height, randomly (but deterministically) chosen from the validators, weighted by their stakes. If that validator fails to ...
Matthew Schmidt's user avatar
5 votes

What’s the role of the EVM in a plain ether transfer between Externally Owned Accounts?

The sending of a transaction from one Externally Owned Account (EOA) to another EOA does not involve the running of the EVM. Here are my results from my testing. I am running geth with admin....
BokkyPooBah's user avatar
  • 40.3k
5 votes

What is eWASM and why is it the direction for the next version of the EVM?

The project is still ongoing: https://github.com/ewasm/evm2wasm WASM seems more secure, also, webassembly is backed by Google, Apple and Microsoft, the community is also active, it's gonna be a ...
SamChan's user avatar
  • 65
5 votes

Smart Contract vs. Dapp?

Smart contracts, to me, are the part of any distributed application (dApp) that runs on the blockchain's virtual machine. That could be Solidity code compiled down to EVM byte code, Vyper code ...
Thomas Jay Rush's user avatar
5 votes

Reference book on Ethereum?

The book named "Mastering Blockchain: Distributed ledger technology, decentralization, and smart contracts explained, 2nd Edition" by Imran Bashir, is what I believe to be the closest you'll find to a ...
6egic's user avatar
  • 1,327
5 votes
Accepted

About contract kill and forensic investigation

The method to extract the code eth.getcode takes an optional block height parameter as documented here. The function signature is: web3.eth.getCode(addressHexString [, defaultBlock] [, callback]), ...
Thorkil Værge's user avatar
5 votes

Have any a16z-backed protocols ever been hacked?

DefiLlama maintains a database of a large number of capital raises (including the amount raised and VC investors) and hackes/exploits. If you merge these two databases by company name and filter by ...
Markus Schick's user avatar
4 votes

Can the Ethereum ecosystem exist without the DNS and HTTP protocols?

In my opinion, we've already reached a point where there is no technical dependency on either of those things. In deference to convention, a lot of apps we see will choose to use such things for some ...
Rob Hitchens's user avatar
  • 55.2k
3 votes
Accepted

Does RLP specify integer encoding?

RLP deals only in structures made up of bytes (binary data). It doesn't care whether those bytes represent strings, integers, big integers, floating point numbers or whatever. This is in the sentence ...
benjaminion's user avatar
  • 9,277
3 votes
Accepted

Where is the ethereum network implementation?

What exactly are the problems in bitcoin's idea of blockchain that this new data structure is solving? Bitcoin itself uses Merkle trees (and therefore Merkle proofs) - it's not a new concept. ...
Richard Horrocks's user avatar
3 votes
Accepted

How ethereum nodes sync with each other?

Currently, when a user submits a transaction that transaction is then sent to all their peers, which in turn send it to all their peers, etc. Within seconds every active full node in the Ethereum ...
jojeyh's user avatar
  • 769
3 votes

Does more ether = more voting power in Casper?

You are correct assuming you (and other nodes betting on block beta) have a higher security deposit than the consensus betting on block alpha. As long as honest nodes outnumber the dishonest nodes, ...
dontmindme's user avatar
3 votes
Accepted

What are the design targets which the light client is being developed against?

The light client fetches all needed data from other nodes in the network. This means that if you request some data from your client that is does not have, it needs to pull it from the network. So it ...
Péter Szilágyi's user avatar
3 votes

How can I verify a secp256r1 signature using solidity

There's a pure solidity implementation of SECP256R1 / P256 / PRIME256V1 at https://github.com/tdrerup/elliptic-curve-solidity. Main drawback is probably that verifying a non-native signature in ...
monkeyPunchingRobots's user avatar
3 votes

How can I verify a secp256r1 signature using solidity

This is an imporant question, since all of the other world (mobile, smartcards, HSM's etc) uses secp256r1. There's an article at http://blog.enuma.io/update/2016/11/01/a-tale-of-two-curves-hardware-...
Petteri Puusaha's user avatar
3 votes
Accepted

RPC authentication in Ethereum?

The JSON-RPC interface will talk to anyone who is able to communicate with it over the network. The alternative, IPC, uses a UNIX socket, and will talk to anyone who can access that socket. If you ...
Edmund Edgar's user avatar
  • 16.9k
3 votes
Accepted

devp2p protocol: support for data compression?

Yes - this came with snappy compression via EIP 706 (https://github.com/ethereum/EIPs/pull/706) - implementation in go-ethereum via https://github.com/ethereum/go-ethereum/pull/15106
ligi's user avatar
  • 1,183
3 votes

devp2p protocol: support for data compression?

I had to dig around to find the hint that I was pretty sure existed :-) It's in the Design Rationale document, under Compression algorithm. The wire protocol and the database both use a custom ...
Richard Horrocks's user avatar
3 votes

Is there any way of creating ERC-1155 or ERC-721 tokens always earn transaction fees?

It is easy to create an NFT that transfers a fixed fee to you at every transfer of this NFT. Just add transfer (of ETH, or an ERC-20/1155) to it. It is nearly impossible to get a transaction ...
porton's user avatar
  • 1,784

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