Pages:
Author

Topic: [YAC]: YaCoin Information Thread - page 3. (Read 20782 times)

full member
Activity: 167
Merit: 100
May 13, 2013, 03:21:55 AM
#48
I was under the impression PPCoin's PoS was not really working yet, and that nobody else had done any development on it...

Update after reading some code:
  • Nfactor is only used for memory allocation size - so it has no actual effect on the implementation; in other words, N is not dynamic
  • The code is quite messy, and even something as simple as the memory allocator is broken (it pretty much ignores the size of the allocation request)

I think this one gets a "scamcoin" classification...

Luke-Jr, interesting comment. I had a brief go at the code as well, but can't confirm your findings. Maybe you were a bit quick shouting "scamcoin", eh?
  • Yes, the scrypt codebase is ugly. #define's and #ifdefs everywhere. Is this a copy of the original scrypt?
  • The scrypt romix code in scrypt-jane-romix-template.h (function called SCRYPT_ROMIX_FN) does use N (i.e. Nfactor) looping from 1 to N, in addition to increasing the mem size by N. I don't know enough about the underlying crypto, but I believe complexity scales at least by O(N2).
  • The allocate and free methods are totally fine. You have tripped over an #ifdef:
Code:
#if defined(SCRYPT_TEST_SPEED)
// jomay: I left out the test code - this is the one you've read.
// It works fine in practice as well, but makes the scrypt() function non re-entrant.
#else
// jomay: here goes the real deal - fully functional, no mem leak, fine.
static scrypt_aligned_alloc scrypt_alloc(uint64_t size) {
    static const size_t max_alloc = (size_t)-1;
    scrypt_aligned_alloc aa;
    size += (SCRYPT_BLOCK_BYTES - 1);
    if (size > max_alloc)
        scrypt_fatal_error("scrypt: not enough address space on this CPU to allocate required memory");
    aa.mem = (uint8_t *)malloc((size_t)size);
    aa.ptr = (uint8_t *)(((size_t)aa.mem + (SCRYPT_BLOCK_BYTES - 1)) & ~(SCRYPT_BLOCK_BYTES - 1));
    if (!aa.mem)
        scrypt_fatal_error("scrypt: out of memory");
    return aa;
}

static void scrypt_free(scrypt_aligned_alloc *aa) {
    free(aa->mem);
}
#endif
This isn't the code I saw (yacoin's github master branch).
Where did it come from?

YACoins scrypt-jane master branch: https://github.com/pocopoco/yacoin/blob/master/src/scrypt-jane/

scrypt_alloc is at lines 86-129. As clearly stated above, the posted code simply leaves out the SCRYPT_TEST_SPEED #ifdef branch: https://github.com/pocopoco/yacoin/blob/master/src/scrypt-jane/scrypt-jane.c

SCRYPT_ROMIX_FN is defined here: https://github.com/pocopoco/yacoin/blob/master/src/scrypt-jane/code/scrypt-jane-romix-template.h

Where did you look at?
legendary
Activity: 2576
Merit: 1186
May 12, 2013, 08:09:06 PM
#47
I was under the impression PPCoin's PoS was not really working yet, and that nobody else had done any development on it...

Update after reading some code:
  • Nfactor is only used for memory allocation size - so it has no actual effect on the implementation; in other words, N is not dynamic
  • The code is quite messy, and even something as simple as the memory allocator is broken (it pretty much ignores the size of the allocation request)

I think this one gets a "scamcoin" classification...

Luke-Jr, interesting comment. I had a brief go at the code as well, but can't confirm your findings. Maybe you were a bit quick shouting "scamcoin", eh?
  • Yes, the scrypt codebase is ugly. #define's and #ifdefs everywhere. Is this a copy of the original scrypt?
  • The scrypt romix code in scrypt-jane-romix-template.h (function called SCRYPT_ROMIX_FN) does use N (i.e. Nfactor) looping from 1 to N, in addition to increasing the mem size by N. I don't know enough about the underlying crypto, but I believe complexity scales at least by O(N2).
  • The allocate and free methods are totally fine. You have tripped over an #ifdef:
Code:
#if defined(SCRYPT_TEST_SPEED)
// jomay: I left out the test code - this is the one you've read.
// It works fine in practice as well, but makes the scrypt() function non re-entrant.
#else
// jomay: here goes the real deal - fully functional, no mem leak, fine.
static scrypt_aligned_alloc scrypt_alloc(uint64_t size) {
    static const size_t max_alloc = (size_t)-1;
    scrypt_aligned_alloc aa;
    size += (SCRYPT_BLOCK_BYTES - 1);
    if (size > max_alloc)
        scrypt_fatal_error("scrypt: not enough address space on this CPU to allocate required memory");
    aa.mem = (uint8_t *)malloc((size_t)size);
    aa.ptr = (uint8_t *)(((size_t)aa.mem + (SCRYPT_BLOCK_BYTES - 1)) & ~(SCRYPT_BLOCK_BYTES - 1));
    if (!aa.mem)
        scrypt_fatal_error("scrypt: out of memory");
    return aa;
}

static void scrypt_free(scrypt_aligned_alloc *aa) {
    free(aa->mem);
}
#endif
This isn't the code I saw (yacoin's github master branch).
Where did it come from?
newbie
Activity: 28
Merit: 0
May 12, 2013, 05:44:23 PM
#46
A lot of pumpin and dumpin going on at bter...
full member
Activity: 167
Merit: 100
May 12, 2013, 05:37:20 PM
#45
I was under the impression PPCoin's PoS was not really working yet, and that nobody else had done any development on it...

Update after reading some code:
  • Nfactor is only used for memory allocation size - so it has no actual effect on the implementation; in other words, N is not dynamic
  • The code is quite messy, and even something as simple as the memory allocator is broken (it pretty much ignores the size of the allocation request)

I think this one gets a "scamcoin" classification...

Luke-Jr, interesting comment. I had a brief go at the code as well, but can't confirm your findings. Maybe you were a bit quick shouting "scamcoin", eh?
  • Yes, the scrypt codebase is ugly. #define's and #ifdefs everywhere. Is this a copy of the original scrypt?
  • The scrypt romix code in scrypt-jane-romix-template.h (function called SCRYPT_ROMIX_FN) does use N (i.e. Nfactor) looping from 1 to N, in addition to increasing the mem size by N. I don't know enough about the underlying crypto, but I believe complexity scales at least by O(N2).
  • The allocate and free methods are totally fine. You have tripped over an #ifdef:
Code:
#if defined(SCRYPT_TEST_SPEED)
// jomay: I left out the test code - this is the one you've read.
// It works fine in practice as well, but makes the scrypt() function non re-entrant.
#else
// jomay: here goes the real deal - fully functional, no mem leak, fine.
static scrypt_aligned_alloc scrypt_alloc(uint64_t size) {
    static const size_t max_alloc = (size_t)-1;
    scrypt_aligned_alloc aa;
    size += (SCRYPT_BLOCK_BYTES - 1);
    if (size > max_alloc)
        scrypt_fatal_error("scrypt: not enough address space on this CPU to allocate required memory");
    aa.mem = (uint8_t *)malloc((size_t)size);
    aa.ptr = (uint8_t *)(((size_t)aa.mem + (SCRYPT_BLOCK_BYTES - 1)) & ~(SCRYPT_BLOCK_BYTES - 1));
    if (!aa.mem)
        scrypt_fatal_error("scrypt: out of memory");
    return aa;
}

static void scrypt_free(scrypt_aligned_alloc *aa) {
    free(aa->mem);
}
#endif
[/li][/list]
newbie
Activity: 35
Merit: 0
sr. member
Activity: 406
Merit: 250
The cryptocoin watcher
May 12, 2013, 10:09:24 AM
#43
I've written a throttling script for Linux to tune down yacoin-qt when core temperature is too high:

Thread: http://yacointalk.com/index.php/topic,34.0.html

Code:

Code:
#!/bin/bash
while true
do
t=$(sensors|grep Core|awk '{print $3}'|cut -b2,3|awk '{if (NR==1) print $1}');
brake=$(ps -e|grep cpulimit);
if [[ $t > 65 && ! $brake ]]; then
cpulimit -e yacoin-qt -l 99 -b > /dev/null 2>&1;
echo "Temperature is $t. Throttling down...";
sleep 15;
elif [[ $t < 65 && $brake ]]; then
killall cpulimit;
echo "Temperature is $t. Throttling up...";
sleep 5;
else
sleep 3;
fi
done

You may need to install first cpulimit.

When you finish it with Ctrl+C it may leave cpulimit running, you'll have to kill it afterwards.

Modifications are welcome.
member
Activity: 70
Merit: 10
May 12, 2013, 09:17:23 AM
#42
Please add this faucet:
http://yac-faucet.tk/

nice faucet Smiley very unique Smiley
sr. member
Activity: 462
Merit: 250
May 12, 2013, 09:07:08 AM
#41
All updated.
sr. member
Activity: 406
Merit: 250
One does not simply mine Bitcoins
May 12, 2013, 08:06:54 AM
#40
Please add this faucet:
http://yac-faucet.tk/
legendary
Activity: 1232
Merit: 1001
May 12, 2013, 06:18:14 AM
#39
Better update information.  YAC is traded on http://bter.com now.  Nice one!
legendary
Activity: 1197
Merit: 1000
May 12, 2013, 04:01:39 AM
#38
New pool opened: http://yac.coinmine.pl - 0% fee
legendary
Activity: 2576
Merit: 1186
May 11, 2013, 10:48:30 PM
#37
I was under the impression PPCoin's PoS was not really working yet, and that nobody else had done any development on it...

Update after reading some code:
  • Nfactor is only used for memory allocation size - so it has no actual effect on the implementation; in other words, N is not dynamic
  • The code is quite messy, and even something as simple as the memory allocator is broken (it pretty much ignores the size of the allocation request)

I think this one gets a "scamcoin" classification...
sr. member
Activity: 406
Merit: 250
The cryptocoin watcher
May 11, 2013, 09:31:23 AM
#36
Are there details on your proof-of-stake implementation?

I don't think it's changed from NVC. In my view the problem some PoW + PoS coins had is that PoW would just not die, which defeats the energy saving purpose of PoS. If YAC's PoW stops working at some point that may be good and solve that problem.
legendary
Activity: 1232
Merit: 1001
May 11, 2013, 09:28:28 AM
#35
Some folks should organise together and see about getting some online shops to accept YaCoin for payment.

Perhaps a bounty is required?
legendary
Activity: 1232
Merit: 1001
May 11, 2013, 09:27:49 AM
#34
The proposed proof-of-work algorithm doesn't sound at all like a good idea to me - I suspect it would prove to be even worse than Litecoin's scrypt.

Are there details on your proof-of-stake implementation?

Time will tell.  So far so good.

legendary
Activity: 2576
Merit: 1186
May 11, 2013, 09:26:34 AM
#33
The proposed proof-of-work algorithm doesn't sound at all like a good idea to me - I suspect it would prove to be even worse than Litecoin's scrypt.

Are there details on your proof-of-stake implementation?
full member
Activity: 224
Merit: 100
May 10, 2013, 01:46:15 PM
#32
very nice summary of YAC related info, I will be watching
PS. The logo is awesome Smiley

+10 on the logo, I had to do a double take and buy more YACoin.  Well done!
member
Activity: 238
Merit: 10
May 10, 2013, 12:17:50 PM
#31
thank you !
i have added you to Donation List
and anyboy know who design the yacoin logo
please tell me
i want to add him to Donation List
sr. member
Activity: 309
Merit: 250
Pages:
Jump to: