Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Feb 28 2019 19:45
    @Arachnid banned @merkle_tree_twitter
  • Feb 17 2019 00:56
    @jpitts banned @Aquentson_twitter
  • Apr 09 2018 04:14
    @holiman banned @JennyJennywren_twitter
  • Oct 21 2017 19:12
    @Arachnid banned @Musk11
Tomasz Kajetan Stańczak
@tkstanczak
@abdelhamidbakhta I have not received them
Eth-Gitter-Bridge
@Eth-Gitter-Bridge

<Jochem> Is there a general place where I can ask questions about implementing the BLS EIP (2537)?

I have the following question: afaik this curve takes coordinates with at most 48 bytes right (per x/y-coordinate)?. Should the precompile throw if I try to call it with coordinates where the first 16 bytes are not zero?

<Jochem> It seems like geth throws if topmost bytes are not zero.
Abdelhamid Bakhta
@abdelhamidbakhta

@abdelhamidbakhta I have not received them

Thanks for the update.

Martin Holst Swende
@holiman

@Jochem https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2537.md#field-elements-encoding

Base field element (Fp) is encoded as 64 bytes by performing BigEndian encoding of the corresponding (unsigned) integer (top 16 bytes are always zeroes)
...
If encodings do not follow this spec anywhere during parsing in the precompile the precompile must return an error.

Eth-Gitter-Bridge
@Eth-Gitter-Bridge
<Jochem> 👍
Eth-Gitter-Bridge
@Eth-Gitter-Bridge
<Joseph> Notes for last week’s Acd call? TIA
<Joseph> (GitHub readme is also missing #88)
Pooja Ranjan
@poojaranjan

<Joseph> Notes for last week’s Acd call? TIA

ACD meeting 89 notes

<Joseph> (GitHub readme is also missing #88)

Created a ethereum/pm#186

to update the readme
matrixbot
@matrixbot
micmac95 Bjr... Y a qq'un ?
matrixbot
@matrixbot
rogermoore oui
micmac95 Salut James bond ou ivanhoé ?
matrixbot
@matrixbot
rogermoore y'll n'a pas de bonds, seulement crypto physically settled
micmac95 Tu viens d où ?
micmac95 Moi suis du Val d oise (95)
matrixbot
@matrixbot
rogermoore Moi du Lisbonne et Val du Tage
Ghost
@ghost~55c3ed250fc9f982beac84b3
Is this how native speakers chat in French? This seems to be highly irregular grammar :)
Tomasz Kajetan Stańczak
@tkstanczak
да
matrixbot
@matrixbot

rogermoore > <@gitter_alexeyakhunov:matrix.org> Is this how native speakers chat in French? This seems to be highly irregular grammar :)

lol, portuguese here... I know a bit of French, but surely can emulate a native (bad-)speaker

Eth-Gitter-Bridge
@Eth-Gitter-Bridge
<GuthL> The sad part is that's actually how Frenchs write French online. I fell you despair
matrixbot
@matrixbot

rogermoore > <@gitter_eth-gitter-bridge:matrix.org> <GuthL> The sad part is that's actually how Frenchs write French online. I fell you despair

It's not like in the movies, with correct ponctuation and so on. And starting sentences with capital letters!

Martin Holst Swende
@holiman
The yolov1 sealer/bootnode is up at enode://9e1096aa59862a6f164994cb5cb16f5124d6c992cdbf4535ff7dea43ea1512afe5448dca9df1b7ab0726129603f1a3336b631e4d7a1a44c94daddd03241587f9@52.56.120.77:30303 -- unfortunately, a new ip :( . An ethstats is also live at https://yolonet.xyz/ , but I haven't set up a faucet yet. Will look into that.
Oh right, the ethstats pw for it is blank/no password
Marius van der Wijden
@MariusVanDerWijden
I found a crasher on Yolo with Besu. Problem is an index out of bounds when calling the precompile BLS12_G1MULTIEXP with large inputs. See hyperledger/besu#1122
It is consensus critical as besu is not able to sync yolo anymore.
Alexander
@shamatar
Marius, does OpenEthereum sync on such block?
Marius van der Wijden
@MariusVanDerWijden
Yes, Geth and Openethereum sync normally
Alexander
@shamatar
Hm, I thought Besu uses the 1962 based rust implementation
Marius van der Wijden
@MariusVanDerWijden
Yeah I think the problem is not in the precompile but in the calculation of RequiredGas
Marius van der Wijden
@MariusVanDerWijden
Martin Holst Swende
@holiman
@MariusVanDerWijden wow! Although, I'd call the first one (Besu) a crasher, and only second one a consensus-flaw. The second one is actually somewhat worse: when stuff crash, they get immediate attention, but non-crashers keep the chain alive. When there's a split, then some miners start mining on an alternate chain, and thing can get really funky before the 'bad' chain is halted.
Alexander
@shamatar
Marius, do you have a log of what you have sent to the network? I can parse the log, but explicit vectors are more convenient
*parse an error log
Marius van der Wijden
@MariusVanDerWijden
Hmm not really, I'm using a mutator based on go-fuzz to generate interesting inputs and I am neither saving the state of the rng nor the generated transactions.
I can dump the block from geth which makes it easier to parse the input vector
Marius van der Wijden
@MariusVanDerWijden
Here it is: https://gist.github.com/MariusVanDerWijden/579070559e40f54d574b0a85ec3f56bf Fortunately the block only had 2 transactions
matkt
@matkt
Tomasz Kajetan Stańczak
@tkstanczak
we cannot start YOLO sync until we have MapToG1
we are looking at other options - binding the Rust lib from @shamatar
Martin Holst Swende
@holiman

@matkt

pub const BLS12_MULTIEXP_MAX_DISCOUNT: u64 = 174;

Which is also the last value here: https://github.com/ethereum/go-ethereum/blob/4fc678542dd287c9759107d7f1f2291376434f5e/params/protocol_params.go#L145 .

So it looks good to me. Or did you mean something else?
Ah. Right
Geth caps k to a max value, whereas OE doesn't
matkt
@matkt
On OpenEthereum it uses 174 as a discount value but keeps k = 129 for example. On Geth it seems to me that you choose 174 as a discount value but you change k to the maximum authorized size
Martin Holst Swende
@holiman
OE uses U256::from(num_pairs) as multiplier, geth uses the capped k value
matkt
@matkt
yes
Martin Holst Swende
@holiman
Well spotted!
Just to be explicit about these things: definitely seems to me that geth is in the wrong here, right?
Alexander
@shamatar
Yes, capping number of pairs is a direct DoS attack