Pages:
Author

Topic: [Методичка] Программирование скриптов Bitcoin. - page 3. (Read 16400 times)

kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Ну, это вряд ли. Чтобы каждая релей-нода претендовала бы на какую-то сумму от комиссий?
Когда вы будете делить награду я прибегу и скажу - а почему мне не начислили бонус? Я эту транзакцию
тоже видел до включения в блок и переслал ее 18 раз с одного моего компьютера на другой! Гоните таньга!


Ну давайте помечтаем. Теоретически пусть есть такой контракт: "я отправляю своей жене 1 бтц и оставляю 0.1 бтц на комиссию для релеев. Каждый кто видит эту транзакцию, может отщипнуть от комиссии 0.01 бтц пока будет есть что отщипывать". Если ко мне такая транза придет, я охотно отщипну от нее 10 раз по 0.01, но после этого релеить ее бесполезно ибо больше она будет нахуй никому не нужна. Но я так же как и отправитель становлюсь заинтересованным в том, чтобы именно наш вариант транзакции попал в блок. Поэтому лучше откушу 0.01 и отправлю транзу еще 9 соседям, которые сделают то же самое.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Ну вот вы кефир и придумали, собственно.

Дак я в курсе )
Я пытался кефир осилить еще до того, как у этого кефира генезис блок появился. Тут на форуме анонс за полгода вроде выкладывали. Но так и не осилил - че там за газ и как на нем программировать, какой-то мутью все это показалось и потом быстро забылось... Си подобный язык и все остальное для домохозяек появилось позже, видимо как раз потому, что не я один ничего не понял из предварительных анонсов.
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
sr. member
Activity: 770
Merit: 305
Интересный вопрос кстати: а можно ли сейчас придумать схему, чтобы тот кто релеит мог брать фиксированную комиссию с транзы?

Ну, это вряд ли. Чтобы каждая релей-нода претендовала бы на какую-то сумму от комиссий?
Когда вы будете делить награду я прибегу и скажу - а почему мне не начислили бонус? Я эту транзакцию
тоже видел до включения в блок и переслал ее 18 раз с одного моего компьютера на другой! Гоните таньга!

Вариант с какими-то "мастер-релей-нодами" я пока не хочу рассматривать. Очередные костыли для наёбывания лохопедов.
sr. member
Activity: 770
Merit: 305
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
sr. member
Activity: 770
Merit: 305
Меня вот эта технология блокчейна реально вштыривает. Я кайфую от нее постоянно, когда начинаю продолжать ее изучение  Smiley
Не одноранговая сеть, не скачки биржевых цен, а именно вот эта штука: когда тысячи клиентов работают абсолютно синхронно и почти без глюков уже десятый год.
Работать за деньги - невелика заслуга.
Как только денежный поток заканчивается - все выключают оборудование
и идут кто в ресторан отмечать профит, кто на пруд топиться. Никого не волнует
что под капотом у технологии.

Впрочем, давайте не отклоняться от темы на лирику.
Рассматривать технологические особенности можно и нужно в отрыве от рыночных реалий.
Другими словами - надо знать как выглядит говно, чтобы в него не наступать.

Quote
На сколько сложно будет внести в код оператор перехода на метку?
Абсолютно несложно.
Есть еще неиспользуемые байты. Например, определим один из них как
#define OP_GOTO xx
который будет означать - "прочитать из скрипта число и переместить "курсор" выполнения
на это число байтов назад или вперед". Изменений в коде ну строчек 50 от силы. Это если
не задумываться о проблемах. Можно читать размер перехода не из скрипта, а из стека.
Замечательный способ отстрелить себе ногу.

Только зачем? И что вы будете делать, если вам приходит транзакция, в которой скрипт исполняющийся вечным циклом?
Выполните N операций и отбросите? Ну так тогда зачем вам циклы - у скриптов биткойна и так достаточно возможностей.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
legendary
Activity: 3556
Merit: 1100
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
sr. member
Activity: 770
Merit: 305
У меня есть свои цели: я хочу чтобы биткоин наконец появился в отечественном академическом сообществе.

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

С тем же успехом - мне никто не ответил.  Grin
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
sr. member
Activity: 770
Merit: 305
Разрабы сейчас поставили цель избавиться от буста везде где можно. Вместо блокирующих
сокетов переходят на либэвент. Вобщем сейчас код намного приятней чем даже пару лет назад был.
Дай Бог им сил и времени на это.
Меня даже не смущает то, что именно эти люди и запилили сперва boost, а теперь с гордостью собрались выпиливать.

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

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

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

В этом очередная проблема децентрализованного подхода - мы не можем разделить зоны ответственности.
Каждый должен самостоятельно стать экспертом во многих вопросах. И это неэффективное использование
трудовых ресурсов.

-------------------------------------

Я смотрю ты вносишь изменения в текст после моих комментариев. Это правильно, нечего ошибки оставлять,
а то первый пост прочитают, а дальше по тексту разбираться не станут. Давай я тебе поясню, почему самая
первая биткойн-транзакция в генезис-блоке не декодируется bitcoin-cli.

Потому что Сатоши Накамото забыл (или не захотел) эту транзакцию проиндексировать. Почему он так сделал -
я лично не помню, кажется разумного объяснения нет, скорее всего просто не рассмотрел "краевой случай".
Так как принадлежность этих 50 BTC никого кроме него не волнует - никто и не собирался никогда менять
этот код, так как изменение этого кода по сути дела является хард-форком. Ради "красивостей" в коде зачем
делать хард-форк?

Этой транзакции нет в базе данных Bitcoin Core, поэтому bitcoin-cli её не может поднять из базы и декодировать.
Даже сам Сатоши Накамото, имея приватный ключ к адресу 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa не сможет
потратить свои самые первые 50 BTC, так как вся остальная сеть такую транзакцию сочтет невалидной.
(Конечно, все что ему впоследствии накидали на этот адрес потратить он теоретически может, речь только
о генезис-транзакции)

kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
sr. member
Activity: 770
Merit: 305
Амаклин прав, ковыряй сорцы. Эти пейсатели там описали "что хотел сказать автор" не слишком вникая в логику.

Справедливости ради скажу, что сорцы биткойна я по сути дела никогда и не смотрел.
Мне не нравится ни STL, ни применяемый сегодня повсеместно codestyle, ни вообще тяга людей
переписать все на какие-то новомодные стандарты. От одного вида boost в проекте у меня
возникают рвотные рефлексы.

Я начинал с написания самостоятельного независимого парсера blk-файлов, сниффера сетевого
протокола и много читал различных форумов отыскивая зерна среди плевел. Ну и имел явно
выраженную задачу, просто так написать даже подобную "методичку" (статью, руководство,
мануал - как угодно называйте) мне будет сложно. Могу лишь быть рецензентом, выискивая
ошибки и корявости.
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Амаклин прав, ковыряй сорцы. Эти пейсатели там описали "что хотел сказать автор" не слишком вникая в логику.
sr. member
Activity: 770
Merit: 305
Ну и кто тут глумится? ))
Ладно. Я что-то действительно возомнил себя королём и начал придираться. Просю просения.

вот вам еще неточность:
Quote
2. Скрипт должен оставлять в стеке непустое значение.
надо понимать разницу между непустым и ненулевым.
в биткойне ноль можно закодировать многими способами, в том числе непустыми.
а есть еще "отрицательный ноль" что-то типа 0x8000000000 - весьма непустая строка, которая
тем не менее приводит скрипт к false.

В целом совет - не пытайтесь переводить https://en.bitcoin.it/wiki/Main_Page
Там фактических ошибок в английской части море, а в русской и подавно.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Pages:
Jump to: