Git Product home page Git Product logo

beigepaper's People

Contributors

chronaeon avatar etaroid avatar gagarin55 avatar gagziw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beigepaper's Issues

Option for translation to spanish?

Do you think it could be good idea to start translating this document to Spanish? I could start doing the job and look forward who else would be interested in helping.

Add more visual aids.

Lots of good feedback on the Tree diagram in section 2. People are saying they want to see more of that.

EVM stack typo (section 3.7)

In section 3.7, The Ethereum Virtual Machine, the beigepaper states

The [EVM] memory stack has a maximum size of 1024-bits.

The yellow paper does not mention a unit, and the idea that the EVM stack is bound by literal bits doesn't make a lot of sense.

Rather, the EVM has a stack in which each item is a 256-bit word, and there may be a maximum of 1024 items in the stack.

Here's an additional source: https://www.ethervm.io/#stack

2.1.1 confusion

Section 2.1.1. Merkle Particia Trees states that

This allows the state data structure itself to represent not only the intrinsically correct paths in the data, but also the requisite cryptographic proofs which go into making sure that a piece of data was valid in the first place.

To me the highlighted part means that the modified tree allows for cryptographic proofs, implying that a non-modified tree would not allow this. If this was the intent, then in my opinion it is not true - any Merkle tree allows such proofs. This article from the official Ethereum wiki states that Merkle Patricia Trees were chosen because of optimization opportunities.

3.14.1 ends with out of context text

Firstly, thanks for this work! Such a comprehensive document has been long time missing resource. I'm greatly appreciative of the gaps it's filling in my understanding.

To the issue, 3.14.1 on Ethash, the end paragraph includes out of context text relating to contract engineering with a perhaps unmarked-up subtitle 'Implementing Contracts'

Implementing Contracts There are several patterns
of contracts engineering that allow particular useful
behaviours; two of these that I will briefly discuss are
data feeds and random numbers

Audiobook

I don't have time to review your paper, but I suggest you consider also making an audiobook so that people can learn about the EVM while they do other things.

Sp. Pg3 'Indrexed' should be 'Indexed'

Great job on the paper!

Small spelling mistake in the PDF beige paper, no biggie.

Pg 3
Paragraph 4
Sentence 2

'Indrexed' should possibly read 'Indexed'

Cheers

sstore gas cost is 0??

Yellow paper says 20k for new storage, 5k to update storage and refund of 15k to clear storage. Has that changed?

Page 9 - 3.9.1

Gas price is a value equal to the current limit of gas expenditure per block, according to the miners.

I don't know what that means and it sounds wrong. Isn't gas price specified in the transaction?

Page 8 - Clarify

Bottom Left: Provisional state ... It contains three sets of data.

But nothing else - should list the three sets of data.

Why is section 2.3.7 empty?

Section 2.3.7. Transaction Receipts is empty. Is there a reason for that? Transaction receipts are described in section 4.3.1 of the Yellow Paper.

I will be happy to submit a PR with some content for this section if this is acceptable.

License

Yellow Paper is distributed under Creative Commons Attribution Share Alike 4.0, but Beige Paper is distributed under MIT License. Why did the licensing conditions change?

Start with lower version number

Really nice and interesting initiative, enjoyed reading so far! ๐Ÿ˜„ ๐Ÿ“–

The only criticism I have: maybe don't start with such a high version number v0.9.5 but with something lower - e.g. v0.7.0 and give this some time to evolve, with improvements from the community and generally some community building around it.

Then you can give this some more time to evolve towards a v1.0 release, which will stand stand on broader shoulders, being reviewed more closely and will generally have a better stance and being more respected in the community.

RLP encoding steps missing (Section 2.1.3)

Thank you so much for this awesome work. This will greatly help me understand the yellow. I appreciate the time and effort that has been put into this document.

Related issue:
Page: 2 - Under 2.1.3. Recursive Length Prefixes. There is only step 1 in the document
"1. If the RLP-serialized byte-array contains a single byte integer value less than 128,
then the output is exactly equal to the input"

need to add the rest of the encoding logic as defined in the white paper
https://github.com/ethereum/wiki/wiki/RLP
for e.g:
2. "if the RLP-serialized byte-array contains a string... "

Many Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.