883
|
Alternate cryptocurrencies / Altcoin Discussion / Re: [HP] Hash-on-blockchain discussion
|
on: May 10, 2014, 02:46:26 PM
|
Now lets imagine - just for a short time - this currency will be really successful. The blockchain of bitcoin grows faster thean linear in time, it does make sense to assume a slow exponential growth for a successful altcoin too. ~/.bitcoin $ du -sh blocks 20G blocks/
Now lets just assume you hit a 40 G blockchain in 3 years. Are you sure there are enough nodes left with 64 GB Ram? What about the distribution of this kind of workstations? I feel that i need to have more clear description. Each block's entry in scratchpad is not depends of number of transactions included in it. It is fixed to about 320 bytes and use prev_id, merkle root, onetime coinbase key, and hashed coinbase outs (usually 8 ). I'll put more detailed description.
|
|
|
884
|
Alternate cryptocurrencies / Altcoin Discussion / Re: [HP] Hash-on-blockchain discussion
|
on: May 10, 2014, 10:46:37 AM
|
As you can see, working on small amount of memory 100000 hash operations takes 3020 ms, meanwhile work on 100Mb scratchpad with the same operations count takes 8574 ms. Such difference(caused by the cache memory overflow) points to real memory hardness we guess.
Compare memory read/written per second by the hash to memmove() speed. What do you get? Does each round of keccak read from different areas of scratchpad? 1. it gives correlation between calculations time and memory wait time. 2. yes. addressing based on state buffer.
|
|
|
885
|
Alternate cryptocurrencies / Altcoin Discussion / Re: [HP] Hash-on-blockchain discussion
|
on: May 10, 2014, 10:37:33 AM
|
1. Wide CPU instruction set 2. Memory-oriented algo 3. Small work time.
Memorycoin failed on the 2 first point (I don't know about the last). It was AES-NI instruction only, if you didn't have a recent CPU, you were very slow or it didn't work. It was supposed to rely on RAM amount to counter bot farming but it didn't. I think it is a great to be memory dependent. What do you think about a minimum memory amount to mine ? Not very big. It's not about huge memory amount, scratchpad is building on blocks pseudorandom data, such as hashes and tx keys, and will grow about 90MB/year. Huge scratchpad gonna make almost impossible to have SPV-client.
|
|
|
887
|
Alternate cryptocurrencies / Altcoin Discussion / Re: [HP] Monetization discussion
|
on: May 09, 2014, 11:04:21 AM
|
Ok you have removed the averaging in the block, and now are adding the transaction fee.
This mean that my previous attack will be always successful whatever the foreign transaction are. Let's just say you forgot to add my /2 requirement and think with it included. I will use fee=1 for easiness.
Now if only 40% block tx voted for a donation, you will just have to add 10% tx to get the donation. So you will pay 72 to win 720/2=360, net result : 360-72=288. So basically you just need one vote so that your cheating will be worth it : you pay 359 you win 360, net result : 1
IT SEEMS THAT ANY DONATIONS MODEL DOESN'T WORK AT ALL. It always have a way to cheat. Probably pozmu was right: Just do a premine.
May be we should make some hybrid model(transactions&miners): Each tx can vote or be neutral. Miners should vote in coinbase flag, but if miner vote for donation, block can include only tx which voted for donation or neutral. And vice versa, if block voted against donation - it must include only tx voted against or neutral. Pretty weak relation with tx, but it is. Once a day count blocks that voted for donations and if say 80% is voted than devs gets their fixed percent for this day. Or use this approach without tx voting at all(back to miners power). Even if this model would be unsuitable may be it is better to go without voting at all - just a pure smoothly emitted premine. By the way did you chose a 2 min block time ?
Yes, 2 minutes. I think it's good balance with confirmation speed and blockchain data overhead.
|
|
|
888
|
Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][HP]HoneyPenny[ANONYMITY&UNLINKABILITY|PoW-BCHAIN-BASED|NO-IPO/NO-PREMINE]
|
on: May 08, 2014, 01:40:31 PM
|
Hi,
Will you use Github as development tool and project coordinator or just a repository to store the final code? I want to submit bug reports, suggestions, improvements? What should I do?
Yes, GitHub is a primary dev tool,at this moment it is used more as a version control, later will be used as bugtrack and wiki, why not. At first weeks after start i think there will be a lot of bugs and any help would be welcome, so fill free to post issues and even bug fix;)
|
|
|
889
|
Alternate cryptocurrencies / Altcoin Discussion / Re: [HP] Monetization discussion
|
on: May 08, 2014, 01:24:59 AM
|
Yes, it seems fair, however still could be cheated : Dev send 361 transactions in 361 blocks with donation fee=1,OOO he then gets 720,000 as donation, net benefice = 359,000.
This will work straight if half+1 block don't have transaction (361 block containing only the dev transaction). This will also work if there is only one foreign transaction in B-1 block, one with 0 tx and all other with one or more transaction. Dev will only send a 2OOO fee tx for each B block ( with B<360 ).
Let's say A="number of blocks with 0 foreign tx", B="numbers of blocks with 1 foreign tx" and A+B =361 then dev will win 720,000 - B*2000 -A*1000 .
So I guess you should divide by 2 the donation to avoid that.
You right, again. Ok. How about block without transaction value ? I guess it will be 0.
Of course. As Johnny Mnemonic said dev got incentive to pump fee up. By the way how fee are fixed ? As for network rules - fee can't be zero, this is only restriction set. But, block reward actually depends of block cumulative size (size of coinbase blob + transactions blob sizes). If block cumulative size bigger than median of last 400 blocks than reward calculated as: reward = (base_reward * current_block_size * (2 * median_size - current_block_size) ))/median_size and if block cumulative size bigger than 2*median_size than block is not allowed. This self-addapting approach used to avoid (or make expensive) tx flood. Console wallet in all CryptoNote-based projects have default fee defined as DEFAULT_FEE = DEFAULT_DUST_THRESHOLD = 1000000. (skipped in transfer command options just to avoid overhead with syntax). So dev is not able to force fee up, it designed as self-regulated model. The only way i can see is to enable big fee by default in wallet software, but i guess at the same time another wallet will be announced as more profitable
|
|
|
893
|
Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][HP]HoneyPenny[ANONYMITY&UNLINKABILITY|PoW-BCHAIN-BASED|NO-IPO/NO-PREMINE]
|
on: May 07, 2014, 08:27:21 PM
|
Quote from: David Latapie on Today at 06:25:08 PM Quote from: tacotime on Today at 06:19:47 PM It appears from the simplicity of the fix that there may have been deliberate crippling of the hashing algorithm from introduction with ByteCoin. Interesting. Could you extrapolate on this? oaes_key_import_data calls are placed inside loops unnecessarily, which slows down the hash quite a bit during the scratchpad portions. Will this also affect the BP miner.
We finaly decided to go in another way in out project, so now we don't use CryptoNote PoW hash at all. (In test network the only fix we've done is scratchpad reducing, but it wasn't conceptual step, it was just to run testnet and check other features.)
|
|
|
894
|
Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][HP]HoneyPenny[ANONYMITY&UNLINKABILITY|PoW-BCHAIN-BASED|NO-IPO/NO-PREMINE]
|
on: May 07, 2014, 08:13:00 PM
|
I see the revised algorithm on github already. When do yo restart the testnet?
We need to implement final monetization model (that discused here: https://bitcointalk.org/index.php?topic=590520.0), and we want to have may be more tests for hash and for core. So i think we'll be ready to start test network with final settings at may 8 or 9. With test network start i'll announce real net launch exact time. Do I need to remove the blockchain.bin file?
I suppose no, since name will be changed project's home dir will be new created. We going to leave test network alive, like bitcoin does, but daemon may be compiled OR for real network, OR for testnet(with projectname-test sufix in name macro on sources), to avoid conflicts in blockchain data.
|
|
|
895
|
Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][HP]HoneyPenny[ANONYMITY&UNLINKABILITY|PoW-BCHAIN-BASED|NO-IPO/NO-PREMINE]
|
on: May 07, 2014, 07:57:28 PM
|
[ 42%] Building CXX object src/CMakeFiles/crypto.dir/crypto/keccak_modified.cpp.o In file included from /c/honeypenny/src/crypto/keccak_modified.cpp:6:0: /c/honeypenny/src/crypto/keccak_modified.h: In function ‘pod_operand_a crypto::xor_pod(const pod_operand_a&, const pod_operand_b&)’: /c/honeypenny/src/crypto/keccak_modified.h:30:5: error: ‘hash’ is not a member of ‘crypto’ crypto::hash r; ^
[/quote] [ 42%] Building CXX object src/CMakeFiles/crypto.dir/crypto/keccak_modified.cpp.o In file included from /c/honeypenny/src/crypto/keccak_modified.cpp:6:0: /c/honeypenny/src/crypto/keccak_modified.h: In function ‘pod_operand_a crypto::xor_pod(const pod_operand_a&, const pod_operand_b&)’: /c/honeypenny/src/crypto/keccak_modified.h:30:5: error: ‘hash’ is not a member of ‘crypto’ crypto::hash r; ^
Sorry about this, already fixed. Just stopped test network since it is incompatible with current sources. Sorry if someone was confused, we was very focused on pathching core with new hash.
|
|
|
900
|
Alternate cryptocurrencies / Altcoin Discussion / Re: [HP] Monetization discussion
|
on: May 03, 2014, 10:59:46 PM
|
For each tx donation value is defined as: donation(tx) = (if (donation_flag_set) fee; else 0);
For each block average donations value is:
avr_donations(block) = sum_of_all_tx_donatons/tx_count
For example: block1 have following transactions in txs[]: txs[0]: fee=100, donation flag=0; txs[1]: fee=200, donation flag=0; txs[2]: fee=100, donation flag=1; txs[3]: fee=150, donation flag=0; txs[4]: fee=100, donation flag=1; txs[5]: fee=100, donation flag=0;
avr_donations(block1) = (0 + 0 + 100 + 0 + 100 + 0)/6 = 33
Finally, once a day(each 720th block) donation value to transfer to devs calculated as a median(avr_donations(block0), avr_donations(block1)....avr_donations(block719)) * 720
Does it make sense ?
UPDATE:
donations(block1) = (0 + 0 + 100 + 0 + 100 + 0) = 200
|
|
|
|