04:26:25
victor5577:matrix.org:
Hi
04:31:18
sophianawttyzoobabymatrix.org:matrix.org:
Hello
04:33:53
victor5577:matrix.org:
What's uo
05:06:16
sophianawttyzoobabymatrix.org:matrix.org:
Good you?
11:29:37
johny_:
Hello, I would like to know what is the min amount of time for monero mining in a web browser?
11:30:26
elongated:matrix.org:
johny_: Browser mining died half a decade ago, your are too late
11:30:57
johny_:
it is not possible to mine monero with web browser?
11:32:22
elongated:matrix.org:
johny_: You maybe able to mine with 1-2h/s, so no you can’t mine in web browser
11:32:39
johny_:
what is that https://github.com/NajmAjmal/monero-webminer ???
11:34:04
rbrunner7:
That may be the webminer that works. With an expected income of maybe 5 cents per year through browser mining. Does that sound interesting to you? :)
11:34:06
elongated:matrix.org:
johny_: A toy to mine, but it’s ineffective
11:34:22
elongated:matrix.org:
@rbrunner7: Maybe less than that
11:35:06
johny_:
actually I want to use monero PoW for something else but maybe I should use another crypto currency
11:35:11
elongated:matrix.org:
It was fun for web developers while it lasted
11:35:14
elongated:matrix.org:
Randomx killed it
11:35:54
elongated:matrix.org:
johny_: You can use randomx pow for verification, but not mining income
11:36:25
johny_:
I want mining income + PoW to kill 2 birds with one stone
11:37:01
elongated:matrix.org:
Maybe look at some other coins, but those ain’t going to make you much mullah as most of those coins are dead
11:37:47
Cindy:
johny_: mining income LOOOOL
11:37:58
Cindy:
from browser?
11:38:05
elongated:matrix.org:
Cindy: Botnets work
11:38:21
Cindy:
not browser users though
11:38:52
rbrunner7:
johny_: Making money through mining for normal people with normal hardware is basically dead for a few years already. For all coins. The times where you could mine Ethereum with your GPU for maybe USD 1 per day are gone for good.
11:38:53
johny_:
Cindy yeah I want to use the browser to mine crypto
11:39:17
rbrunner7:
I have a nagging feeling that dear Johny does not believe us ...
11:39:49
johny_:
exactly I am not talking about a single user
11:40:00
Cindy:
RandomX is very inefficient on browsers
11:40:11
Cindy:
due to the fact that WASM doesn't have custom floating point rounding modes yet
11:40:53
rbrunner7:
Oh, you have a website with a million visitors per day, and you want to let them all mine for you? Good luck. Google will declare your website dangerous in 5 minutes or so and block it.
11:40:58
Cindy:
the RandomX WASM implementation you see around here uses a custom-made library that emulates the floating point rounding modes, which leads to less hashrate
11:41:27
Cindy:
rbrunner7: that is if the browser even lets you allocate enough memory for the dataset
11:41:35
johny_:
Google does not also website that mine but it is ok for them to catch all personal data?
11:41:43
Cindy:
browsers cap memory allocation, and will kill your tab if you go over it
11:41:49
Cindy:
and the cap is not even a gigabyte
11:42:16
rbrunner7:
johny_: The world is a bad place, it's so unjust.
11:43:13
Cindy:
rbrunner7: ETH nowadays can only be staked by rich people
11:43:52
rbrunner7:
You should start an AI coin and then do a rugpull. Could net you millions if you are lucky. You also will be a criminal afterwards, but isn't there always a problem?
11:44:07
rbrunner7:
Role model: Trump family
11:46:20
Cindy:
though i will have to say, RandomX.js has improved beyond any other ports of RandomX
11:46:39
Cindy:
including having a WASM JIT, rather than just blindly using the very slow interpreter
11:48:27
johny_:
rbrunner7 actually extranet does not need to be indexed on google
11:50:32
johny_:
I mean member area stuff like that
11:53:02
johny_:
I need to find out the most profitable coin to mine in a web browser
11:53:43
Cindy:
none
11:54:45
Cindy:
the algorithms that are easier for browsers (like hashcash, equihash, cryptonight) are dominated by ASICs
11:55:09
Cindy:
and will net you next to nothing due to the extremely high difficulty
11:56:34
johny_:
is it good idea to create new crypto designed for web browser mining? I have to invent new algorithm?
11:57:04
Cindy:
you can modify RandomX to get rid of the floating point rounding mode operations
11:57:06
BlueyHealer:
If you want coins - maybe try selling your skills/possessions for some?
11:57:39
Cindy:
but the problem is, your crypto will be worthless unless you sell it to exchanges or something
11:58:29
johny_:
BlueyHealer you are out of topic, PoW is useful for many things but wasting cpu for nothing is a shame
11:58:43
Cindy:
better yet, how about you pester the WASM board to implement floating point rounding modes
11:59:03
Cindy:
that's the one thing that's massively slowing down RandomX in browsers
11:59:27
BlueyHealer:
TBH I never even considered mining not in a dedicated application...
11:59:45
Cindy:
https://github.com/WebAssembly/rounding-mode-control
11:59:55
Cindy:
still a proposal
12:01:43
johny_:
ok I will have to look at it, I don't have lots of knowledge about mining
12:02:34
Cindy:
if this proposal becomes apart of webassembly (and implemented by major browsers)
12:02:46
Cindy:
it would speed up RandomX.. a lot
12:03:03
Cindy:
but unfortunately as of now, you'll have to deal with like 1-2H/s
12:34:27
Cindy:
btw, how much do you think the guy at banmonero.com earns from his "burn address"
12:47:24
btcdwed:
wtf is that for a page
12:48:46
milas900:matrix.org:
After swapping on cake wallet Xmr account shows zero why ?
12:50:11
Cindy:
milas900: probably wait until tx confirms or something
12:50:12
btcdwed:
it needs some confs maybe
12:50:15
btcdwed:
yea
12:50:32
Cindy:
anyone know of some ACTUAL burn addresses for monero
12:50:46
milas900:matrix.org:
It generated some new addresses when you swap . I’m afraid money goes to other addresses
12:51:18
btcdwed:
its a sub adress maybe
12:51:25
milas900:matrix.org:
It’s really a bug it says synchronized and shows ur litecoin as zero..
12:51:40
btcdwed:
klick the TX and check how many confirmations are there
12:51:49
btcdwed:
sync is ONLY blocks SYNCED
12:51:53
btcdwed:
it has nothing to do with confs
12:52:29
Cindy:
i might modify moneropy to generate an address with the public keys being 0 or something
12:53:04
milas900:matrix.org:
Where to find the Tx
12:53:15
btcdwed:
you swapping things and dont have a clue about things
12:53:17
Cindy:
milas900: monero or litecoin??
12:53:24
btcdwed:
next time you should read more into it maybe milas900 :P
12:53:41
milas900:matrix.org:
Swap from ltc to xmr
12:53:53
Cindy:
did it give you a TXID?
12:53:57
Cindy:
or something to identify?
12:53:57
btcdwed:
there is something like a "history" buttin you can click
12:54:08
btcdwed:
button :P
12:54:17
Cindy:
again, cakewallet might be filtering transactions based on the number of confirms
12:54:23
Cindy:
just wait like 20 minutes and get back to us
12:54:29
btcdwed:
true, i agree
12:54:35
btcdwed:
if not, show us your TXID
12:54:43
btcdwed:
so we can check it on our own at the blockexplorer
12:55:02
Cindy:
that would be super useless
12:55:02
btcdwed:
my first swap on cake was crazy too
12:55:06
Cindy:
but sure :P
12:55:14
btcdwed:
just to verify everything is ok
12:55:15
btcdwed:
:P
12:55:25
milas900:matrix.org:
How many confirmations are needed ?
12:55:32
btcdwed:
10/10 maybe
12:55:40
Cindy:
most wallets use 10 confs
12:56:21
milas900:matrix.org:
Ok got it thanks
12:56:26
milas900:matrix.org:
The GUI is not friendly at all
12:57:40
btcdwed:
i agree on that
12:57:45
btcdwed:
are you using desktop version?
12:58:15
milas900:matrix.org:
btcdwed: Are u developer there ?
12:58:31
btcdwed:
no, just wondering ;D
12:58:37
milas900:matrix.org:
Any version should be a user journey and experience where you track your money like human being
12:58:51
btcdwed:
i dont like it too
12:58:59
milas900:matrix.org:
Not like ur balance becomes zero and no pending or anything
12:59:17
Cindy:
the official monero wallet shows all transactions
12:59:22
Cindy:
pending, partially confirmed and confirmed
12:59:28
btcdwed:
yea
12:59:35
Cindy:
cakewallet is weird
12:59:40
milas900:matrix.org:
Cake wallet also shows
12:59:41
milas900:matrix.org:
But slow
12:59:41
btcdwed:
cake is just showing unblanced amount when you do something
12:59:45
btcdwed:
its kinda confusing
12:59:58
milas900:matrix.org:
Ur heart first stops
13:00:00
btcdwed:
first time i thought my money is gone :P
13:00:06
milas900:matrix.org:
Then u panic
13:00:11
btcdwed:
true
13:00:17
milas900:matrix.org:
Then you get a shock
13:00:20
btcdwed:
we are here to help you
13:00:22
btcdwed:
no shock at all
13:00:25
milas900:matrix.org:
Then you say thanks god
13:00:31
btcdwed:
hehe
13:00:58
milas900:matrix.org:
Yes but in order price to shoot up developers should improve that cake wallet
13:01:09
milas900:matrix.org:
Is it open source or what ? An issue should be opened
13:01:26
btcdwed:
youre free to comment an issue on github etc
13:07:52
milas900:matrix.org:
Is there a limit by the way to swap ?
13:08:08
Cindy:
what limit
13:15:45
btcdwed:
the only limit is time, just relax and msg us if you still unsure in 30mins
13:15:46
btcdwed:
:P
13:16:49
milas900:matrix.org:
Amount I mean
13:17:04
btcdwed:
you meant ltc to xmr?
13:17:25
milas900:matrix.org:
Yes
13:20:04
btcdwed:
https://docs.cakewallet.com/bugs-service-status/why_are_my_funds_not_appearing/
13:20:47
btcdwed:
i cant see any swapping limits @ cake
13:20:56
Cindy:
https://bpa.st/4JFQ
13:21:34
Cindy:
i made a burn address by using the public view key derived from zero, and zero as the public spend key
13:21:40
Cindy:
is this valid?
13:22:41
Cindy:
maybe i should try generating the stagenet version of this and sending some stagenet XMR
13:22:54
Cindy:
to test if the network doesn't freak out
13:24:48
Cindy:
i heard that like in some ed25519 implementations, zero causes an error in validating a signature
13:29:50
DataHoarder:
Cindy the real killer for wasm is using 2 GiB there are recent projects that do workable things for the float part
13:29:59
DataHoarder:
So you are limited to light mode
13:31:08
DataHoarder:
Use HashToPoint tbh Cindy that will get you a random point element within the curve that you don't know the discrete log
13:32:00
DataHoarder:
HashToPoint(Burn Spend Key), HashToPoint(Burn View Key)
13:32:21
Cindy:
hashtopoint?
13:32:25
Cindy:
alright alright
13:32:32
DataHoarder:
Though you might want to make a proper valid view key
13:32:39
DataHoarder:
So you can monitor burns
13:32:51
DataHoarder:
But not spend them
13:32:59
Cindy:
but the view key must be something that you can easily know
13:33:05
Cindy:
like uhh FF
13:33:11
Cindy:
255 as the private view key
13:33:23
Cindy:
or maybe all FF's
13:33:27
DataHoarder:
You can use this
13:33:34
DataHoarder:
Hash(spend key)
13:33:35
el3ctron:
https://replaceyourboss.ai/
13:33:40
DataHoarder:
Spend pub key*
13:34:03
DataHoarder:
It cannot be all FF
13:34:13
Cindy:
true i thought so too
13:34:21
DataHoarder:
It must be an element of the scalar field for ed25519
13:34:27
Cindy:
i could have swore i saw something like that in a ed25519 page
13:34:34
Cindy:
that's why i hesitated
13:35:01
DataHoarder:
Monero generates points as generators like that, for example
13:35:20
DataHoarder:
Used in all new stuff
13:41:33
datahoarder:
https://mrelay.p2pool.observer/p/orHhys0KUlNJNTlF/1.txt (code snippet, 11 lines)
13:41:33
datahoarder:
Result:
13:41:33
datahoarder:
https://mrelay.p2pool.observer/p/orHhys0KUlNJNTlF/2.txt (code snippet, 4 lines)
13:42:26
datahoarder:
Actually, right result:
13:42:26
datahoarder:
https://mrelay.p2pool.observer/p/287kys0KRE9fTWFY/1.txt (code snippet, 4 lines)
13:43:21
DataHoarder:
that can load up a view wallet you don't know spend private key for, but can be monitored and even used to generate subaddresses
13:44:36
Cindy:
DataHoarder: https://bpa.st/GSKA
13:44:38
Cindy:
this better?
13:45:11
Cindy:
also wtf is that A prefix of the address you generated
13:45:21
DataHoarder:
you can't just use hash
13:45:23
DataHoarder:
Cindy: testnet
13:45:30
Cindy:
ah
13:45:52
DataHoarder:
you need to do mod l, where l is the scalar element modulo
13:46:02
DataHoarder:
monero already has defined methods to do this in code, I used the same on mine
13:46:16
Cindy:
oh so that's sc_reduce
13:46:22
DataHoarder:
it also ties spend + viewkey together
13:46:42
Cindy:
sc_reduce in moneropy does intToHexStr(_hexStrToInt(key) % l)
13:46:50
DataHoarder:
biased hash to point = hash_to_ec / hash_to_p3 / biased_hash_to_ec
13:46:51
Cindy:
which is what get_view_key calls internally
13:47:20
DataHoarder:
ScalarDeriveLegacy = sc_reduce(keccak(data))
13:47:23
Cindy:
so i just call sc_reduce on the spend key?
13:47:26
DataHoarder:
you also want the domain separator
13:47:28
Cindy:
instead of just the view key?
13:47:37
DataHoarder:
to ensure that these keys are only generated for this context
13:47:53
DataHoarder:
which is why I made obvious the purpose of them
13:47:59
DataHoarder:
"Monero Burn Spend Key" and "Monero Burn View Key"
13:48:21
DataHoarder:
this way you only need these two strings to generate anything
13:48:34
DataHoarder:
14:47:29 <Cindy> so i just call sc_reduce on the spend key?
13:48:35
DataHoarder:
no
13:48:41
DataHoarder:
that means you are generating a private key lol
13:48:55
DataHoarder:
you are generating a POINT
13:49:06
DataHoarder:
that must be handled properly or learning the dlog of it allows spend
13:49:15
Cindy:
oh i see
13:49:25
DataHoarder:
see https://git.gammaspectra.live/P2Pool/consensus/src/branch/master/monero/crypto/generators.go
13:49:40
DataHoarder:
this is how monero generates points when it must be infeasible to learn dlog
13:49:56
DataHoarder:
"HopefulHashToPoint" is keccak(point
13:50:00
DataHoarder:
but this fails 7/8th of the time :D
13:50:07
Cindy:
wtf is unbiased
13:50:11
Cindy:
is it usually biased
13:50:24
DataHoarder:
BiasedHashToPoint is what is used in monero key images
13:50:27
Cindy:
ah
13:50:28
DataHoarder:
unbiased is new one for carrot/FCMP++
13:50:53
Cindy:
i'm talking about the original cryptonote
13:50:56
Cindy:
not really carrot yet
13:51:02
DataHoarder:
that's HopefulHashToPoint
13:51:07
DataHoarder:
and BiasedHashToPoint
13:51:08
Cindy:
oh
13:51:27
DataHoarder:
BiasedHashToPoint uses elligator2
13:51:32
DataHoarder:
which is the ge_fromfe_frombytes_vartime
13:51:42
DataHoarder:
just uncommented, unexplainded
13:51:58
DataHoarder:
kayabanerve went through the effort of reverse engineering it and making a proper impl of it
13:52:37
Cindy:
https://monero.stackexchange.com/questions/10780/how-does-one-burn-and-provide-a-proof-of-burn-in-monero
13:52:42
Cindy:
nvm, someone else did it
13:52:55
Cindy:
unless this is too old
13:53:05
Cindy:
because it says something about the generator being different nowadays
13:53:58
DataHoarder:
that's the hopeful one
13:54:06
DataHoarder:
for GeneratorH
13:54:23
DataHoarder:
key images did use BiasedHashToPoint which is what you want
13:55:01
DataHoarder:
new ones like Bulletproof / Bulletproof+ used BiasedHashToPoint https://git.gammaspectra.live/P2Pool/consensus/src/branch/master/monero/crypto/ringct/bulletproofs/generators.go
13:55:12
DataHoarder:
(yes, I have implemented them!)
13:55:27
Cindy:
moneropy is lacking
13:55:36
DataHoarder:
though bulletproof uses BiasedHashToPoint(Keccak(data)) lol
13:55:36
Cindy:
i can't find any hash to point generators
13:55:42
DataHoarder:
which ends up with double keccak
13:55:54
DataHoarder:
https://github.com/bigreddmachine/MoneroPy ?
13:56:01
Cindy:
yes
13:56:07
DataHoarder:
8 years old lol
13:56:11
Cindy:
lol
13:56:11
Cindy:
i know
13:56:18
Cindy:
probably before RingCT and bulletproof and shit
13:56:50
Cindy:
the other monero python library is just a glorified RPC library
13:56:52
DataHoarder:
key images?
13:56:53
Cindy:
and not useful
13:56:55
DataHoarder:
does it handle that?
13:57:09
DataHoarder:
well, you can make C code that uses Monero's function to generate keys
13:57:09
Cindy:
no
13:57:24
DataHoarder:
then just import keys in hex to moneropy
13:57:43
DataHoarder:
moneropy and not https://github.com/monero-ecosystem/monero-python ?
13:57:52
Cindy:
monero-python is the RPC library i'm talking about
13:58:15
Cindy:
moneropy implements the stuff behind monero.. at least the monero of 8 years ago
13:58:21
DataHoarder:
lol yeah
13:58:23
DataHoarder:
they hardcoded H
13:58:51
DataHoarder:
just use my consensus library :')
13:59:08
Cindy:
well unfortunately i can't use go in a interpreter :P
13:59:11
DataHoarder:
finding stuff half implemented or old is why I ended up just doing it in-house
13:59:20
Cindy:
it doesn't make it easy to mess around with monero crypto stuff
13:59:21
DataHoarder:
actually you can!
13:59:26
DataHoarder:
btw I support TinyGo as well
13:59:52
DataHoarder:
Cindy: just generate elsewhere, small C program linking to monero (or mine)
13:59:54
DataHoarder:
then import keys
14:00:52
DataHoarder:
why not mininero?
14:01:10
DataHoarder:
https://github.com/monero-project/mininero/blob/master/mininero.py#L238
14:01:23
DataHoarder:
that has hashToPointCN :D
14:01:34
DataHoarder:
which is biased hash to point
14:01:40
Cindy:
y'know
14:01:41
DataHoarder:
9 years old ofc :P
14:01:42
Cindy:
why not that
14:03:16
Cindy:
can i like borrow your code :P
14:06:53
DataHoarder:
feel free :D
14:07:23
DataHoarder:
you'll need to make all the cryptographic base if your libraries don't have that, ofc
14:07:53
DataHoarder:
https://git.gammaspectra.live/P2Pool/consensus/src/branch/master/monero/crypto/curve25519/elligator.go
14:07:58
DataHoarder:
^ this needs field Elements to work with
14:08:09
Cindy:
isn't elligator a FCMP++ thing?
14:08:22
DataHoarder:
nope
14:08:26
DataHoarder:
it was always what it was running hash_to_point
14:08:28
Cindy:
shit i'm dumb
14:08:43
DataHoarder:
https://github.com/monero-oxide/monero-oxide/pull/33
14:09:03
DataHoarder:
https://github.com/monero-project/research-lab/issues/142
14:09:43
DataHoarder:
what Carrot / FCMP++ do is define an unbiased hash to point
14:09:55
DataHoarder:
which runs elligator2 twice
14:09:57
DataHoarder:
and merges them
14:10:25
DataHoarder:
see https://git.gammaspectra.live/P2Pool/consensus/src/branch/master/monero/crypto/hash.go#L108-L156
14:10:27
DataHoarder:
likes 108 to 156
14:10:51
Cindy:
y'know i feel like i understood SOME of this :P
14:11:13
Cindy:
definitely will read more about the point generators
14:11:30
DataHoarder:
well this is hash (blob of data, uniformly sampled) to point
14:11:35
DataHoarder:
generator is a different term
14:11:56
Cindy:
point.. converters?
16:54:32
sbt:nope.chat:
Wow my last txn got 10 confirms in <5mins never seen that speed before
16:58:21
ofrnxmr:
Havent been spending enough
17:00:41
sbt:nope.chat:
Wdym
17:22:24
DataHoarder:
see recent blocks :) https://blocks.p2pool.observer/
17:50:55
kayabanerve:matrix.org:
DataHoarder: don't forget bp+ uses biasedhashtopoint for its domain-separation-tag for God knows what reason
17:51:14
DataHoarder:
oh right
17:51:16
DataHoarder:
I complained about that
17:51:18
DataHoarder:
double keccak and that domain tag
17:52:15
DataHoarder:
not only that but it also does Keccak(Keccak(
17:52:45
DataHoarder:
Also the transcript does Keccak -> sc_reduce32 -> Keccak -> sc_reduce32
17:52:47
kayabanerve:matrix.org:
Also, DataHoarder, sqrt can be implemented with inverse for Ed25519 for a minor performance benefit. I don't think the theoretical optimization is realizable, but if you are going through the weeds, you may want to try.
17:52:48
DataHoarder:
such a waste
17:52:59
DataHoarder:
I did that already
17:53:15
DataHoarder:
It's on my fork :)
17:53:41
kayabanerve:matrix.org:
Yes, I wrote the function as accepting 32-bytes because every call site did and it was the simplest way to invoke at-time-of-use as points are so literally defined, but that inadvertently introduces the requirement the value is hashed before it's hashed even moving forward...
17:54:17
kayabanerve:matrix.org:
While that requirement isn't currently in consensus, my work on it post-dates the decision of our last hard fork, it do be a quirk
17:55:22
kayabanerve:matrix.org:
Have a link/any insight into the practical performance benefit?
17:56:54
DataHoarder:
hmm, actually, on Ed25519 FE Sqrt is implemented as pow 2^252-1 with an addchain
17:57:15
DataHoarder:
err
17:57:50
DataHoarder:
not exactly, and I noticed a typo on the function naming on original as well
17:58:31
DataHoarder:
https://git.gammaspectra.live/P2Pool/edwards25519/src/branch/main/field/fe.go#L354 Line 354 is how Sqrt is implemented
17:59:23
DataHoarder:
Invert is implemented similarly
18:01:14
DataHoarder:
most of the performances I went for on my libraries was explicitly adding precomputation of point in ScalarMult, and then also adding vartime alternatives for verification
18:01:20
DataHoarder:
(I have done the same on helioselene one now)
18:02:14
DataHoarder:
Do you have paper/information on implementing Sqrt from Inverse? As otherwise it's addchains that I have
18:04:46
DataHoarder:
note most of my edwards25519 implementation comes from https://github.com/FiloSottile/edwards25519 which is what the Go cryptographer maintained in std (though extracted here with a bunch more things)