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)