02:55:44 "This makes me so frustrated..." <- Documentation at it's finest... although to be fair, they don't have users so it's not missed. 03:39:40 > <@rucknium:monero.social> nollied: This machine learning project by xmr-ack may interest you: 03:39:40 > https://github.com/MAGICGrants/Monero-Fund/issues/15 03:39:40 this is pretty interesting. i would imagine if this research was being done sooner, it might have been able to catch the bug where there was a higher predisposition for true txn receivers to be the last decoy. 03:41:24 is there any need for a second pair of eyes/help? 03:44:54 nollied: Absolutely! Currently in the process of feature engineering, running experiments to make decisions on how best to simulate real users, and constructing different ML models. If any of those interest you, feel free to drop me a DM. 03:45:11 * of those tasks interest you, 14:33:04 hello, good day :) 14:36:00 i have a question, a normal xmr address is (K^v,K^s)... But there is always a 4 in front, is it therefore : 14:36:16 (4, K^v, K^s) ? 14:36:53 or is the calculation of a normal xmr address more complicated ? 15:01:22 It's the base58 represenation of a bitstring which has a magic, a pubkey, a pubkey, a checksum. 15:01:39 The magic is such that mainnet standard addresses always start with 4. 15:19:15 oh so its : 15:19:28 (4, K^v, K^s, checksum) ? 15:19:56 where is this described in detail ? 15:20:22 Probably zero to monero. 15:26:55 ztm in 4.1 page 37, says that it's (K^v,K^s) . 15:27:13 it then as a side note refers to : 15:27:34 slave_blocker: there is a citation that shows the way, on that page probably 15:28:38 it then as a side note refers to : 15:28:47 .../src/common/base58.cpp encode_addr() 15:29:06 look for the citation (maybe in a footnote) 15:30:50 well it's : 15:30:54 The address of a user is the pair of public keys (K v , K s ). 15:31:16 i guess the side note is suficient 15:31:46 i will look into the source code then when translating to portuguese. 15:32:18 there is also : 15:32:20 https://monerodocs.org/public-address/standard-address/ 15:33:16 Dude it’s literally footnote 3 the second sentence. 15:33:34 ‘See 5 for more details.’ 15:36:30 yes, https://xmr.llcoins.net/addresstests.html is very specific :) 15:37:11 also from monerodocs i see that a normal xmr address is then 69 bytes in length? 15:44:09 ... 15:45:04 here it says that it's : (K^s , K^v) https://monerodocs.org/public-address/standard-address/ 15:45:40 in ztm it says it's (K^v , K^s) ... 15:46:00 anyway i found a way to translate it :) 15:46:02 thanks 15:46:10 :) 15:48:22 Spend goes first, I just checked. 16:02:14 order only matters for serialization... ztm is not a document about serialization 16:10:29 hum, 16:10:57 just one thing i am here : https://appdevtools.com/base58-encoder-decoder 16:13:13 and it says that for a normal address the first byte is a network byte wich is 0x12, or the number 18...? when i decode that to base58 it does not give me only a 4 but rather 4kf or 4k9 ? 16:15:07 Almost as if 4 was not a valid address... 16:15:34 hehe 16:15:39 im trying here 16:15:50 thanks for the patience :) 16:16:08 so i read here that its treated in 8 byte blocks 16:16:59 so the first 8 byte block is network byte + 7 bytes of the public spend key ? 16:17:22 Sounds probable. 16:17:33 wich would give me the leading 4, and then im happy ... 16:17:50 The "network byte" might be... more than one byte. 16:18:07 ISTR a varint there. 16:18:17 Which would map 12 to 12. 16:18:49 * slave_blocker positive ++; 16:19:02 :] 16:22:13 ... 16:23:14 The pair of public keys are prepended with one network byte (the number 18, 0x12, for Monero). It looks like this: (network byte) + (32-byte public spend key) + (32-byte public view key). 16:24:08 As a last step, this 69-byte string is converted to Base58. However, it's not done all at once like a Bitcoin address, but rather in 8-byte blocks. 16:24:24 so for now im just dwelling on the leading 4... 16:25:00 so a xmr address starts with 0x12 16:25:29 wich in base58 is 4 something therefore i'm happy ? 16:29:25 and what about subaddresses ? they start with a 8 ... so the network byte is different for subaddresses? 16:29:32 guess not 16:29:41 oh well 16:31:22 Is it. See cryptonote_config.h 16:31:50 It is. Nice swap there. 16:33:28 uint64_t const CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX = 18; 16:33:50 dont see subaddress there ? 16:34:14 Look on other lines then. 16:34:39 i see that it's // Bender's nightmare though 16:34:59 boost::uuids::uuid const NETWORK_ID = { { 16:34:59 0x12 ,0x30, 0xF1, 0x71 , 0x61, 0x04 , 0x41, 0x61, 0x17, 0x31, 0x00, 0x82, 0x16, 0xA1, 0xA1, 0x10 16:34:59 } }; 16:37:22 The base58 prefix thing is the so-called 'network byte'. There are 3 prefixes for each network type (mainnet, testnet, stagenet): normal, subaddress, integrated address. When converted to base58, the prefix will turn into the leading digit of the address (4 for normal address prefixes on mainnet, 8 for subaddresses on mainnet). 17:52:01 slave_blocker: Do you already know my website where you can play around with Monero addresses interactively in several ways? 17:52:10 Maybe that will clear up some of the questions 17:52:10 https://monerotech.info/