Bitcoin Forum
May 04, 2024, 04:27:04 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Что запрещает отрицательные транзакции?  (Read 3522 times)
info_infoman (OP)
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
November 27, 2014, 11:30:13 AM
 #1

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

1714840024
Hero Member
*
Offline Offline

Posts: 1714840024

View Profile Personal Message (Offline)

Ignore
1714840024
Reply with quote  #2

1714840024
Report to moderator
The grue lurks in the darkest places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714840024
Hero Member
*
Offline Offline

Posts: 1714840024

View Profile Personal Message (Offline)

Ignore
1714840024
Reply with quote  #2

1714840024
Report to moderator
tvv
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
November 27, 2014, 12:04:13 PM
 #2

Замените "<" на "="  (можно вирусок который правит исходник или .exe) - никто и не заметит лет 100 Wink

tvv
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
November 27, 2014, 12:07:47 PM
 #3

А вообще "мне нравиться ход ваших мыслей"...

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


PS  www.ada-ru.org
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 27, 2014, 12:32:07 PM
 #4

Ну по идее здравый смысл должен запрещать отрицательные переводы.
Беру я, значицца, свой неизрасходованный выход на 1 койн и делаю перевод одной транзакцией с двумя выходами... себе 2 койна обратно и на ваш адрес минус один койн. Что вы потом с этим минусом делать будете - это не так уж важно. Можете мне обратно отправить минус два койна и один койн себе обратно вернуть.

Толку в такой "валюте" будет чуть меньше, чем ноль. Но попробуйте. Вдруг взлетит? Дальше можно продолжить - продавать на бирже отрицательные количества койнов по отрицательному курсу.
tvv
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
November 27, 2014, 03:15:17 PM
 #5

На самом деле именно так и сделано в платежных системах LETS - и их между прочим в мире неск тыс шт,
все давно и стабильно работают, и имеют товарное наполнение, в отличии от этой выскочки биткойна...

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

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


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

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

Vladimir
PS  ripple изначально тоже был чем-то вроде LETS или БК, пока его не выкупили коммерсанты и не сделали из него то что мы видим сейчас...
(в LETS и БК внутри отношение людей принципиальное другое - это прежде всего клубы, с доверием проблем нет.  Коммерция и биткоин воняют сильно иначе Wink  )
info_infoman (OP)
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
November 28, 2014, 10:26:46 AM
 #6

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

info_infoman (OP)
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
November 28, 2014, 10:37:20 AM
 #7

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

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

 Roll Eyesкакой же я профан... надо бежать покупать коины и забыть о недоверии как о страшном сне!

amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 28, 2014, 10:41:07 AM
 #8

Quote
значит технически ничего...

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

Activity: 460
Merit: 250



View Profile
November 28, 2014, 11:10:39 AM
 #9

Quote
значит технически ничего...

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

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

политику, идеи и мораль оставим для таких как ттв )))
я лично наискосок его реплики читаю - мешает конструктиву.

tvv
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
November 28, 2014, 01:02:38 PM
 #10

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

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

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


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

Vladimir
PS  в бартерном клубе сама система централизованная и не очень надежная - тем не менее проблем как с гоксом нету - вот что значит доверие.
info_infoman (OP)
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
November 28, 2014, 01:33:31 PM
 #11

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

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

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

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

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

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

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

pororo
Legendary
*
Offline Offline

Activity: 1428
Merit: 1000


Я и.о. LZ


View Profile
November 28, 2014, 01:36:26 PM
 #12

Комментировать код можно только на латинском языке.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 28, 2014, 01:45:12 PM
 #13

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

И как мы с этим скайнетом жить будем?
Вдруг система к нам обратится, а мы не поймём чего она от нас хочет?
Ищи тогда Джона Коннора...
info_infoman (OP)
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
November 28, 2014, 02:20:46 PM
 #14

И как мы с этим скайнетом жить будем?
Вдруг система к нам обратится, а мы не поймём чего она от нас хочет?
Ищи тогда Джона Коннора...
обращение не значит управление

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

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

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

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

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

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

правило которое должно быть железным в такой платежной системе - не изменять внутреннее состояние системы без объективной оценки изменений во внешней среде.

amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 28, 2014, 02:25:27 PM
 #15

Quote
тем более для платежной системы достаточно такого чуйства как "зрение"
Я предлагаю ещё к зрению добавить "обоняние". Чтобы запах травы издалека чувствовался. Отсыпьте малость, а?
tvv
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
November 28, 2014, 06:56:56 PM
 #16

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

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

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



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

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

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


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

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

Дошло? Wink

Vladimir
info_infoman (OP)
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
November 28, 2014, 08:08:49 PM
 #17

тролли 80-го уровня Cheesy
тема закрыта ответ получен.

info_infoman (OP)
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
December 30, 2014, 05:26:37 AM
 #18

справившись с немножконекорректной ошибкой в подсчете 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

info_infoman (OP)
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
December 30, 2014, 05:48:10 AM
 #19

Ага понял чем мужик бабу донял
 
CCoins &outs = view.GetCoins(hash);
тут типа входящая сумма (у меня она положительная)


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

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

info_infoman (OP)
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
December 30, 2014, 06:47:04 PM
 #20

интересная хрень
вот лог
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

Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!