amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
June 22, 2015, 11:18:31 AM |
|
Прошу не путать понятия "полный блокчейн" и "актуальное состояние блокчейна"(т.е. информацию о балансе всех адресов в сети). Первое не является обязательным для пос,а вот 2е нужно. Я может быть чего-то не понимаю. Ну, вот, допустим у вас нода посит. И при этом не имеет полного блокчейна. Вам приходит транзакция, списывающая из tx:743758475384758943:0 крипту куда-то. Если у вас нет информация о том, что эта транзакция есть в базе и её выход #0 неизрасходован - то вы не можете включать в блок пришедшую транзакцию, так как она может оказаться фальшивой. Если у вас для любой транзакции имещей неизрасходованные выходы есть данные - то, поздравляю! Вы владелец фуллноды. Здесь может возникнуть мысль: а что, если из блокчейна удалять те транзакции которые полностью израсходованы? Они всё равно только место зря занимают и уж точно никогда не понадобятся. Да, это возможно. Но в таком случае вы не сможете полный блокчейн кому-то предоставить. То есть вы становитесь "ущербной" нодой. Второй аспект, что у многих транзакций часть выходов израсходованы, а часть - нет. Если хотя бы один из выходов неизрасходован - вам придется эту транзакцию продолжать хранить. Так что выгода на экономии дискового пространства будет невеликая.
|
|
|
|
Alex AXe
Legendary
Offline
Activity: 1218
Merit: 1019
|
|
June 22, 2015, 11:20:05 AM |
|
amaclin, самая большая ошибка в Ваших рассуждениях - это то, что Вы считаете человека всегда рациональным и прагматичным. Потому постоянно генерируете логические парадоксы, вроде вышеописанного (очень похожего на, думаю известный Вам, парадокс неожиданной казни). Методы математической индукции неприменимы к принятию реальных решений, о чем достаточно хорошо известно. Если бы это было не так, мир был бы совсем другим.
То что сама по себе самая строгая логика всегда не имеет смысла без системы аксиом (произвольно принятой!!!), Вам тоже, надеюсь, хорошо известно. Так что с логикой спорить попросту бессмысленно (также как и спорить с бессвязным бредом сумасшедшего) - она всего лишь инструмент, к вопросу истинности чего-либо не имеющий никакого отношения.
Например, продолжая цепь Ваших рассуждений элементарно можно прийти к прямо противоположному выводу. Майнер, зная что не включение транзакций в блок чревато гибелью системы (и следовательно, потерей его прибыли), будет всегда их включать. Так что вопрос выгодности/невыгодности его действий не может однозначно быть решен логически или математически
Впрочем, описанную Вами гипотетическую ситуацию следует рассмотреть. И ее можно обойти. Сделав, например, обязательную комиссию за транзакцию зависимой от возраста и размера входов и дав возможность майнеру ее получать (что и так частично сделано). В этом случае конечно же тоже возможна ситуация, когда майнер решит, что лучше изъять из системы N монет, чем получить M монет прибыли. Но возникновение такой ситуации намного менее вероятно, не говоря уже о том, что для этого M и N должны удовлетворять некоторым критериям, причем в какой-то степени индивидуальным для каждого майнера (зависящим от уже имеющегося у него капитала).
В целом, по поводу комиссий у меня тоже были и есть некоторые соображения.
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
June 22, 2015, 11:32:09 AM |
|
Приятно общаться с думащими людьми. Они хоть думают, а, следовательно, их можно убедить аргументами, а не как с бикулом это то, что Вы считаете человека всегда рациональным и прагматичным. Да считаю. Нерациональные и непрагматичные погибают в естественном отборе в борьбе с рациональными и прагматичными. Если у них есть какие-то иные средства для существования - они могут какое-то время баловаться себе в убыток. Но и в этом случае их участь незавидна в долгосроке. Майнер, зная что не включение транзакций в блок чревато гибелью системы (и следовательно, потерей его прибыли), будет всегда их включать. Так что вопрос выгодности/невыгодности его действий не может однозначно быть решен логически или математически Тут ведь в чем вопрос: в какой единице майнеры меряют свои прибыли. Если они меряют в долларах и в рублях - то у них одна стратегия. Если же в крипто-фантиках - то стратегия противоположная. Навеяло присказку: Скажи мне в чем ты измеряешь прибыль, и я скажу кто ты
|
|
|
|
Alex AXe
Legendary
Offline
Activity: 1218
Merit: 1019
|
|
June 22, 2015, 11:40:06 AM |
|
Да считаю. Нерациональные и непрагматичные погибают в естественном отборе в борьбе с рациональными и прагматичными. Ну, это у Вас очень примитивное представление о сути естественного отбора. Даже у бактерий бывает выгодный им альтруизм. Впрочем, не будем углубляться в оффтоп. Если у них есть какие-то иные средства для существования - они могут какое-то время баловаться себе в убыток. Но и в этом случае их участь незавидна в долгосроке. Обратите внимание на очень важный момент. Они тем самым балуются в убыток не только СЕБЕ. Но также и в убыток тем, кто использует стратегии, построенные на допущении, что конкуренты всегда действуют рационально. И тут очень большой вопрос, кто в итоге пострадает сильнее. От слишком большого числа факторов это зависит. Случаи, когда некий план терпел провал по причине, что враг оказывался феерически туп, не такая уж большая редкость.
|
|
|
|
ShadowAlexey
Donator
Legendary
Offline
Activity: 968
Merit: 1002
|
|
June 22, 2015, 11:42:23 AM |
|
Здесь может возникнуть мысль: а что, если из блокчейна удалять те транзакции которые полностью израсходованы? Они всё равно только место зря занимают и уж точно никогда не понадобятся.
Да, это возможно. Но в таком случае вы не сможете полный блокчейн кому-то предоставить. То есть вы становитесь "ущербной" нодой. Второй аспект, что у многих транзакций часть выходов израсходованы, а часть - нет. Если хотя бы один из выходов неизрасходован - вам придется эту транзакцию продолжать хранить. Так что выгода на экономии дискового пространства будет невеликая.
"актуальное состояние блокчейна" - это и есть список всех не израсходованных транзакций. Выгода будет, о ее эффективности можно судить только эмпирически, кто то может подсчитать? В том то и идея, что последние блоки хранятся полностью, а снепшот делается и проверяется на основании хедера и подписи блоков. Так если вам кто то скормит не корректный снепшот, то высота дерева будет крайне не высока и вы все равно потом утяните "корректную" длинную ветку. P.S. теоретизировать о поведении тех или иных личностей можно долго, предпочитаю ограничивать все возможные варианты до приемлемых в любом случае.
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
June 22, 2015, 11:49:54 AM |
|
"актуальное состояние блокчейна" - это и есть список всех не израсходованных транзакций. Нет понятия "неизрасходованная транзакция". Есть выход, он может быть израсходованным или неизрасходованным. Причем для реорганизации цепочки вам надо хранить и израсходованные выходы тоже - при реорганизации они могут стать неизрасходованными, а взять их вам будет неоткуда оперативно. В том то и идея, что последние блоки хранятся полностью, а снепшот делается и проверяется на основании хедера и подписи блоков. Так если вам кто то скормит не корректный снепшот, то высота дерева будет крайне не высока и вы все равно потом утяните "корректную" длинную ветку. Какой нафиг снапшот? "Кормом" для ноды являются не снапшоты, а блоки и транзакции. Не имея полного блокчейна вы не сможете полноценно майнить.
|
|
|
|
Alex AXe
Legendary
Offline
Activity: 1218
Merit: 1019
|
|
June 22, 2015, 11:55:12 AM |
|
Тут ведь в чем вопрос: в какой единице майнеры меряют свои прибыли. Я придерживаюсь в этом вопросе точки зрения, несколько схожей с таковой у экономистов. Прибыль для конкретного человека не может измеряться в финансовом выражении (не важно, что служит финансами - биткоины, новакоины, доллары, рубли, тугрики, раковины каури и т.п.). Она измеряется в виде суммы полезностей (полезность конкретного товара индивидуальна для каждого человека) тех благ, которые он может получить благодаря прибыли. Кстати, это позволяет учитывать и этическое удовлетворение от деятельности, вообще не приносящей финансовой выгоды.
|
|
|
|
ShadowAlexey
Donator
Legendary
Offline
Activity: 968
Merit: 1002
|
|
June 22, 2015, 12:00:18 PM |
|
Причем для реорганизации цепочки вам надо хранить и израсходованные выходы тоже - при реорганизации они могут стать неизрасходованными, а взять их вам будет неоткуда оперативно.
Шта? Транзакция, порождает выходы, несколько. Если хотя бы один выход не израсходован, то вся транзакция еще имеет смысл. Вот про про израсходованный выход, ставший не израсходованным, не понял. Какой нафиг снапшот? "Кормом" для ноды являются не снапшоты, а блоки и транзакции. Не имея полного блокчейна вы не сможете полноценно майнить.
Снэпшот, специальная информация о состоянии блокчейна, это понятие я ввел несколькими постами ранее. Для майнинга, тебе нужно иметь информацию о неизрасходованных транзакциях, чтобы отсеивать не корректные новые и генерировать по своим входам PoS. Информация о уже использованных является избыточной. Потому полный блокчейн не нужен. Вообще я обсуждал возможную модель более легкого клиента,а не текущую реализацию.
|
|
|
|
Alex AXe
Legendary
Offline
Activity: 1218
Merit: 1019
|
|
June 22, 2015, 12:01:51 PM |
|
Есть выход, он может быть израсходованным или неизрасходованным. Причем для реорганизации цепочки вам надо хранить и израсходованные выходы тоже - при реорганизации они могут стать неизрасходованными, а взять их вам будет неоткуда оперативно. Угу. Вот поэтому я и считаю, что рубить надо все. Вот про про израсходованный выход, ставший не израсходованным, не понял. Это когда кто-то построил более длинную альтернативную цепочку.
|
|
|
|
ShadowAlexey
Donator
Legendary
Offline
Activity: 968
Merit: 1002
|
|
June 22, 2015, 12:10:01 PM |
|
Это когда кто-то построил более длинную альтернативную цепочку.
Ну,я предлагал урезать на очень большой глубине, более полу года. Последние N (например 520) блоков, можно всегда заставить хранить полностью. По факту, если ты хочешь быть тонким клиентом полностью, то тебе придется доверять полным нодам, вопрос в том, на сколько можно сделать гибридный подход, при котором будут меньшие запросы к железу, но сравнимая безопасность.
|
|
|
|
becool
Legendary
Offline
Activity: 1442
Merit: 1016
|
|
June 22, 2015, 12:28:38 PM |
|
Не врите что Ришат это я! Ришат просто один из тех людей кого вы изгоняете активно из своего общества, а вы попробуйте не изгонять а прислушиваться! Тогда бы и был не слив а рост цены монеты! Мне надоело доказывать и болтать, но вы все время такие однобоки. Вы изгоняете людей кто в данный момент мыслит не как вы. Вам всё что угодлно надо преподнести так как вам нравится. Вот вы же сами говорили было раньше о технологиях миксеров встроеных и т.п. Мало того бальтазар тогда добавил зерокоин в код, но потом убрал. Недавно он тут написал что всетаки чему-то подобному быть. Но если у вас сейчас мысли не о том а человек не так сказал преподнес не так как вы любите то вы набрасываетесь. Я не хочу преподносить всё что угодно как вам нравится, потому что я знаю откуда это и к чему это всё ведет. Это подстраивание не только к комьюнити но и к бальтазару в первую очередь. А вы мои слова воспринимаете что я негатив только лью. Почему? Потому что просто не воспринимаете. Всегда только несколько человек могут воспринять и то в лучшем случае. Хотите вы этого или нет, но мы будем обсуждать всё что нам нравится! Я буду поддерживать и дальше всех кто будет придерживаться иных от бальтаза идей. Только по той причине чтобы не было диктаторства, и такого однобокого в восприятии комьюнити! Сейчас я пытаюсь откомпилировать ситерклиент под винду. Следущая правка я попытаюсь чтобы клиент запоминал адрес для сдачи! Мой клиент будет юзерфрендли в отличии от вашего! У вас всё что угодно против простых смертных! Даже инструкции черт возьми по компиляции и файлы конфигурационные! Смотрите какая инструкция простая к другим форкам: https://bitcointalk.org/index.php?topic=1080289.msg11668831#msg11668831Нихера не надо поправлять в конфигах! А теперь сравните с этой инструкцией? https://github.com/novacoin-project/novacoin/blob/master/doc/crosscompiling_building%20Windows%20binary%20under%20Unix.txtПочему тут столько много правки всего и вся? Почему сами программисты не поправят Makefile и novacoin-qt.pro ? Претензия не к fsb4000, он спасибо что сделал так инструкцию. Но если у меня получится всетаки откомпилировать я сделаю свои файлы, и буду с ними компилировать, иначе это полный **здец товарищи каждый раз столько правок! И инструкцию новую сделаю! А если бы не fsb4000 то инструкции бы и вовсе не было! По всем вопросам не возможности компиляции как других форков бегать как обосраный олень к бальтазару, а он бы хер инструкцию вообще сделал. Вот так бальтазар и перетягивает на себя власть!
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
June 22, 2015, 12:34:50 PM |
|
Шта? Транзакция, порождает выходы, несколько. Если хотя бы один выход не израсходован, то вся транзакция еще имеет смысл. Вот про про израсходованный выход, ставший не израсходованным, не понял.
Очень просто. Допустим, вам в блоке 300000 пришла транзакция tx:4676574356348765 которая полностью тратит выходы транзакции tx:6059603293920390 которая находится в блоке 200000. А храните вы последние 100000 блоков полностью, остальные стираете. Ну то есть информацию о tx:6059603293920390 вы сотрете, получив блок 300001. Потом вам приходится реорганизовать цепочку, потому что вам пришли новые блоки 300000', 300001' и 300002' транзакции tx:4676574356348765 ни в одном из них нет, потому что присутствует даблспенд этой транзакции tx:1458695468859485, которая тратит только один из выходов транзакции tx:6059603293920390 а не все. Транзакцию tx:6059603293920390 вам взять неоткуда!!! Вообще неоткуда! Потому что даже фуллноды не отдают транзакцию по её хешу, а все "полуноды" её стерли как и вы. И вот - вы приплыли. Израсходованый выход в одной цепочке стан неизрасходованным в другой. Потому полный блокчейн не нужен. Увы, для майнинга нужен. Да и для корректного релея транзакций пригодится. Иначе у легких клиентов начнется ад.
|
|
|
|
ShadowAlexey
Donator
Legendary
Offline
Activity: 968
Merit: 1002
|
|
June 22, 2015, 12:58:30 PM |
|
Допустим, вам в блоке 300000 пришла транзакция tx:4676574356348765 которая полностью тратит выходы транзакции tx:6059603293920390 которая находится в блоке 200000. А храните вы последние 100000 блоков полностью, остальные стираете. Ну то есть информацию о tx:6059603293920390 вы сотрете, получив блок 300001.
Потом вам приходится реорганизовать цепочку, потому что вам пришли новые блоки 300000', 300001' и 300002' транзакции tx:4676574356348765 ни в одном из них нет, потому что присутствует даблспенд этой транзакции tx:1458695468859485, которая тратит только один из выходов транзакции tx:6059603293920390 а не все.
Транзакцию tx:6059603293920390 вам взять неоткуда!!! Вообще неоткуда! Потому что даже фуллноды не отдают транзакцию по её хешу, а все "полуноды" её стерли как и вы. И вот - вы приплыли. Израсходованый выход в одной цепочке стан неизрасходованным в другой.
Ваш пример не корректен. Нормальная реализация была бы: у нас осталась информация о том,что в блок чейне была транзакция tx:6059603293920390, если мы получаем транзакцию, которая ее расходует в блоке 300000, информация об этой трате хранится до 400000(и в случае отката, мы всегда можем вернуться к состоянию tx:6059603293920390). Под тратой имеется в виду не только сама транзакция траты, но и ее входы. Т.е. если бы первая транзакция прошла, то мы стираем информацию о tx:4676574356348765 только к 400000. Никто не будет удалять не использованные транзакции из базы, только те что использовались, т.к. в них нет необходимости на глубине, которая ниже возможного форка. Увы, для майнинга нужен. Да и для корректного релея транзакций пригодится. Иначе у легких клиентов начнется ад.
Я описал механизм ПОС манинга, так как его понимаю и там нет необходимости. Вы можете объяснить где вам нужна полностьювесь блокчейн для майнинга следующего блока, при условии, что ситуация с дабл спендом разруливается другим подходом?
|
|
|
|
Yaremi
Legendary
Offline
Activity: 1960
Merit: 1156
|
|
June 22, 2015, 01:06:45 PM |
|
А какой размер блокчейна новы, что вы так паритесь? Сделайте лёгкие клиенты, и добавьте возможность тем, кто запускает ноды получать вознаграждение. Как это сделано в крейве. 60% поса держателям нод, 40% остальным. Для того, чтоб запустить фуллноды нужно, чтоб на кошельке лежало, **** новокоинов.
Зачем блокчейн то уродовать?
|
|
|
|
becool
Legendary
Offline
Activity: 1442
Merit: 1016
|
|
June 22, 2015, 01:50:18 PM |
|
А какой размер блокчейна новы, что вы так паритесь? Сделайте лёгкие клиенты, и добавьте возможность тем, кто запускает ноды получать вознаграждение. Как это сделано в крейве. 60% поса держателям нод, 40% остальным. Для того, чтоб запустить фуллноды нужно, чтоб на кошельке лежало, **** новокоинов.
Зачем блокчейн то уродовать?
Вот вот, извращаются по полной! Извращенцы! А потом всеравно результаты работы копируют умные люди в другие форки! Когда у них что-то сделано! Лучше бы краник с новами сделали! Столько программистов, а все тупо только дрочат бесцельно не туда! И не одного умного человека кто бы им показал что именно и куда делать надо! Потому что они их выгнали и продолжают друг на друга смотреть и умничать! Думаю тут стопудово хватит мозгов у людей сделать краник! Правда к кранику еще поддержка нужна главных по раскручиванию краников! Ну так не выгоняли бы всех было бы народу любого много, а не только гитхабодрочеров!
|
|
|
|
ShadowAlexey
Donator
Legendary
Offline
Activity: 968
Merit: 1002
|
|
June 22, 2015, 01:55:07 PM Last edit: June 22, 2015, 02:11:00 PM by ShadowAlexey |
|
Бикул, ты явно не битхабодрочер, пойди и сделай.
Проблема с размером блокчейна уже актуальна в битке, если уж заниматься развитием "своей" криптовалюты, то лишним это не будет.
Расскажу по секрету: каждый делает то, что хочет при тех обстоятельствах, в которых он находится. Тебе вот нравится в ветке флудить, и сколько тебя не просили быть по информативнее, ни в какую.
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
June 22, 2015, 02:00:11 PM |
|
|
|
|
|
Alex AXe
Legendary
Offline
Activity: 1218
Merit: 1019
|
|
June 22, 2015, 02:23:03 PM |
|
Вообще, раз мы уж тут говорим о превентивном устранении проблем, которые могут выявиться в будущем, я хотел бы опять (не помню в который уже раз ) обсудить механизм комиссий. Мне не понятно, почему этому мощнейшему механизму уделяют так мало внимания. Во-первых, при помощи обязательных уничтожаемых комиссий можно бороться со спамом. Во-вторых, с помощью них теоретически можно регулировать объем денежной массы (но тут стоит подумать о механизме и об обратных связях). В-третьих при помощи неуничтожаемой комиссии можно мотивировать майнеров включать транзакции в блок. Раз уж коснулись того, как их заинтересовать. Я предлагаю вернуться к обязательным комиссиям, пусть и не в их первоначальном виде. Например (я писал об этом) можно сделать комиссию из расчета 1 байт= 1 сатоши. Тем самым отправитель транзакции будет "оплачивать" всем место в блокчейне, уничтожая часть монет. Часть комиссии свыше подлежащей уничтожению пусть служит для мотивации майнеров.
|
|
|
|
ShadowAlexey
Donator
Legendary
Offline
Activity: 968
Merit: 1002
|
|
June 22, 2015, 02:37:31 PM |
|
Итого, вопросы на повестке дня: - Изменение размера блока
- Комиссии за отправку (текущая часть, идущая майнерам + ее обязательный размер).
- Уменьшаемый размер блокчейна в клиенте.
Что об этом думают ведущие разработчики?)
|
|
|
|
Foxcool
|
|
June 22, 2015, 02:44:39 PM |
|
И хотел бы уточнить, что я против идеи тонких клиентов повсеместных. Нужно не хранить гигабайты бессмысленного говна и уничтожать бесполезные данные в самой цепочке. Тем более, что у нас валюта, в которой по идее майнеры -> все.
|
|
|
|
|