Author

Topic: NovaCoin (scrypt PoW + PoS hybrid) [self-mod] - page 164. (Read 744451 times)

legendary
Activity: 1260
Merit: 1019
В том то и идея, что последние блоки хранятся полностью, а снепшот делается и проверяется на основании хедера и подписи блоков. Так если вам кто то скормит не корректный снепшот, то высота дерева будет крайне не высока и вы все равно потом утяните "корректную" длинную ветку.
Какой нафиг снапшот?
"Кормом" для ноды являются не снапшоты, а блоки и транзакции.
Не имея полного блокчейна вы не сможете полноценно майнить.
donator
Activity: 968
Merit: 1002
Здесь может возникнуть мысль: а что, если из блокчейна удалять те транзакции которые полностью израсходованы? Они всё равно только место зря занимают и уж точно никогда не понадобятся.

Да, это возможно. Но в таком случае вы не сможете полный блокчейн кому-то предоставить. То есть вы становитесь "ущербной" нодой. Второй аспект, что у многих транзакций часть выходов израсходованы, а часть - нет. Если хотя бы один из выходов неизрасходован - вам придется эту транзакцию продолжать хранить. Так что выгода на экономии дискового пространства будет невеликая.

"актуальное состояние блокчейна" - это и есть список всех не израсходованных транзакций. Выгода будет, о ее эффективности можно судить только эмпирически, кто то может подсчитать?
В том то и идея, что последние блоки хранятся полностью, а снепшот делается и проверяется на основании хедера и подписи блоков. Так если вам кто то скормит не корректный снепшот, то высота дерева будет крайне не высока и вы все равно потом утяните "корректную" длинную ветку.

P.S. теоретизировать о поведении тех или иных личностей можно долго, предпочитаю ограничивать все возможные варианты до приемлемых в любом случае.
legendary
Activity: 1218
Merit: 1019
Да считаю. Нерациональные и непрагматичные погибают в естественном отборе в борьбе с рациональными и прагматичными.
Ну, это у Вас очень примитивное представление о сути естественного отбора. Даже у бактерий бывает выгодный им альтруизм. Впрочем, не будем углубляться в оффтоп.
Quote
Если у них есть какие-то иные средства для существования - они могут какое-то время баловаться себе в убыток.
Но и в этом случае их участь незавидна в долгосроке.
Обратите внимание на очень важный момент. Они тем самым балуются в убыток не только СЕБЕ. Но также и в убыток тем, кто использует стратегии, построенные на допущении, что конкуренты всегда действуют рационально.
И тут очень большой вопрос, кто в итоге пострадает сильнее. От слишком большого числа факторов это зависит.

Случаи, когда некий план терпел провал по причине, что враг оказывался феерически туп, не такая уж большая редкость.  Grin
legendary
Activity: 1260
Merit: 1019
Приятно общаться с думащими людьми.
Они хоть думают, а, следовательно, их можно убедить аргументами, а не как с бикулом Smiley

это то, что Вы считаете человека всегда рациональным и прагматичным.
Да считаю. Нерациональные и непрагматичные погибают в естественном отборе в борьбе с рациональными и прагматичными.
Если у них есть какие-то иные средства для существования - они могут какое-то время баловаться себе в убыток.
Но и в этом случае их участь незавидна в долгосроке.

Майнер, зная что не включение транзакций в блок чревато гибелью системы (и следовательно, потерей его прибыли), будет всегда их включать.
Так что вопрос выгодности/невыгодности его действий не может однозначно быть решен логически или математически
Тут ведь в чем вопрос: в какой единице майнеры меряют свои прибыли.
Если они меряют в долларах и в рублях - то у них одна стратегия.
Если же в крипто-фантиках - то стратегия противоположная.

Навеяло присказку:
Скажи мне в чем ты измеряешь прибыль, и я скажу кто ты Smiley
legendary
Activity: 1218
Merit: 1019
amaclin, самая большая ошибка в Ваших рассуждениях - это то, что Вы считаете человека всегда рациональным и прагматичным.
Потому постоянно генерируете логические парадоксы, вроде вышеописанного (очень похожего на, думаю известный Вам, парадокс неожиданной казни).
Методы математической индукции неприменимы к принятию реальных решений, о чем достаточно хорошо известно.
Если бы это было не так, мир был бы совсем другим.

То что сама по себе самая строгая логика всегда не имеет смысла без системы аксиом (произвольно принятой!!!), Вам тоже, надеюсь, хорошо известно. Так что с логикой спорить попросту бессмысленно (также как и спорить с бессвязным бредом сумасшедшего) - она всего лишь инструмент, к вопросу истинности чего-либо не имеющий никакого отношения.

Например, продолжая цепь Ваших рассуждений элементарно можно прийти к прямо противоположному выводу. Майнер, зная что не включение транзакций в блок чревато гибелью системы (и следовательно, потерей его прибыли), будет всегда их включать.
Так что вопрос выгодности/невыгодности его действий не может однозначно быть решен логически или математически

Впрочем, описанную Вами гипотетическую ситуацию следует рассмотреть. И ее можно обойти. Сделав, например, обязательную комиссию за транзакцию зависимой от возраста и размера входов и дав возможность майнеру ее получать (что и так частично сделано).
В этом случае конечно же тоже возможна ситуация, когда майнер решит, что лучше изъять из системы N монет, чем получить M монет прибыли. Но возникновение такой ситуации намного менее вероятно, не говоря уже о том, что для этого M и N должны удовлетворять некоторым критериям, причем в какой-то степени индивидуальным для каждого майнера (зависящим от уже имеющегося у него капитала).

В целом, по поводу комиссий у меня тоже были и есть некоторые соображения.
legendary
Activity: 1260
Merit: 1019
Прошу не путать понятия "полный блокчейн" и "актуальное состояние блокчейна"(т.е. информацию о балансе всех адресов в сети).
Первое не является обязательным для пос,а вот 2е нужно.
Я может быть чего-то не понимаю.
Ну, вот, допустим у вас нода посит. И при этом не имеет полного блокчейна.
Вам приходит транзакция, списывающая из tx:743758475384758943:0 крипту куда-то.
Если у вас нет информация о том, что эта транзакция есть в базе и её выход #0 неизрасходован - то вы не можете включать в блок пришедшую транзакцию, так как она может оказаться фальшивой.
Если у вас для любой транзакции имещей неизрасходованные выходы есть данные - то, поздравляю! Вы владелец фуллноды.

Здесь может возникнуть мысль: а что, если из блокчейна удалять те транзакции которые полностью израсходованы? Они всё равно только место зря занимают и уж точно никогда не понадобятся.

Да, это возможно. Но в таком случае вы не сможете полный блокчейн кому-то предоставить. То есть вы становитесь "ущербной" нодой. Второй аспект, что у многих транзакций часть выходов израсходованы, а часть - нет. Если хотя бы один из выходов неизрасходован - вам придется эту транзакцию продолжать хранить. Так что выгода на экономии дискового пространства будет невеликая.
donator
Activity: 968
Merit: 1002
Прошу не путать понятия "полный блокчейн" и "актуальное состояние блокчейна"(т.е. информацию о балансе всех адресов в сети).
Первое не является обязательным для пос,а вот 2е нужно.
legendary
Activity: 1260
Merit: 1019
развивая идею можно предложить награду владельцам полного блокчейна. Proof of Blockchain ) чтобы полных вариантов было побольше. ведь при широком использовании неизбежно тяготение к лёгким клиентам
А награда владельцам полного блокчейна и так есть.
Она называется "награда от блока". Иначе говоря, майнерское вознаграждение.
Попытка же майнить (или посить в случае PoS) не имея полного блокчейна - это "стоять под стрелой" - очень рисковано.
Как только вы попытаетесь это сделать - так тут же найдется злоумышленник, который вам на узел закинет невалидный блок или невалидную транзакцию.
Проверить корректность блока и транзакции вы не имея полного блокчейна не сможете!
Таким образом, включив невалидную транзакцию в блок или начав майнить от невалидного блока вы рискуете, что ваш блок не примет вся остальная сеть.
Разумеется, кому-нибудь всегда будет выгодно увеличить собственные шансы на создание блока, поэтому этот кто-то будет настойчиво уменьшать ваши шансы. Ему это обойдется недорого.
donator
Activity: 968
Merit: 1002
Да нафиг не нужен полный блокчейн, достаточно чтобы было общее состояние системы, с которым все согласны.
Например снепшот за каждый последние пол года. Например: 1го июля делается снепшот на 1е января. И все "новые" клиенты (в состоянии по дефолту), просто сливают снепшот за это число, а старые перепаковывают в фоне. Полные же ноды хранят все "для истории и совместимости". Вот только какая там такая важная информация хранится, что ее терять нельзя?

Технология DASH, это один из вариантов реализации "скрытых транзакций", если она кому-то очень интересна, то может поделиться деталями после личного исследованиями, пока что я слышу только рекламные лозунги.
Тут уже были предложены некоторые свои варианты реализации этого функционала, без этих центральных "доверенных" нод.

P.S. rishatgaliulin - вплоть до последнего поста смахивал на альта бикула, надеюсь я не прав).
newbie
Activity: 52
Merit: 0
Каждый выбирает для себя то что удобно. В моем понимании активные посеры и биржы будут хостить полный блокчейн, подгрузка же последней информации будет быстрой.
развивая идею можно предложить награду владельцам полного блокчейна. Proof of Blockchain ) чтобы полных вариантов было побольше. ведь при широком использовании неизбежно тяготение к лёгким клиентам

Для реального развития НОВЫ думаю нужно очень предирчиво изучить технологии DASH
hero member
Activity: 613
Merit: 500
Каждый выбирает для себя то что удобно. В моем понимании активные посеры и биржы будут хостить полный блокчейн, подгрузка же последней информации будет быстрой.
развивая идею можно предложить награду владельцам полного блокчейна. Proof of Blockchain ) чтобы полных вариантов было побольше. ведь при широком использовании неизбежно тяготение к лёгким клиентам
donator
Activity: 968
Merit: 1002
+1 к amaclin.
Предложил бы вариант, с опцией в клиенте, которая бы позволяла хранить только заголовки блоков старше порога (по дефолту пару месяцев) + актуальный текущий баланс системы (если порог в 0). Получаем вариант по безопасности аналогичный исходному клиенту. Проблема полной синхронизации будет решаться полными нодами. Каждый выбирает для себя то что удобно. В моем понимании активные посеры и биржы будут хостить полный блокчейн, подгрузка же последней информации будет быстрой. Теоретически можно делать жесткие метки, записывать "состояние системы", и уже всем отдавать его.
Размер блока я бы описал функцией, нужно подумать какой. Зависимость от процента загрузки последних N блоков (как вариант 2016 и функция похожа на сложность битка). Но тут если будет очень активное использование, то блоки будут очень большими и хардвар перестанет справляться... Хотя, это решается очень плавной функцией.
hero member
Activity: 613
Merit: 500
И он её и в предпоследний не включает - потому что если предпоследний блок найдет он, а последний - кто-то другой - то все равно из-за жадности (глупости) эта транзакция в блок не попадет и средства сгорят.

Если захотите спорить - спорьте не со мной, а с логикой и математикой.
в результате транзакцию подтвердит пос-майнер который не заморачивался математической индукцией ) а просто скачал клиент и даже не знает как определённые транзакции не включать в блок
legendary
Activity: 1260
Merit: 1019
А я бы хотел каждое нное количество блоков некий блок очистки. Типа удалять старую информацию об использованных выходах и тем самым сокращать вес хранимого. Или еще как-то продумать такое. Хранить гигабайты треша как-то некомильфо. (:
Поддерживаю.
Я упоминал об этом, причем в более простом и радикальном варианте - хранить не весь блокчейн, а только последние N блоков. Естественно, это N должно быть достаточно большим и соответствовать как минимум 3-4 годам.
Кроме того, таким образом из системы будут удаляться и потерянные монеты. А те, кто хранит сбережения, думаю, раз в несколько лет вполне могут сделать перевод самому себе (не говоря уже о PoS майнинге, который это и сам по себе сделает).

Радикальный вариант чреват.
Среди владельцев криптовалюты бытует мнение, что "чем меньше койнов в обращении - тем ценнее оставшиеся".
(Я этот тезис считаю ложным, но допустим, майнеры считают этот тезис истинным)
Теперь рассмотрим ситуацию:
Майнер получает транзакцию, которая "на грани выбывания", то есть тратит монеты, которые лежали без движения 4 года.
Если монеты попадут в блок - их владельцу повезло. А если не попадут - то всё. Они сгорели.
Прагматично настроенному майнеру невыгодно эту транзакцию включать в свой блок - сгорание чужих монет он может счесть более выгодным.
Таким образом, если все майнеры будут прагматичны они не включат транзакцию "на грани выбывания" в блок и владелец лишится баблосов.

Значит владельцу нельзя ждать ( 4 года без 10 минут ), он должен переслать свои койны раньше. Допустим, прошло 4 дода без 20 минут и до "выбывания" осталось два блока.

Прагматично настроенный майнер знает, что в последний блок эту транзакцию не включат, а включать ли её в предпоследний? И он её и в предпоследний не включает - потому что если предпоследний блок найдет он, а последний - кто-то другой - то все равно из-за жадности (глупости) эта транзакция в блок не попадет и средства сгорят.

Далее банальная индукция говорит о том, что в случае внедрения алгорима "средства без движения сгорают через N блоков" майнеры вообще не включают чужие транзакции в блоки! Что говорит о смерти сети, как транзакционной системы.

Если захотите спорить - спорьте не со мной, а с логикой и математикой.
legendary
Activity: 1218
Merit: 1019
А я бы хотел каждое нное количество блоков некий блок очистки. Типа удалять старую информацию об использованных выходах и тем самым сокращать вес хранимого. Или еще как-то продумать такое. Хранить гигабайты треша как-то некомильфо. (:
Поддерживаю.
Я упоминал об этом, причем в более простом и радикальном варианте - хранить не весь блокчейн, а только последние N блоков. Естественно, это N должно быть достаточно большим и соответствовать как минимум 3-4 годам.
Кроме того, таким образом из системы будут удаляться и потерянные монеты. А те, кто хранит сбережения, думаю, раз в несколько лет вполне могут сделать перевод самому себе (не говоря уже о PoS майнинге, который это и сам по себе сделает).
legendary
Activity: 1442
Merit: 1016
В читерклиенте автосклейка жирных молодых блоков тоже работает.
Спешите компилировать.
Но не забываем, что чтобы они автосклеивались - они должны быть на одном адресе.

Инстуркция по компиляции в винде https://github.com/novacoin-project/novacoin/blob/master/doc/readme-qt.rst :

"Download and extract the dependencies archive [1], or compile openssl, boost and dbcxx yourself."
Архив не найти, а второе звучит или ПНХ потому что такая же херня там уже на каждом шагу будет, там подвинти тут скачай то чего нет, а тогда ищи в другом месте, а тут подправь а тут вздрочни.
Настоящая винда, пол дня будешь дрочится через поисковик искать все депенденсис, и главное всегда на 100ой строке будет ждать жопа в виде 404 эрор как тут сразу, повезло.

Нет уж, пошло оно нахер такое счастье, у людей по каждому пункту почитал openssl, boost and dbcxx проблемы возникают.
Это только для истинных любителей виндодрочения.

Лучше бы добавили инструкцию по кросскомпиляции. Ну я может добавлю у себя если получится когда, пока разбираюсь тоже. Там хоть недостающих файлов из ненадежных источников не надо искать которых нигде нет.
Для слепых:
1) https://github.com/novacoin-project/novacoin/blob/master/doc/building%20novacoind%20and%20novacoinqt%20under%20Windows%20with%20MinGW.txt
2) https://github.com/novacoin-project/novacoin/blob/master/doc/crosscompiling_building%20Windows%20binary%20under%20Unix.txt

Нет не хрена не компилируется по кросс инструкции, кто-то еще пробовал?
sr. member
Activity: 463
Merit: 252
А я бы хотел каждое нное количество блоков некий блок очистки. Типа удалять старую информацию об использованных выходах и тем самым сокращать вес хранимого. Или еще как-то продумать такое. Хранить гигабайты треша как-то некомильфо. (:
legendary
Activity: 1912
Merit: 1020
На более серьезную тему теперь, в Bitcoin собираются увеличить максимальный размер блока. По мне так надобность мержить это изменение в NVC сейчас неочевидна, но хотелось бы услышать альтернативные мысли по этому поводу.
Если будет заметный хард-форк, я бы предпочел прямую связь между количеством уже существующих блоков и их размеров, вместо фиксированного размера в N-мегабайт. Т.е. по мере роста сети чтобы плавно вырастал и предельный размер блока, что по крайней мере будет синхронно происходить с прогрессом аппаратного обеспечения.
legendary
Activity: 3108
Merit: 1359
В этот раз решили продлить сами, т.к. Пеньку удалось выколотить с поставщика весомую скидку. В общем, сам факт продления сертификата от донейтов сейчас не зависит, но если кто-то подкинет в меру желания и возможностей, то буду признателен. Smiley

На более серьезную тему теперь, в Bitcoin собираются увеличить максимальный размер блока. По мне так надобность мержить это изменение в NVC сейчас неочевидна, но хотелось бы услышать альтернативные мысли по этому поводу.
newbie
Activity: 19
Merit: 0
Balthazar

Сколько на Сертификат для винды не хватает?
Jump to: