-
mystik
hey guys
-
mystik
wfaressuissia brought up a document about fully homomorphic encryption, and I was thinking, why not creating private smart contracts (as proposed by sed, another user), using the computational power of the interested parties in any given transaction?
-
UkoeHB
computational power?
-
mystik
yes, like, instead of being the nodes executing some shady smart contract code, it would be the parts involved (their computers)
-
mystik
they agree to make transactions conditioned by some smart contract code, and it's their business, the network only waits until it's fully confirmed by all involved parties, then it confirms the transaction. The mempool would grow, I guess.
-
mystik
I'm not saying that it's possible, it's just an idea.
-
mystik
I guess that every contract would need to have its own address.
-
UkoeHB
Hmm I think the main problem is trust. If you have to trust the other party not to cheat, then what do you gain from fancy cryptography?
-
UkoeHB
However, I could be mistaken about what the tech can achieve.
-
mystik
UkoeHB: if there is no agreement (cheating) then there's no transaction, let's say you and me trust an oracles provider. What that oracle says is accepted as truth by all parties. This oracles provider would be paid, a small fee. It's mission is just to verify an information and say true/false. This third party executes the contract code. And it requires one more signature to be a valid transaction (2
-
mystik
of 3). Once any of the parties accept what the oracle said is true signs, it's done. The parties execute the contract as well, to that end.
-
mystik
this can be done on bitcoin, but making it private would be dynamite
-
UkoeHB
I guess it's hard for me to visualize without a concrete example.
-
mystik
UkoeHB: imagine we make a bet, who wins an F1 race. There is a company that verifies the result and pays the bettors. This company "approves" (signs) transactions that match the result in real life.
-
mystik
that's an oracle
-
mystik
the oracle says what is true, and reflects that reality on the blockchain
-
nikg83[m]
mystik: Who is the oracle ?
-
mystik
the company that verifies the race results and says "this team won" (and does so on the blockchain)
-
nikg83[m]
mystik: You mean miners
-
mystik
no, it's a second layer
-
nikg83[m]
mystik: Pos?
-
mystik
no, just someone running a program on their server, and a monero node. Their program simply signs transactions, that are broadcast on the monero blockchain.
-
mystik
nothing fancy so far
-
mystik
The thing is, how to make the whole thing private, without compromising anyone's identity?
-
mj-xmr[m]
<selsta> "We need reviews for 7845 and 782..." <- I had a look at 7845. It doesn't seem to make things worse from my PoV.
-
sech1
is there any planned date for the next point release?
-
mj-xmr[m]
But sb. needs to look there too, who can tell how this can affect the end result.
-
selsta
sech1: when everything is reviewed
-
UkoeHB
hi, the `node_server.bind_same_p2p_port` unit test is failing in my multisig rework, any idea what could be the problem?
-
wfaressuissia
`--gtest_filter='-node_server.bind_same_p2p_port'` just disable it, it isn't important for your tests likely
-
wfaressuissia
Is acceptable workaround for you ?
-
UkoeHB
sure I can just ignore it if it isn't important
-
UkoeHB
looks like it is passing CI anyway, maybe a local issue
-
selsta
do you use mac?
-
UkoeHB
yeah
-
selsta
ugh lots of spam users joining from matrix side
-
selsta
I have seen it on mac too
-
UkoeHB
ok thanks :}
-
selsta
-
selsta
we had this fix for linux but I don't know if it also applies to mac
-
UkoeHB
wfaressuissia: I might be missing something... it seems you can't pass `--gtest_filter ...` to `ctest` (at least straightforwardly):
gitlab.kitware.com/cmake/cmake/-/issues/20470
-
selsta
UkoeHB: ./unit_tests --gtest_filter='-node_server.bind_same_p2p_port' --gtest_break_on_failure
-
UkoeHB
`[ PASSED ] 1134 tests.` thanks :)
-
Rucknium[m]
What default ring size will we likely have in a year or two?
-
UkoeHB
~64-256
-
gingeropolous
feeling optimistic UkoeHB ? :)
-
UkoeHB
perhaps
-
UkoeHB
>_< spent 3 hrs tracking down a failure to decrypt wallet keys in a unit test... I really wish the `account_base` API would error out if you try to access encrypted keys without calling like `get_encrypted_keys()`.
-
wfaressuissia
fortunately, I should not touch anything in src/wallet now, but that code is very ugly
-
wfaressuissia
UkoeHB: did you use debug build ?
-
-
jberman[m]
Also, on Ruck's first comment regarding correcting the analysis of general impact: I feel more detailed analysis on impact takes lower priority at the moment, and isn't necessary to get the PR's across the finish line. So I'm focusing on what gets the PR's across the finish line for now. Will get back to analysis on impact when the patches are complete. Users generally know what to look for to see if they have been impacted by the issue
-
jberman[m]
on a case-by-case basis (and all signs still point to it not materially impacting users beyond those directly affected), so I'm personally not overly concerned with getting this analysis done ASAP
-
UkoeHB
yeah I stepped through with debugger to figure out where my keys got screwed up
-
wfaressuissia
Did you notice any missing/optimized out information in debugger ?
-
UkoeHB
hmm well you can't tell the difference between a regular private key and an encrypted private key
-
UkoeHB
the encryption is done directly to the bitstring
-
moneromooo
Unencrypted with have a 0 at the penultimate character.
-
UkoeHB
-
UkoeHB
So I had to trace from where I initially set my private keys, all the way up the call stack, to find out where they were getting messed up (my errors were all crypto errors caused by junk keys).
-
moneromooo
Encrypted might too, with ~6% chance :)
-
UkoeHB
The byte goop my debugger spit out is not that clear
-
UkoeHB
A) \xd2,\x947\xbe|\x9d\U0000001c\xae\xcdJ\x9c\U00000014\xa6V\x9a\xdb\xf04\xfb]\xc5\f\xbe&\xb0\xbdb\xd3\xf2\xc0\U00000002
-
UkoeHB
B) 4\xf7\xcf!,\xb3VB#\xa3\U00000018\x95i\U0000001d\U00000005Q\xc5v\xf0\xbe\x9f\U0000001a\x91>K\xb5\xf4\xc7x\x8b%\xcdP\xdeA\U00000010\U00000001
-
UkoeHB
In any case, I now have my multisig key exchange rework compiling, with most tests green. Core tests may be red, but it takes 1.5hr to find out.
-
moneromooo
Run it with MONERO_FASTER_POW=1, it goes a lot faster
-
moneromooo
(also, --filter '*multisig*'
-
moneromooo
)
-
UkoeHB
can you give an example invocation?
-
UkoeHB
unfortunately the docs for tests seem very outdated and incomplete
-
moneromooo
./build/Linux/cc/release/tests/core_tests/core_tests --generate_and_play_test_data --filter \*pool\*
-
UkoeHB
`Failed to parse arguments: unrecognised option '-MONERO_FASTER_POW=1'`
-
moneromooo
Env var
-
moneromooo
Actually, wait, it's not upstream, nvm. --filter is though.
-
UkoeHB
? upstream?
-
moneromooo
Term of art, means the original codebase you're hacking on.
-
moneromooo
I can send you the patch though.
-
UkoeHB
could you add it to the repo as a PR? seems useful...
-
moneromooo
-
moneromooo
It was IIRC. Got rejected.
-
moneromooo
(due to adding complexity to hashing)
-
moneromooo
Actually, I'm seeing this isn't even the faster patch. Let me dig up the faster one...
-
moneromooo
-
moneromooo
Didn't merge that one to monero it seems.