-
Halver[m]
Currently, there is no Monero GUI Wallet available at download for Raspberry Pi.
-
Halver[m]
Is this definitive, or we could expect it could be available in the (near) future ?
-
dr_overdose[m]
Hey all, I'm Peter. My background is theoretical physics. I worked as an academic researcher studying dynamics of black holes and gravitational waves for over a decade. During my MSc I built some coding skills in cpp, shell, and python, simulating binary systems and doing analysis for LIGO. I'm a bit rusty in my coding, but eager to get back to it. I'm looking to get involved in the Monero project, as it seems to align with my
-
dr_overdose[m]
sensibilities and general philosophy, and do some contributing. Is this the place to be?
-
sech1
yes
-
sech1
-
sech1
-
Halver[m]
-
dr_overdose[m]
I've already downloaded, verified, and compiled the source and can run the client monerod. At least according to make tests
-
dr_overdose[m]
sech1: Thx.
-
garth
Welcome dr_overdose[m]
-
dr_overdose[m]
Thanks garth. I'm just reading through the Zero-to-Monero reference trying to get a handle on the basics first. I'll try to post questions as they come up in my reading
-
sech1
-
dr_overdose[m]
<sech1> "and some technical details are..." <- I have question about Diffie-Hellman key exchange as described on page 24 Sec. 2.3.2 in the reference. Everything up to here has been clearly defined but I'm confused what is really meant by "hash the secret S". Why does Alice compute h=\mathcal{H}(S) whereas Bob computes h'=\mathcal{H}(S)? Doesn't then h=h'?
-
sech1
yes h=h'
-
sech1
that's the point
-
dr_overdose[m]
ok that's good. how is h constructed?
-
dr_overdose[m]
and is there a unique h for every S?
-
sech1
H is just an arbitrary hash function (cryptographically secure)
-
sech1
Monero uses mostly cn_fast_hash and cn_slow_hash in different context
-
sech1
IIRC cn_fast_hash is keccak and cn_slow_hash is Cryptonight
-
dr_overdose[m]
where in the source code can i find this? do you know off hand?
-
dr_overdose[m]
if not I can just grep
-
sech1
monero/src/crypto/hash.c
-
sech1
and other files in that folder
-
dr_overdose[m]
thank you
-
Rucknium[m]
dr_overdose: Awesome. You may want to check out this list of Monero open research questions that I put together:
-
Rucknium[m]
-
Rucknium[m]
You may also want to join #monero-research-lab:matrix.org and #monero-research-lounge:monero.social
-
Rucknium[m]
And #monero-recruitment:monero.social
-
xxfedexx[m]
Hey there, what do you think about implementing self-pruning in Monero? Blockchain size will be an issue in the future, especially after the next hardfork: increased ring size leads to bigger transaction size, and thus bigger blockchain.
-
selsta
You have to define self pruning first. Monero does support pruning, but not like in Bitcoin.
-
xxfedexx[m]
Self pruning = very old blocks get "deleted" (pruned) automatically and disappear. Currently even if you prune the blockchain, it is not small because of how ring signatures work. But why not preventing transactions from containing very old txs in the ring signature?
-
UkoeHB
No one knows whether an ancient output is spent or not.
-
dr_overdose[m]
> <@rucknium:monero.social> dr_overdose: Awesome. You may want to check out this list of Monero open research questions that I put together:
-
dr_overdose[m]
-
dr_overdose[m]
Awesome, thx. Was looking for something like thiis
-
jeffro256[m]
xxfedexx: IIUC old blocks do get deleted while using a pruned node, except for the data necessary to verify new blocks, i.e. output lists and amount commitments, etc. If you haven't yet seen it, here's a good link:
getmonero.org/resources/moneropedia/pruning.html
-
moneromooo
Blocks don't get deleted. What gets deleted is the signatures and a few other things from 7/8ths of the transactions.
-
moneromooo
A more thorough pruning is possible, but the current pruning "level" was selected as a good compromise between space savings and utility, since a pruned node is still able to serve blocks to newly syncing nodes, which will want to verify that data.
-
moneromooo
It is possible to prune more/better, but if the pruned nodes become useless to peers, it makes the network more brittle.
-
moneromooo
There's another pruning capability that I think noone uses, but it only gains 200 or 300 MB or so: pruning known spent (pre-rct) outs.
-
moneromooo
(there's a tool to do this in the repo)
-
jeffro256[m]
Yeah, a pruned node keeps 1/8 of old blocks, randomly selected, correct?
-
moneromooo
1/8 of old transaction signatures and range proofs.
-
jeffro256[m]
So can a pruned nodes serve only some old blocks or none at all?
-
Rucknium[m]
Note that I recently added more aggressive pruning to the list of open research questions. It's probably impossible to do bitcoin-style pruning, but that's why it's an open research question:
-
Rucknium[m]
-
jeffro256[m]
I know it can server newer blocks
-
moneromooo
It can serve full blocks for an eigth of the chain, and pruned blocks for.... 7/8th of recent enough chain.
-
moneromooo
It can also serve anything from the last 5k blocks.
-
moneromooo
If a new node runs with --sync-pruned-blocks, a pruned node can serve pruned blocks to that node.
-
moneromooo
Without preventing verification.
-
jeffro256[m]
Interesting. How does that work? How does a node accept a pruned block without preventing verification? Is there an extra hash in the headers to verify those pruned blocks?
-
moneromooo
From some fork, a txid is made of a hash of hashes of different parts of the tx. Pruning involves deleting the prunable part, but keeping the hash of that part.
-
moneromooo
So a newly syncing client can verify an incoming pruned tx matches the txid in the block, which is PoW secured.
-
moneromooo
It's not as thorough, but still pretty good, since it requires breaking keccak to exploit.
-
jeffro256[m]
Wow I didn't know that; that's genius. So conceivably, someone could write a pruned node that even more aggressively erased data from their copy of the chain, and have it still be verified through PoW?
-
jeffro256[m]
I assume the txid hash now uses some sort of Merkle tree-like algo?
-
moneromooo
A node can verify everything whether pruned or not.
-
moneromooo
The difference is whether a pruned node can serve pruned data that can be used by another node to verify.
-
moneromooo
It's not a merkle tree.
-
moneromooo
So you could modify the code to drop lots more data and still verify your whole chain. It's enough to verify as you sync, and drop data afterwards.
-
moneromooo
Like all block data is not needed anymore (except recent stuff, in case of reorgs).
-
moneromooo
Same for txes.
-
moneromooo
But that node becomes useless to the network, so someone decided it was not good.
-
moneromooo
It'll probably happen someday.