neiros (OP)
Legendary
Offline
Activity: 3556
Merit: 1100
|
|
February 07, 2018, 03:49:56 PM |
|
Предлагаю вынести в первое сообщение Дельное предложение. Есть над чем подумать. TTC ПисеЦ - Самостоятельная криптовалюта не является форком чего бы то ни было. Не совсем верно. По формальным признакам это форк биткоина с относительно минимальными изменениями. Но с другой стороны эти изменения совершенно не сопоставимы по своей сути при сравнении со всеми другими классическими форками. TTC скорее генезисная криптовалюта, определяющая новый тренд - направление в возможном дальнейшем развитии криптовалют. Фундаментальная в каком то смысле. Алгоритм хеширования - Lyra2REv2 - CPU ориентированный. На данный момент можно так сказать, но с большой натяжкой. Как только в каком-нибудь майнере появится этот модифицированный алгоритм(а это можно сделать хоть "завтра"), эффективность CPU резко упадёт. Ему останется майнить только исходящие транзакции. Но даже эту работу в некоторых случаях можно будет довольно легко переложить на видеокарту, хотя эта возможность, если и будет востребована, то очень и очень не скоро. Это описание немного уже потеряло свою актуальность. Как показало время, надо будет написать более простое и понятное для большинства. Пока добавил это.
|
|
|
|
ejdigger
Newbie
Offline
Activity: 63
Merit: 0
|
|
February 07, 2018, 09:13:33 PM |
|
В новой версии пока не замечено орфанов веток при майнинге в виндовом кошельке в 1 или 4 потока. Погоняю несколько дней на разных машинках. Похоже проблема ушла. neiros молодец! 5MB блоки как понимаю не существенно меняют код. Будет ли перезапуск блокчейна? Какое количество монет теоретически может быть смайнено, или ограничения нет? Так и не понял из статьи. Так же что подразумевается под комиссией второго и последующего переноса, перенос в новый блокчейн при выработке старого блокчейна?
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3556
Merit: 1100
|
|
February 08, 2018, 06:03:21 AM Last edit: January 14, 2021, 11:29:26 AM by neiros |
|
В новой версии пока не замечено орфанов веток при майнинге в виндовом кошельке в 1 или 4 потока. Погоняю несколько дней на разных машинках. Похоже проблема ушла. neiros молодец! Проблема осталась там же где и была. И это проблема только win-сборок. В убунте всё работает идеально. Пытался использовать новые версии всяких библиотек и т.п., что при сборке используются, но то в одном месте какие-то левые ошибки выскакивают, то в другом вылазят. Слишком много нужно перетряхивать непонятного методом тыка и плясками с бубном. Времени на это много тратится... В какой то мере проще будет мигрировать в 0.9 или 0.10 версию биткоина, где процесс сборки под разные системы вроде бы немного более настроен и автоматизирован, чем постоянно попадать в ситуацию барана, что смотрит на очередные новые ворота. Но в любом случае баран никуда не денется. 5MB блоки как понимаю не существенно меняют код. Будет ли перезапуск блокчейна? 5MB блоки установлены изначально - https://github.com/neiros/old_work/blob/TTC-all-Lyra2REv2/src/main.h#L51Перезапуск исключен. Но возможен с том случае, если возникнут какие-либо ошибки, которые можно будет исправить только методом перезапуска. Какое количество монет теоретически может быть смайнено, или ограничения нет? Так и не понял из статьи. Теоретически пользователи сами решают сколько им монет нужно. Так же что подразумевается под комиссией второго и последующего переноса, перенос в новый блокчейн при выработке старого блокчейна?
Блокчейн один и тот же. Только не потраченные выходы множества транзакций из старых блоков переносятся в новые блоки одной транзакцией. Старые блоки становятся ненужными. Они кроме истории сделок больше не несут никакой ценности - можно их удалять или "сдавать в утиль или музей"
|
|
|
|
Kepasa
Legendary
Offline
Activity: 1848
Merit: 1014
|
|
February 08, 2018, 10:58:05 AM |
|
Проблема осталась там же где и была. И это проблема только win-сборок.
проверено, продолжает уходить в орфан-ветку
|
|
|
|
ejdigger
Newbie
Offline
Activity: 63
Merit: 0
|
|
February 08, 2018, 09:43:02 PM |
|
Да, при более длительном прогоне на двух машинах тоже ушли в орфан даже на одном потоке.
|
|
|
|
Coin-1
Legendary
Offline
Activity: 2604
Merit: 2278
|
|
February 10, 2018, 05:10:23 AM |
|
Да, при более длительном прогоне на двух машинах тоже ушли в орфан даже на одном потоке.
Виндовая нода вообще принимает-то смайненные блоки от других нод?
|
|
|
|
ejdigger
Newbie
Offline
Activity: 63
Merit: 0
|
|
February 10, 2018, 05:59:20 AM |
|
Слабенькие компы без орфанов копают неделями, запустил в качестве эксперимента на постоянку. Как проверить принимают или нет другие блоки без понятия.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3556
Merit: 1100
|
|
February 10, 2018, 06:16:10 AM |
|
Слабенькие компы без орфанов копают неделями, запустил в качестве эксперимента на постоянку. Как проверить принимают или нет другие блоки без понятия.
Если копают, значит принимают.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3556
Merit: 1100
|
|
February 11, 2018, 05:05:37 AM Last edit: January 14, 2021, 11:30:51 AM by neiros |
|
Проявилась ещё одна ошибка. Майнинг из-за этого невозможен. ... CreateNewBlock(): total size 1000 ERROR: CheckTransaction() : vout empty ERROR: CheckBlock() : CheckTransaction failed ...
... CBlock(hash=2fd6197b461c2ed00192f2e2b394d76d0a688669f64539ca3d9d11ea747dd226, ver=2, hashPrevBlock=00000010f28c0c5774cfb59cc2fda5fe08ce6cafbf18d8ca3058aaf679bc74d7, hashMerkleRoot=0000000000000000000000000000000000000000000000000000000000000000, nTime=1518290114, nBits=1d2cd213, nNonce=0, vtx=2) CTransaction(hash=1fd00ebc725efe45cf8e5ee2e767095c3ae55cd36762f1d0ca24453b443a0da9, ver=1, vin.size=1, vout.size=2, tBlock=0, nLockTime=0) CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 0000) CTxOut(nValue=148.65014985, scriptPubKey=03ab002067e03c11b58f833b02f351) CTxOut(nValue=1.34985015, scriptPubKey=03c1210be41ebaf80c1a9ad023bc0b) CTransaction(hash=937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f, ver=1, vin.size=5, vout.size=0, tBlock=26820, nLockTime=0) CTxIn(COutPoint(d29b1f7114aa2a19d6f97a08adaac45923b6f27f7fcf19f28288ab74ca7f33f7, 1), scriptSig=0 0) CTxIn(COutPoint(21b12bf8d01d35e00101753fc8d99badcefb52bb85a039e66c580dcb3456fde8, 0), scriptSig=0 0) CTxIn(COutPoint(604594a734e1bd3ae68a5f97b2b191548accba025b82c4c3333608c7a0f333fb, 0), scriptSig=0 0) CTxIn(COutPoint(02596bc8a9a3bdb85f11219e4a124660188ae1da8a43a9a4e92eaa63637aa6cb, 0), scriptSig=0 0) CTxIn(COutPoint(22c8d0766bdf5176971b73e56a974c414904ae1364d918f6be8111c27e6ccdf5, 1), scriptSig=0 0) vMerkleTree: Running TTC-Miner with 2 transactions in block (465 bytes) ... 10:35:25  getrawtransaction 937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f 1
10:35:25  { "hex" : "0100000005f7337fca74ab8882f219cf7f7ff2b62359c4aaad087af9d6192aaa14711f9bd201000000020000ffffffffe8fd5634cb0d586ce639a085bb52fbcead9bd9c83f750101e0351dd0f82bb12100000000020000fffffffffb33f3a0c7083633c3c4825b02bacc8a5491b1b2975f8ae63abde134a794456000000000020000ffffffffcba67a6363aa2ee9a4a9438adae18a186046124a9e21115fb8bda3a9c86b590200000000020000fffffffff5cd6c7ec21181bef618d96413ae0449414c976ae5731b977651df6b76d0c82201000000020000ffffffff00c468000000000000", "txid" : "937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f", "version" : 1, "locktime" : 0, "tBlock" : 26820, "vin" : [ { "txid" : "d29b1f7114aa2a19d6f97a08adaac45923b6f27f7fcf19f28288ab74ca7f33f7", "vout" : 1, "scriptSig" : { "asm" : "0 0", "hex" : "0000" }, "sequence" : 4294967295 }, { "txid" : "21b12bf8d01d35e00101753fc8d99badcefb52bb85a039e66c580dcb3456fde8", "vout" : 0, "scriptSig" : { "asm" : "0 0", "hex" : "0000" }, "sequence" : 4294967295 }, { "txid" : "604594a734e1bd3ae68a5f97b2b191548accba025b82c4c3333608c7a0f333fb", "vout" : 0, "scriptSig" : { "asm" : "0 0", "hex" : "0000" }, "sequence" : 4294967295 }, { "txid" : "02596bc8a9a3bdb85f11219e4a124660188ae1da8a43a9a4e92eaa63637aa6cb", "vout" : 0, "scriptSig" : { "asm" : "0 0", "hex" : "0000" }, "sequence" : 4294967295 }, { "txid" : "22c8d0766bdf5176971b73e56a974c414904ae1364d918f6be8111c27e6ccdf5", "vout" : 1, "scriptSig" : { "asm" : "0 0", "hex" : "0000" }, "sequence" : 4294967295 } ], "vout" : [ ], "blockhash" : "00000010a32f5f65502d5040ae60f5fc87c9f544579f35378bb8468ece27f77e", "confirmations" : 10, "time" : 1518292567, "blocktime" : 1518292567 }
CTransaction(hash=937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f, ver=1, vin.size=5, vout.size=0, tBlock=26820, nLockTime=0)Механизм переноса транзакций создал транзакцию только с одними инами, без аутов - https://github.com/neiros/old_work/blob/TTC-all-Lyra2REv2/src/miner.cpp#L355Такая транзакция стала невалидной - https://github.com/neiros/old_work/blob/TTC-all-Lyra2REv2/src/main.cpp#L709Решается эта проблема двумя направлениями: либо убирается проверка отсутствующих выходов, либо добавляется хотя бы один выход. Первый вариант мне не очень нравится. Он легитимизирует такого рода половинчатые транзакции. Это в дальнейшем вносит ещё один момент неопределённости. Второй более предпочтителен, но нужно определиться что, кому, куда и сколько отправить.
|
|
|
|
yo-blin
Legendary
Offline
Activity: 2296
Merit: 1057
|
|
February 16, 2018, 11:14:47 AM Last edit: February 16, 2018, 11:33:50 AM by yo-blin |
|
что с нодами ?
понял. когда патч будет ?
|
Sign for rent, СОБИРАЮ МЕRIT! NVC: 4 YoBLincaRdAEG4v8tbZ4T26ZnKbT9SBsu
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3556
Merit: 1100
|
|
February 18, 2018, 11:27:08 AM |
|
когда патч будет ?
На следующей неделе скорее всего. Очень не кстати эта проблемка всплыла. Из-за других левых дел "пара часов" на неделю растянулась. Но оно и к лучшему. За это время не спеша сгенерировал блок с 10000 транзакциями, пощупал, посмотрел что да как. На рабочей сети такого не получилось бы сделать, однозначно. Завтра-послезавтра приеду домой, доделаю кое-чего и всё опять дальше заработает.
|
|
|
|
ejdigger
Newbie
Offline
Activity: 63
Merit: 0
|
|
February 18, 2018, 07:19:11 PM |
|
У меня две машинки слабенькие не отключаясь копают. Интересно в орфанах уже или нет, давно не заглядывал.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3556
Merit: 1100
|
|
February 23, 2018, 11:18:39 AM Last edit: January 14, 2021, 11:39:29 AM by neiros |
|
Решил текущую проблему таким образом - https://github.com/neiros/TDC/commit/8d955ed8cd5e70b1703c93b30ba469bbbabc7b50Не более MIN_FEE_PART_CHAIN уходит выходу коинбазовой транзакции блока. Добавил ещё одну RPC функцию: getblocktarget <hash> - https://github.com/neiros/TDC/commit/5c5a07da7693a50457a6631d1e9c8b6d4dba70d418:10:25  getblocktarget 000078813027ce8c83ac53e7d651c96a30c10737b3860f81865167fdd00e3a5d
18:10:26  { "block " : "000078813027ce8c83ac53e7d651c96a30c10737b3860f81865167fdd00e3a5d", "target" : "0000adbedb24cd9f7769b639515a6360257f70cbb160aa859093decec1f28017", "old tar" : "0000002cd2130000000000000000000000000000000000000000000000000000", "total tx" : 10046, "CDFtrdt" : 0.99993818, "CDFsize" : 1.00000000, "backlash" : 999, "decrease ~ %" : 0.99899233, "maxBigNum" : 115792089237316195423570985008687907853269984665640564039457584007913129639936.00000000, "divideTarget" : 95825736.00000000, "- sumTrDif -" : 884449876.00000000 }
Показывает работу алгоритма изменения сложности - https://bitcointalk.org/index.php?topic=2254304.msg25067261#msg25067261 ( snowfox = 1.05) 26823 блок - http://90.188.88.19:3001/api/getblock?hash=000078813027ce8c83ac53e7d651c96a30c10737b3860f81865167fdd00e3a5dРазмер ~ 2,25 мегабайт. Cодержит 10046 транзакций. (для Iquidus Explorer такое количество неподъёмное, несколько часов он этот блок индексировал) Я не стал дальше наращивать количество транзакций до 5 мегабайт. Уже очевидно, что всё вполне нормально функционирует, если не учитывать некоторые тормоза из-за такого большого блока. Но что бы проверить более досконально, нужно в рабочей сети генерировать каждые 5 минут по 10000-20000 транзакций в течение 2-4 недель. Это примерно 288 * 15000 * 30 ~ 130 миллионов транзакций в месяц, что больше количества всех транзакций всех криптовалют, существующих на сегодняшний день(нереально ) Генерация некоего разового количества в текущих условиях требует довольно серьёзных вычислительных затрат(почти пол дня на 10000 транзакций у меня ушло, но можно конечно и быстрее) и это количество транзакций моментально размажется на очень большое количество мелких блоков из-за значительного уменьшения их сложности. Новый релиз - https://github.com/neiros/TDC/releases/tag/v0.8.217.4
|
|
|
|
|
JRBVZ
Jr. Member
Offline
Activity: 202
Merit: 8
|
|
March 18, 2018, 06:20:04 PM |
|
//void lyra2re_hash(const char* input, char* output) //{ // sph_blake256_context ctx_blake; // sph_groestl256_context ctx_groestl; // sph_keccak256_context ctx_keccak; // sph_skein256_context ctx_skein;
// uint32_t hashA[8], hashB[8];
// sph_blake256_init(&ctx_blake); // sph_blake256 (&ctx_blake, input, 80); // sph_blake256_close (&ctx_blake, hashA); // sph_keccak256_init(&ctx_keccak); // sph_keccak256 (&ctx_keccak,hashA, 32); // sph_keccak256_close(&ctx_keccak, hashB); // LYRA2_old(hashA, 32, hashB, 32, hashB, 32, 1, 8, 8 ); // sph_skein256_init(&ctx_skein); // sph_skein256 (&ctx_skein, hashA, 32); // sph_skein256_close(&ctx_skein, hashB);
// sph_groestl256_init(&ctx_groestl); // sph_groestl256 (&ctx_groestl, hashB, 32); // sph_groestl256_close(&ctx_groestl, hashA);
// memcpy(output, hashA, 32); //}
void lyra2re2_hash(const char* input, char* output) { sph_blake256_context ctx_blake; sph_cubehash256_context ctx_cubehash; sph_keccak256_context ctx_keccak; sph_skein256_context ctx_skein; sph_groestl256_context ctx_groestl; sph_bmw256_context ctx_bmw;
uint32_t hashA[8], hashB[8];
sph_blake256_init(&ctx_blake); sph_blake256(&ctx_blake, input, 80); sph_blake256_close (&ctx_blake, hashA);
sph_keccak256_init(&ctx_keccak); sph_keccak256(&ctx_keccak, hashA, 32); sph_keccak256_close(&ctx_keccak, hashB);
sph_cubehash256_init(&ctx_cubehash); sph_cubehash256(&ctx_cubehash, hashB, 32); sph_cubehash256_close(&ctx_cubehash, hashA);
LYRA2(hashB, 32, hashA, 32, hashA, 32, 1, 5, 6); // LYRA2(hashB, 32, hashA, 32, hashA, 32, 1, 4, 4);
sph_skein256_init(&ctx_skein); sph_skein256(&ctx_skein, hashB, 32); sph_skein256_close(&ctx_skein, hashA);
sph_groestl256_init(&ctx_groestl); sph_groestl256 (&ctx_groestl, hashA, 32); sph_groestl256_close(&ctx_groestl, hashB);
// sph_cubehash256_init(&ctx_cubehash); // sph_cubehash256(&ctx_cubehash, hashA, 32); // sph_cubehash256_close(&ctx_cubehash, hashB);
sph_bmw256_init(&ctx_bmw); sph_bmw256(&ctx_bmw, hashB, 32); sph_bmw256_close(&ctx_bmw, hashA);
memcpy(output, hashA, 32); } Алгоритм хеширования чего-то мне захотелось сделать таким. Заменил второй cubehash256 на groestl256, что был в первоначальном варианте. Чего добру пропадать. Заодно немного параметры в LYRA2 поменял. Есть у кого-нибудь возражения на счёт таких изменений? А что за переменная len в строке: sph_blake256(&ctx_blake, input, len); Взял с гитхаба.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3556
Merit: 1100
|
|
March 19, 2018, 04:00:17 AM |
|
А что за переменная len в строке: sph_blake256(&ctx_blake, input, len);
Взял с гитхаба.
Это длина в байтах. Функция считает хеши для блоков и транзакций. Для блока начальная длина 80, для транзакции 32.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3556
Merit: 1100
|
|
March 19, 2018, 04:00:32 PM |
|
Запустил амазоновскую ноду - 52.14.204.148
Собрать клиент там не получилось - памяти не хватило, а залитый бинарик очень даже не плохо работает.
|
|
|
|
rukocrypt
Newbie
Offline
Activity: 13
Merit: 0
|
|
March 19, 2018, 04:20:24 PM |
|
Запустил амазоновскую ноду - 52.14.204.148
Собрать клиент там не получилось - памяти не хватило, а залитый бинарик очень даже не плохо работает.
А какие параметры сервера должны быть, что бы установить ноду?
|
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3556
Merit: 1100
|
|
March 19, 2018, 04:52:09 PM |
|
А какие параметры сервера должны быть, что бы установить ноду?
Самые минимальные, главное что бы блокчейн влез. Нода работает на бесплатном 12-ти месячном инстансе - Ubuntu Server 16.04 LTS (HVM),EBS General Purpose (SSD) Volume Type. Support available from Canonical ( http://www.ubuntu.com/cloud/services). t2.micro (Variable ECUs, 1 vCPUs, 2.5 GHz, Intel Xeon Family, 1 GiB memory, EBS only) Если нет синхронизации, в консоли нужно ввести: addnode 90.188.88.19 add Консоль находится здесь: Help -> Debug windows -> Console
|
|
|
|
|