Author

Topic: Что запрещает отрицательные транзакции? (Read 3526 times)

sr. member
Activity: 460
Merit: 250
а можно подробнее? и троллинг вычистить...

более менее без политики  и троллинга вот тут https://bitcointalksearch.org/topic/--903879

сейчас парюсь над системами проверки

задача состоит в построении правильного механизма
проверки

положительные транзакции должны работать так как работали раньше
а вот отрицательные должны работать так:

можем послать -1 коин имея сумму входов равную +1 коин
 тот кому мы её отправили принимает -1 коин точнее сеть вменяет указанному адресу этот отрицательный коин
в случае если баланс этого минусуемого адреса не имеет монет то отрицательная сумма распределяется на не потраченные  входы адресов куда ранее отправлялись монеты с этого минусуемого адреса

таким образом образуется система взаимного уничтожения монет (кумулятивный отрицательный рейтинг общества)
инициатор отрицательной транзакции несет 100% ответственность за такую транзакцию в виде своих сжигаемых монет
а акцептор несет вменяемую ответственность за то что ему вменили(инициаторы отрицательных транзакций) перед теми с кем он имел исходящие финансовые отношения(что то у кого то покупал)

такие монеты позволяет не просто быть деньгами но и быть инструментами политики(индивидуального голосования деньгами не только перед инвестированием но и после него(уничтожение денег))


пока не программирую
ибо нг
legendary
Activity: 1792
Merit: 1028
dzyk.ru
а можно подробнее? и троллинг вычистить...
sr. member
Activity: 460
Merit: 250
интересная хрень
вот лог
Quote
2014-12-30 13:49:46 !!!!!!!195
2014-12-30 13:49:46 !!!!!! 2049638225412172424.-50000000
2014-12-30 13:49:46 ERROR: DisconnectBlock() : added transaction mismatch? database corrupted
2014-12-30 13:49:46 !!!!!! 150000000.150000000

а вот код (main.cpp функция disconnectblock):
Code:
CCoins &outs = view.GetCoins(hash);
CCoins outsBlock = CCoins(tx, pindex->nHeight);
printf ("!!!!!! %"PRI64d".%08"PRI64d" \n",outs.vout[0].nValue,outsBlock.vout[0].nValue);

транзакция была такая
вход 1 коин
выход -0.5

блок найден этим же кошельком
получена награда
1 коин из coinbase
0.50 коин комиссия

строка лога 2014-12-30 13:49:46 !!!!!! 2049638225412172424.-50000000
говорит о том что класс Ccoin не может определить outs.vout[0].nValue
для отрицательной транзакции
и сует туда макимально возможное число coinbase
в результате чего при сравнении outsBlock.vout[0].nValue с outs.vout[0].nValue выпадает ошибка

для обычных же положительных транзакций все нормально
и outs.vout[0].nValue всегда равен outsBlock.vout[0].nValue

вопрос знатокам почему Huh
sr. member
Activity: 460
Merit: 250
Ага понял чем мужик бабу донял
 
CCoins &outs = view.GetCoins(hash);
тут типа входящая сумма (у меня она положительная)


CCoins outsBlock = CCoins(tx, pindex->nHeight);
а вот тут у меня она превращается в отрицательную
и посему не сопадают оне

хм
опять делать исключение для локальной проверки бд?
sr. member
Activity: 460
Merit: 250
справившись с немножконекорректной ошибкой в подсчете totallinputs
столкнулся со следущим затыком init.cpp
который обращается к main.cpp
к функции disconnectblock

bool CBlock::DisconnectBlock(CValidationState &state, CBlockIndex *pindex, CCoinsViewCache &view, bool
.....
......
.......
        CCoins &outs = view.GetCoins(hash);

        CCoins outsBlock = CCoins(tx, pindex->nHeight);
        // The CCoins serialization does not serialize negative numbers.
        // No network rules currently depend on the version here, so an inconsistency is harmless
        // but it must be corrected before txout nversion ever influences a network rule.
        if (outsBlock.nVersion < 0)
            outs.nVersion = outsBlock.nVersion;
        if (outs != outsBlock)
            fClean = fClean && error("DisconnectBlock() : added transaction mismatch? database corrupted");

        // remove outputs
        outs = CCoins();

вот тут ловлю DisconnectBlock() : added transaction mismatch? database corrupted

типа не совпадают outs и outsBlock

неужели это от  if (outsBlock.nVersion < 0)Huh Huh
sr. member
Activity: 460
Merit: 250
тролли 80-го уровня Cheesy
тема закрыта ответ получен.
tvv
legendary
Activity: 1302
Merit: 1005
а с каких это пор биржи стали частью биткойна?   Абсолютно левая внешняя примочка, не имеющаяся никакого доступа к самой системе.
(точно так-же как и покупатель в магазине не требует доверия если расчитывается сразу а не в кредит,
а вот продавец и др персонал магазина уже требует доверия, иначе растащят все)
вот только без бирж обменников и тп становиться замозамкнутой и никому не нужной

по большому счету они больше вредят(пузырь), а сам биткоин интересен только тем что эта выскочка раскручивается задом наперед - сперва система учета и пузырь, и только потом(может быть) товарное наполнение...

Именно этим он интересен как эксперимент по методам раскрутки - те-же LETS и БК имеют товарное наполнение очень давно, но о них в отличии от биткойна никто даже не знает!   Вот это тут тока интересно и уникально специалистам.



конечно вы сможете её использовать на уровне домохозяйки (пришел в магазин купил мороженое)
однако попробуйте обойтись без доверия к таким "примочкам" при осуществлении закупок например для минизавода

сразу столкнетесь с тем что систему нужно дополнять и дополнять именно доверием
таким образом как ни крути система биткоин требует доверия

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


Важно что для СОЗДАНИЯ БАНКА вам потребуются люди, которым можно доверять.

А вот для СОЗДАНИЯ И РАБОТЫ BITCOIN который вполне заменяет банки и не только банки,
доверие к "сотрудникам" совсем не нужно - сеть вполне могут поддерживать даже преступники,
причем это не только не снижает надежность работы, но даже повышает ее(за счет увеличения числа копий)!

Дошло? Wink

Vladimir
legendary
Activity: 1260
Merit: 1019
Quote
тем более для платежной системы достаточно такого чуйства как "зрение"
Я предлагаю ещё к зрению добавить "обоняние". Чтобы запах травы издалека чувствовался. Отсыпьте малость, а?
sr. member
Activity: 460
Merit: 250
И как мы с этим скайнетом жить будем?
Вдруг система к нам обратится, а мы не поймём чего она от нас хочет?
Ищи тогда Джона Коннора...
обращение не значит управление

тем более для платежной системы достаточно такого чуйства как "зрение"
сейчас все платежные системы ровно как и биткоин слепы
единственным инструментом общения с внешней средой являются люди
система смотрит на мир субьективным взглядом  людей оперирующих доверием через "примочки" в виде бирж.

считаю более справедливым будет если внешний мир система будет видеть не через эти примочки
а через независимый объективный инструмент

в оптическом зрении можно пользоваться двумя источниками света
 личным фонариком
или общим солнцем

солнце независимо и в случае если в системе два человека, то для них внешний мир одинаков и справедлив, однако если фонарик только у одного то второй человек видит картину мира несколько иначе

так же и в экономике и платежной системе
можно освещать сделки(изменения внешней среды) путем точечной централизованной засветки через точки доверия (биржи)
а можно иначе - например подарив системе биткоин механический способ освещения (если хотите сканирования) внешней среды(факта исполнения сделки)

итого получаем
гаратированное отражение сделок в децентрализованной внутренней среде системы
и гарантированное независимое соответствие этих сделок во внешней среде

правило которое должно быть железным в такой платежной системе - не изменять внутреннее состояние системы без объективной оценки изменений во внешней среде.
legendary
Activity: 1260
Merit: 1019
Quote
а не пора ли сделать чтобы платежная система сама проявляла активность и обращалась к людям?

И как мы с этим скайнетом жить будем?
Вдруг система к нам обратится, а мы не поймём чего она от нас хочет?
Ищи тогда Джона Коннора...
legendary
Activity: 1428
Merit: 1000
Я и.о. LZ
Комментировать код можно только на латинском языке.
sr. member
Activity: 460
Merit: 250
а с каких это пор биржи стали частью биткойна?   Абсолютно левая внешняя примочка, не имеющаяся никакого доступа к самой системе.
(точно так-же как и покупатель в магазине не требует доверия если расчитывается сразу а не в кредит,
а вот продавец и др персонал магазина уже требует доверия, иначе растащят все)
вот только без бирж обменников и тп становиться замозамкнутой и никому не нужной

конечно вы сможете её использовать на уровне домохозяйки (пришел в магазин купил мороженое)
однако попробуйте обойтись без доверия к таким "примочкам" при осуществлении закупок например для минизавода

сразу столкнетесь с тем что систему нужно дополнять и дополнять именно доверием
таким образом как ни крути система биткоин требует доверия

аналогия простая - пистолет в  запертом сейфе без ключей не требует доверия
однако если толпа соберется на охоту (начнет использовать пистолет) его придется кому то доверить

а все это благодаря тому что в идеологии биткоин как и в идеологии пистолета заложена одна большая беда - система(технология биткоин) всем говорит (я вам ничего не должна если вам надо обращайтесь ко мне и пользуйтесь мной на свой страх и риск)

а не пора ли сделать чтобы платежная система сама проявляла активность и обращалась к людям?

и уж коли биткоин так хорош и неуязвим то такая платежная система будет обращаться к людям по справедливости а не из корыстных целей гарантов доверия(примочек)...
tvv
legendary
Activity: 1302
Merit: 1005
Так что биткоин не новость - но уникален именно тем что это система, не требующая доверия.
да вы что Shocked

а я и не знал что обмен на бирже коинов на что то другое не требует доверия! мтгокс биржа ведь она как семья! не обманет не предаст!

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


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

Vladimir
PS  в бартерном клубе сама система централизованная и не очень надежная - тем не менее проблем как с гоксом нету - вот что значит доверие.
sr. member
Activity: 460
Merit: 250
Quote
значит технически ничего...

Рекомендую вам еще одну проверку убрать - на то, что сумма выходов должна быть не больше суммы входов.
Это же прекрасно - достаешь из кошелька рубль, оплачиваешь, а продавец получает два рубля!
Ящетаю, в этом все будут заинтересованы - всем же хорошо сразу станет!

послушайте давайте без эмоций Wink
вы мыслите в своем узком ключе я в своем
мы с вами соприкасаемся только в плане - вы знаете структуру алгоритма - я не знаю целиком вот и спрашиваю.

политику, идеи и мораль оставим для таких как ттв )))
я лично наискосок его реплики читаю - мешает конструктиву.
legendary
Activity: 1260
Merit: 1019
Quote
значит технически ничего...

Рекомендую вам еще одну проверку убрать - на то, что сумма выходов должна быть не больше суммы входов.
Это же прекрасно - достаешь из кошелька рубль, оплачиваешь, а продавец получает два рубля!
Ящетаю, в этом все будут заинтересованы - всем же хорошо сразу станет!
sr. member
Activity: 460
Merit: 250
Так что биткоин не новость - но уникален именно тем что это система, не требующая доверия.
да вы что Shocked

а я и не знал что обмен на бирже коинов на что то другое не требует доверия! мтгокс биржа ведь она как семья! не обманет не предаст!
более того я даже не догадывался что даже "умные" контракты на скриптах тоже не требуют доверия!

 Roll Eyesкакой же я профан... надо бежать покупать коины и забыть о недоверии как о страшном сне!
sr. member
Activity: 460
Merit: 250
Ну по идее здравый смысл должен запрещать отрицательные переводы.
значит технически ничего...
понятно спасибо!
tvv
legendary
Activity: 1302
Merit: 1005
На самом деле именно так и сделано в платежных системах LETS - и их между прочим в мире неск тыс шт,
все давно и стабильно работают, и имеют товарное наполнение, в отличии от этой выскочки биткойна...

Вот например иркутский бартерный клуб - тут правда отрицательные платежи ограничены, но в остальном тот-же LETS c MLM.
http://100druzei.info/register/?reg-referer=1060
(кстати тоже отлично работает, люди как только ушли от этого вечнопадающего недоразумения от ЦБ РФ, так лучше чем в америках жить стали Sad )

Так что это как раз реальные системы, давно и стабильно работающие, без лишнего шума и пузырей.


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

Так что биткоин не новость - но уникален именно тем что это система, не требующая доверия.

Vladimir
PS  ripple изначально тоже был чем-то вроде LETS или БК, пока его не выкупили коммерсанты и не сделали из него то что мы видим сейчас...
(в LETS и БК внутри отношение людей принципиальное другое - это прежде всего клубы, с доверием проблем нет.  Коммерция и биткоин воняют сильно иначе Wink  )
legendary
Activity: 1260
Merit: 1019
Ну по идее здравый смысл должен запрещать отрицательные переводы.
Беру я, значицца, свой неизрасходованный выход на 1 койн и делаю перевод одной транзакцией с двумя выходами... себе 2 койна обратно и на ваш адрес минус один койн. Что вы потом с этим минусом делать будете - это не так уж важно. Можете мне обратно отправить минус два койна и один койн себе обратно вернуть.

Толку в такой "валюте" будет чуть меньше, чем ноль. Но попробуйте. Вдруг взлетит? Дальше можно продолжить - продавать на бирже отрицательные количества койнов по отрицательному курсу.
tvv
legendary
Activity: 1302
Merit: 1005
А вообще "мне нравиться ход ваших мыслей"...

Заголовок NY - "великий patch хак и ограбление века"... 
"миллион дебил-программистов N лет ничего не замечали"...


PS  www.ada-ru.org
tvv
legendary
Activity: 1302
Merit: 1005
Замените "<" на "="  (можно вирусок который правит исходник или .exe) - никто и не заметит лет 100 Wink

sr. member
Activity: 460
Merit: 250
что кроме
Code:
if (txout.nValue < 0)
            return state.DoS(100, error("CTransaction::CheckTransaction() : txout.nValue negative"));
технически запрещает применение отрицательных транзакций?
Jump to: