amaclin1
|
|
January 29, 2018, 02:24:49 PM |
|
Не надо мне про гипотетических афторов очередного суперкоина. Давайте обсуждать конкретные предложения. Повторяю вопрос: где будем хранить базу данных транзакций? А что, у нас много вариантов? Я вижу два варианта: 1) Хранить на центральном сервере. 2) Каждый хранит у себя. По-моему, я ничего нового не сказал, да? Разумеется, хранение на центральном сервере не исключает кэширования и создания slave-копий А децентрализованное хранение не исключает хранение в облаке (в том числе и дедупликацию) или обращение легких клиентов. Черт, по-моему я опять ничего нового не сказал? Или вопрос про хранение базы данных транзакций имеется в виду - в какой базе? В мускуле, оракле или левелдб? А не похуй ли физический уровень? Да хоть в текстовом файле в JSON-формате. Вы каким образом от даблспендинга собираетесь защищаться? Вот о чем думать надо. (Хотя хуй вы что новое сможете придумать! Можете дальше языками чесать )
|
|
|
|
kzv
Legendary
Offline
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
|
|
January 29, 2018, 02:28:11 PM |
|
Не надо мне про гипотетических афторов очередного суперкоина. Давайте обсуждать конкретные предложения. Повторяю вопрос: где будем хранить базу данных транзакций? А что, у нас много вариантов? Я вижу два варианта: 1) Хранить на центральном сервере. 2) Каждый хранит у себя. Меня интересует, какой из всех возможных вариантов считает правильным наш принципиальный противник блокчейна и майнинга.
|
|
|
|
A-Bolt
Legendary
Offline
Activity: 2334
Merit: 2374
|
|
January 29, 2018, 02:31:41 PM |
|
Далее смотрим: что значит сложный асик, способный выполнять любой набор инструкций? Это устройство по типу графической карты для научных вычислений (как например nVidia Tesla).
ASIC-у для вашего алгоритма не требуется выполнять любой набор инструкций, а только тот, который вы заложили в свой алгоритм. Пример 1: Современные процессоры архитектуры x86 поддерживают множество наборов инструкций: x86, x86-64, x87, MMX, SSE, AVX, AES-NI (это не полный перечень). Часть этих наборов используется исключительно для совместимости с программами, скомпилированными 20 лет назад. ASIC-у все эти наборы нафиг не нужны, что упрощает его разработку и количество элементов на кристалле. Пример 2: Tesla в частности, да и вообще все GPU NVIDIA и AMD разрабатываются прежде всего для вычислений чисел с плавающей точкой. Но в майнинге используются исключительно целочисленные операции, которые не являются приоритетом при разработке GPU. Недаром же, первые 5 лет майнинга GPU NVIDIA были совершенно непригодны для этого самого майнинга. Вы представляете, насколько можно упростить GPU, выкинув оттуда поддержку вычислений с плавающей точкой и поддержку 3D графики? Ну и, если вдруг вы не в курсе, ASIC-и становятся сложнее. К примеру, Baikal Giant X10 поддерживает 5 разных алгоритмов, плюс обещают добавить ещё два алгоритма для тех же самых чипов без изменения их дизайна, что намекает на реализацию некоторой программируемой логики в этих чипах.
|
|
|
|
DevilOper
Member
Offline
Activity: 280
Merit: 26
|
|
January 29, 2018, 02:51:00 PM |
|
А теперь представьте себе ситуацию. Вы послали транзакцию. Пакет молока в магазине купили типа. Я вижу вашу транзакцию и рассылаю в сеть сообщение "а я конфликт обнаружил, заблокируйте его" Или к этому сообщению надо еще обе транзакции прикрепить? Воот, уже начинаются "или" варианты конкретных деталей функционирования - значит, есть надежда, что алгоритм не так уж безнадёжен на уровне концепта. Да, лучшим решением, думаю, будет упаковать обе транзакции в сообщение специального типа: {невалидные_транзакции_А_&_Б;транзакции_прилагаются: ...} Их ведь всё равно по сети рассылать, если они валидные. А что будет если вся сеть инвалидирует транзакции А и Б и забудет про них. И тут вы снова в сеть посылаете транзакцию А! (или Б). Опять 100500 компов только тем и занимаются что ваши транзакции друг у друга инвалидируют Ну в принципе, как и в биткойне с double-spent и прочими невалидными транзакциями, не? Кстати, а какой интервал вы разрешаете между транзакциями А и Б? А то я, допустим, купил автомобиль. Послал типа транзакцию А. А через месяц посылаю со своей ноды сообщение "ай-яй. конфликт!" и бабки возвращаются мне обратно. Не. Ну понятно, что интервал надо выбрать более-менее разумный. То есть, достаточно короткий (скажем, минуту), чтобы транзакция достаточно отреплицировалась, и при этом не ждать вечность. После этого, если не обнаружено конфликта - продавец должен подписать транзакцию своим ключём, что означает, что платёж он подтвердил. Если после этого появляется ещё одна транзакция с тем же номером и ID (счётом) отправителя, подписанная только отправителем - она просто отвергается. А если вдруг каким-то образом всплывает не замеченная сетью такая же транзакция, подписанная получателем - откатываются обе. Если провести аналогию с биткойном: до подписания получателем транзакция болтается в "мемпуле", после подписания - перемещается в "блок" (точнее, в кандидата на "смайненый блок"), далее через какой-то интервал - в "блокчейн". После этого, конечно, ничего вернуть уже не получится. Зато, есть и свои плюсы: отправить шиткойны "в никуда" - не получится. И транзакции не будут месяцами болтаться в "несмайненных" - либо туда, либо обратно. Взаимо-симметричное (ложнонегативное) утверждение к "потратить дважды" - будет звучать, как "не потратить ни разу". Аналогичное к "нельзя потратить чужие коины" - будет "никто не может ограничить возможность потратить свои". Внушает. Логика на уровне Канта, Платона и Декарта. Кто вас этому так научил? Ну, так-то - любой приличный букварь, хоть по статистике, хоть по системному анализу. Ну, или в вякипедию хоть заглянули бы, прежде, чем своё толкование известных понятий изобретать. С чего вы вообще взяли, что утверждения (мои и ваши) должны быть ложнонегативны? Либо - ложнопозитивны. Я же сказал, ошибки первого и второго рода - взаимно-симметричные, а не просто так, с потолка. А у вас - мокрое vs. мягкое: Я вам понятным русским языком объясняю: имеются два вида проблем. Вас жена послала купить в магазине хлеб. Если вы хлеб не купили - это ошибка алгоритма первого рода. Если вы купили не хлеб, а портвейн - второго. Про какие-то ложнонегативности я речь вообще не вел. Тоже, конечно, ошибки - но совсем другого рода.
|
|
|
|
DevilOper
Member
Offline
Activity: 280
Merit: 26
|
|
January 29, 2018, 02:59:54 PM |
|
...наш принципиальный противник блокчейна и майнинга. Да ладно, вы уже себя, как "знаток" блокчейна и майнинга многократно проявили - так что, оставайтесь уже в простых адептах, где вам самое место.
|
|
|
|
amaclin1
|
|
January 29, 2018, 03:05:39 PM |
|
Воот, уже начинаются "или" варианты конкретных деталей функционирования - значит, есть надежда, что алгоритм не так уж безнадёжен на уровне концепта. Безнадёжен. Но надо же вас в этом убедить. Иначе вы так и будете проповедовать ересь. А контингент тут такой - что любую лапшу можно вешать на уши. Да, лучшим решением, думаю, будет упаковать обе транзакции в сообщение специального типа: {невалидные_транзакции_А_&_Б;транзакции_прилагаются: ...} Их ведь всё равно по сети рассылать, если они валидные. Ну то есть я теоретически могу заебать всю мировую финансовую систему делая простое действие: шлю две транзакции А и Б - одну в Новую Зеландию, другую в Копенгаген. Сперва они по сети распространяются навстречу друг другу, потом сталкиваются, начинается обратный процесс отката. Как будут себя при этом вести ноды которые получили одну транзакцию и ушли в оффлайн? Откат-то они не получат? Ну в принципе, как и в биткойне с double-spent и прочими невалидными транзакциями, не? Не. После этого, если не обнаружено конфликта - продавец должен подписать транзакцию своим ключём, что означает, что платёж он подтвердил. О, это новая крутая идея. Для получения транзакции ты должен находиться в онлайне и твой приватный ключ по сути дела в этот момент не зашифрован от вирусоподобных вещей. А если ты в оффлайне - то входящие платежи пройдут мимо тебя. Клёво, че? Ой, всё. Достало меня спорить. Приду когда будет что-то интересное.
|
|
|
|
kzv
Legendary
Offline
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
|
|
January 29, 2018, 03:06:18 PM |
|
...наш принципиальный противник блокчейна и майнинга. Да ладно, вы уже себя, как "знаток" блокчейна и майнинга многократно проявили - так что, оставайтесь уже в простых адептах, где вам самое место. Хм, можно засчитывать слив? Какой-то блеклый финал. Как в плохой мыльной опере ((
|
|
|
|
AndreyBelts
Newbie
Offline
Activity: 140
Merit: 0
|
|
January 29, 2018, 03:29:10 PM |
|
Ну VISA, MC и прочие платежные системы хранят же свои транзакции. Правда они (системы), централизованные. Вот именно, что централизованные. Щелкнет пальцами президент США и кусок пластика превратится в тыкву в карманах всех граждан любой страны мира. Карточных систем сейчас много. Так что альтернатива есть для любителей/хейтеров любых юрисдикций.
|
|
|
|
fulinov
|
|
January 29, 2018, 03:39:57 PM |
|
Я бы сначала подумал, а зачем она нужна это еще одна 100500-ая новая криптовалюта, которая: 1. либо честная на PoW,но с 10 TPS 2. либо вообще централизованная, т.е на PoS с 1000 TPS (т.е. все равно меньше скорости VISA)
А чем вам MC и VISA не нравятся? Комиссии с пользователей не берут, транзакции проходят в 1 сек, платить можно в любой валюте. Т.е, если у вас на карте рубли, то вы все равно сможете заплатить с нее за хлеб хоть в Европе, хоть в Америке, хоть в Китае. Ну что вам еще надо-то? Возможность "теневых расчетов" - ключевая завлекалочка для криптоанархистов, вряд ли подойдет миллионам пользователей, которые хотят спать спокойно и не иметь проблем с налоговой & полицией.
Не для этого крипта нужна, а для того, чтобы защититься от инфляции и безконтрольного печатанья бабла со стороны всяких ЦБ.
|
|
|
|
AndreyBelts
Newbie
Offline
Activity: 140
Merit: 0
|
|
January 29, 2018, 03:46:51 PM |
|
Не надо мне про гипотетических афторов очередного суперкоина. Давайте обсуждать конкретные предложения. Повторяю вопрос: где будем хранить базу данных транзакций? А почему автор-то гипотетический? Он реальный. Сейчас его посты читаю. Весьма интересно. https://bitcointalk.org/index.php?action=profile;u=24826Менять "БЛОК"чейн на "Транзакция"чейн я, лично, пока не собираюсь. А так... при развитии данной технологии, по аналогии с сервисами почт типа yahoo, gmail, mailru и проч., будут адаптированные к популярным чейнам облачные сервисы хранения... До этого счастливого момента - можно попробовать использовать google.drive
|
|
|
|
AndreyBelts
Newbie
Offline
Activity: 140
Merit: 0
|
|
January 29, 2018, 04:00:46 PM |
|
Я бы сначала подумал, а зачем она нужна это еще одна 100500-ая новая криптовалюта, которая: 1. либо честная на PoW,но с 10 TPS 2. либо вообще централизованная, т.е на PoS с 1000 TPS (т.е. все равно меньше скорости VISA)
А чем вам MC и VISA не нравятся? Комиссии с пользователей не берут, транзакции проходят в 1 сек, платить можно в любой валюте. Т.е, если у вас на карте рубли, то вы все равно сможете заплатить с нее за хлеб хоть в Европе, хоть в Америке, хоть в Китае. Ну что вам еще надо-то? Мне нравятся. Но комиссии у данных карт бывают и для пользователей. Кроме того, они (карточные системы) работают с нами не на прямую, а через посредника (например Банк, который выпускает карты), а уж посредник-то придумает как забрать свою долю. В любом случае, распределенные сети действительно открывают возможности (по крайней мере технические) для создания новых платежных систем. И эти системы будут/могут иметь более низкие транзакционные издержки.... Сами MC и VISA не прочь поэкспериментировать с блокчейном.
|
|
|
|
AndreyBelts
Newbie
Offline
Activity: 140
Merit: 0
|
|
January 29, 2018, 04:08:05 PM |
|
Я бы сначала подумал, а зачем она нужна это еще одна 100500-ая новая криптовалюта, которая: 1. либо честная на PoW,но с 10 TPS 2. либо вообще централизованная, т.е на PoS с 1000 TPS (т.е. все равно меньше скорости VISA)
А чем вам MC и VISA не нравятся? Комиссии с пользователей не берут, транзакции проходят в 1 сек, платить можно в любой валюте. Т.е, если у вас на карте рубли, то вы все равно сможете заплатить с нее за хлеб хоть в Европе, хоть в Америке, хоть в Китае. Ну что вам еще надо-то? Возможность "теневых расчетов" - ключевая завлекалочка для криптоанархистов, вряд ли подойдет миллионам пользователей, которые хотят спать спокойно и не иметь проблем с налоговой & полицией.
Не для этого крипта нужна, а для того, чтобы защититься от инфляции и безконтрольного печатанья бабла со стороны всяких ЦБ. Инфляция не всегда причина действий ЦБ. А "коллективный ЦБ" может "проголосовать" за форк децентрализованой криптовалюты, что по своей сути - та же бесконтрольная эмиссия. Но, и здесь я с Вами соглашусь, мотиваций у людей участвовать в проектах криптовалют значительно больше, чем выше перечислено. Однако, не все из этих мотиваций пройдут проверку временем
|
|
|
|
DevilOper
Member
Offline
Activity: 280
Merit: 26
|
|
January 29, 2018, 05:06:10 PM Last edit: January 30, 2018, 10:26:08 AM by DevilOper |
|
Ну VISA, MC и прочие платежные системы хранят же свои транзакции. Правда они (системы), централизованные. Виза и МС "централизованные" в том же смысле, в каком интернет тоже можно назвать "централизованым": каждый пользователь - явно или неявно - соглашается использовать один общий протокол IP, и даже договор подписывает с провайдером, в котором наверняка есть что-нибудь про нарушения условий. Конечно, к "абьюзанью" интернета относятся гораздо толерантнее, чем к карточному фроду - но в некоторых странах могут таки реально за p2p (осла или торрент) от интернета забанить. Т.е., поясню мысль: сами Виза и МС, по сути, никаких транзакций не совершают - они предоставляют защищённый канал коммуникации между подписавшими соответствующий договор банками (ну, и служат неким арбитром). Централизованного от них - только раздача ID банкам-эмитентам, ну и, соответственно, роутинг запросов запросов в соответствии с этим ID (примерно, как корневой ДНС).
|
|
|
|
Vtools (OP)
|
|
January 29, 2018, 05:19:19 PM |
|
Далее смотрим: что значит сложный асик, способный выполнять любой набор инструкций? Это устройство по типу графической карты для научных вычислений (как например nVidia Tesla).
ASIC-у для вашего алгоритма не требуется выполнять любой набор инструкций, а только тот, который вы заложили в свой алгоритм. Пример 1: Современные процессоры архитектуры x86 поддерживают множество наборов инструкций: x86, x86-64, x87, MMX, SSE, AVX, AES-NI (это не полный перечень). Часть этих наборов используется исключительно для совместимости с программами, скомпилированными 20 лет назад. ASIC-у все эти наборы нафиг не нужны, что упрощает его разработку и количество элементов на кристалле. Пример 2: Tesla в частности, да и вообще все GPU NVIDIA и AMD разрабатываются прежде всего для вычислений чисел с плавающей точкой. Но в майнинге используются исключительно целочисленные операции, которые не являются приоритетом при разработке GPU. Недаром же, первые 5 лет майнинга GPU NVIDIA были совершенно непригодны для этого самого майнинга. Вы представляете, насколько можно упростить GPU, выкинув оттуда поддержку вычислений с плавающей точкой и поддержку 3D графики? Во сколько раз можно упростить (как ЦПУ так и GPU)? Я думаю в два раза, не больше. Но стоит такое устройство будет на порядок больше, т.к. партии выпуска не те. Наверное... Все что вы пишите - верно. Разница в приоритетах - в порядке исполнения всего этого во времени. Вообще, тут у нас ощущается недостаток точных цифр, а если нет точных знаний, то начинается вера. А в религиозных спорах я предпочитаю не участвовать. Ну и, если вдруг вы не в курсе, ASIC-и становятся сложнее. К примеру, Baikal Giant X10 поддерживает 5 разных алгоритмов, плюс обещают добавить ещё два алгоритма для тех же самых чипов без изменения их дизайна, что намекает на реализацию некоторой программируемой логики в этих чипах.
Интересная информация, жалко что в инете нет точной информации про архитектуру. Но это ничего не меняет в вышесказанном. Истина где-то посередине...
|
• Restart of the TERA project in 2022 •
|
|
|
DevilOper
Member
Offline
Activity: 280
Merit: 26
|
|
January 29, 2018, 05:35:23 PM |
|
Ну то есть я теоретически могу заебать всю мировую финансовую систему Теоретически - ты и весь мировой инет можешь заебать кривыми пингами. Практически же - разве что этот форум своей душевной простотой(с) Как будут себя при этом вести ноды которые получили одну транзакцию и ушли в оффлайн? Зависит от того, в каком состоянии они её получили. Но вообще - так и будт прибывать в нирване оффлайне, раз уж туда ушли. Откат-то они не получат? Чёйта не получат? Как проснутся - получат. А не проснутся - кому мешает незавершённая транзакция на выключенной ноде? Ну в принципе, как и в биткойне с double-spent и прочими невалидными транзакциями, не? Не. Да. После этого, если не обнаружено конфликта - продавец должен подписать транзакцию своим ключём, что означает, что платёж он подтвердил. О, это новая крутая идея. Да нет, старая. Внимательнее надо читать просто. Для получения транзакции ты должен находиться в онлайне и твой приватный ключ по сути дела в этот момент не зашифрован от вирусоподобных вещей. Для особо параноидальных поцыэнтов клиентов можно организовать экспорт raw транзакции на дискетку флешку, и подпись её вручную на специально выделенном ПЦ. А так-то вроде какое-то зашифрованное хранялище ключей даже в клиенте беткоэна реализовано, или я ошибаюсь? А если ты в оффлайне - то входящие платежи пройдут мимо тебя. Клёво, че? Ну, это-то как раз вообще не проблема: нафига онлайн-платежи людям без доступа онлайн? Хотя, в принципе, можно и на этот случай костыль придумать: например, завести отдельный "мемпул" для незавершённых транзакций. Ой, всё. Где-то я это уже слышал.
|
|
|
|
Vtools (OP)
|
|
January 29, 2018, 06:24:47 PM |
|
Отдельным вопросом стоит GPU - можно ли на нем написать интерпретатор?
Полагаю, что - да, можно А что если заставить сторону, заинтересованную в майнинге на видеокартах, написать интерпретатор javascript со всеми его наследственными фичами? Причем сам интерпретатор будет заведомо медленно JIT компиляции ноды. Давайте подумаем как это сделать. Может 32 байта - это набор лексем (+ символ перевода строки, т.к. именно с ним рождаются волшебные фичи javascript), который превращаем в код. Его подаем на исполнение JIT компилятору и если мы на ЦПУ, то все быстро исполняется. Осталось подумать как из набора случайный чисел (хеша) сделать осмысленный javascript с "фичами". Фичи нужны, чтобы не было желания код транслировать напрямую в машинный в асиках или GPU P.S. Можно представить, что в будущем возникнуть асики и GPU карты, работающие на javascript... Как я выше уже писал, сейчас мы не сможем защититься от создания спец. устройств в дальней перспективе, но зато сейчас мы можем повлиять на будущее, пусть на свет появятся более полезные для общества устройства.
|
• Restart of the TERA project in 2022 •
|
|
|
#Cryptoman
Member
Offline
Activity: 980
Merit: 48
|
|
January 29, 2018, 06:26:34 PM |
|
Во сколько раз можно упростить (как ЦПУ так и GPU)? Я думаю в два раза, не больше.
Для выполнения только конкретный операций, как минимум в тысячи и миллионы раз... А не как ты пишешь, в два раза... Можно представить, что в будущем возникнуть асики и GPU карты, работающие на javascript... А ты в курсе, что и сейчас УЖЕ такое возможно, просто ты не в теме?
|
https://indx.ru криптобиржа от вебмоней, не воруют, не требуют доказательств происхождения средств.
|
|
|
A-Bolt
Legendary
Offline
Activity: 2334
Merit: 2374
|
|
January 29, 2018, 08:35:06 PM |
|
А что если заставить сторону, заинтересованную в майнинге на видеокартах, написать интерпретатор javascript со всеми его наследственными фичами? Причем сам интерпретатор будет заведомо медленно JIT компиляции ноды. Давайте подумаем как это сделать. Может 32 байта - это набор лексем (+ символ перевода строки, т.к. именно с ним рождаются волшебные фичи javascript), который превращаем в код. Его подаем на исполнение JIT компилятору и если мы на ЦПУ, то все быстро исполняется. Осталось подумать как из набора случайный чисел (хеша) сделать осмысленный javascript с "фичами". Фичи нужны, чтобы не было желания код транслировать напрямую в машинный в асиках или GPU
Вы какие-то странные, на мой взгляд, преобразования предлагаете: хеш -> JavaScript -> последовательность инструкций CPU (x86, ARM и т. п.) Зачем в этой цепочке JavaScript? Можно ведь напрямую: хеш -> последовательность инструкций CPU (x86, ARM и т. п.) И ещё, хочу сказать пару слов про цель, которую вы хотите достичь. Вы ведь знаете, что в настоящее время существуют криптовалюты, алгоритмы которых малоэффективны для GPU? То есть, на GPU их майнить можно, но производительность не сильно отличается от производительности на CPU. Примеры таких алгоритмов: CryptoNight, Yescrypt. Вы знаете, кто любит майнить монеты на этих алгоритмах? 1. Владельцы ботнетов. Человек получает по почте файл, якобы счёт за какую-то там услугу, два раза по нему кликает, игнорирует предупреждение, запускается программа, которая получает задания от хозяина, и комп этого человека становится частью ботнета. И все эти компы майнят Монеро или что-то там ещё на хозяина ботнета. 2. Хитрожопые сисадмины. Люди, имеющие по своим служебным обязанностям, власть над компами в конторах, могут втихаря от хозяина конторы злоупотреблять этой властью, запуская на вверенных им компах майнеры по ночам, а особенно наглые и в рабочее время. 3. Владельцы некоторых сайтов. Сайт может иметь встроенный код для майнинга, исполняемый в браузерах посетителей сайта. Пока вкладка с сайтом открыта, комп посетителя майнит на хозяина сайта. Вы понимаете, что разрабатывая ASIC-оустойчивый алгоритм вы работаете на вышеперечисленные категории людей?
|
|
|
|
Coin-1
Legendary
Offline
Activity: 2618
Merit: 2304
|
|
January 29, 2018, 10:51:01 PM Last edit: January 29, 2018, 11:02:45 PM by Coin-1 |
|
Вы понимаете, что разрабатывая ASIC-оустойчивый алгоритм вы работаете на вышеперечисленные категории людей?
Ничего плохого в этом нет. Майнят простые обыватели, а не только избранные, которые купили асик/асики и подключились к пулу.
|
|
|
|
Aeneas
Newbie
Offline
Activity: 89
Merit: 0
|
|
January 30, 2018, 09:12:15 AM |
|
Господа, а что скажете по поводу майнинга ASIC-ами в случае платформы, написанной на Scala?
|
|
|
|
|