Bitcoin Forum

Local => Новички => Topic started by: n00by on December 10, 2013, 01:49:53 PM



Title: Ускорение реализации известных алгоритм
Post by: n00by on December 10, 2013, 01:49:53 PM
Прочитав все темы из разделов Майнеры и Кодеры, зарегистрировался здесь, потому как очень заинтересовала тема криптовалют. Предлагаю начать обсуждение известных алгоритмов расчета, используемых при транзакциях в сети криптовалют.
Начну сам со следующего посыла:
В 64-битных многоядерных системах основной акцент нужно сделать на асинхронность и многозадачность. То есть, если мы увеличим производительность операции на 1 нс, при 100кк таких операций выигрыш будет очень существенным.

--
Чуть позже, из дома приложу рабочий пример для c#.


Title: Re: Ускорение реализации известных алгорит
Post by: manbacher on December 10, 2013, 03:33:53 PM
Прочитав все темы из разделов Майнеры и Кодеры, зарегистрировался здесь, потому как очень заинтересовала тема криптовалют. Предлагаю начать обсуждение известных алгоритмов расчета, используемых при транзакциях в сети криптовалют.
Начну сам со следующего посыла:
В 64-битных многоядерных системах основной акцент нужно сделать на асинхронность и многозадачность. То есть, если мы увеличим производительность операции на 1 нс, при 100кк таких операций выигрыш будет очень существенным.

--
Чуть позже, из дома приложу рабочий пример для c#.

Я так понимаю, алгоритмы предполагается ускорять кому-то другому? Интересно, что такого ускоренного можно написать на C#?


Title: Re: Ускорение реализации известных алгорит
Post by: deisik on December 10, 2013, 04:02:11 PM
Прочитав все темы из разделов Майнеры и Кодеры, зарегистрировался здесь, потому как очень заинтересовала тема криптовалют. Предлагаю начать обсуждение известных алгоритмов расчета, используемых при транзакциях в сети криптовалют.

Я только через какое-то время осознал смысл сказанного... :o


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 05:18:56 PM
Я так понимаю, алгоритмы предполагается ускорять кому-то другому? Интересно, что такого ускоренного можно написать на C#?
Алгоритмы будет ускорять компилятор и, собственно, процессор исполняющий инструкции написанные машинным кодом тем самым компилятором. На c# мы пишем объектно-ориентированную модель поведения нашей программы, которую, да будет вам известно, компилятор сначала преобразовывает в IL, а затем уже в машинный код. Попрошу не флудить в теме, поскольку тема будет длинная и мы придем к сути, необходимой для осознанного подхода к написанию кода, и надеюсь, вложим часть своего труда в развитие всех направлений IT.


Title: Re: Ускорение реализации известных алгорит
Post by: manbacher on December 10, 2013, 05:25:28 PM
Алгоритмы будет ускорять компилятор и, собственно, процессор исполняющий инструкции написанные машинным кодом тем самым компилятором. На c# мы пишем объектно-ориентированную модель поведения нашей программы, которую, да будет вам известно, компилятор сначала преобразовывает в IL, а затем уже в машинный код. Попрошу не флудить в теме, поскольку тема будет длинная и мы придем к сути, необходимой для осознанного подхода к написанию кода, и надеюсь, вложим часть своего труда в развитие всех направлений IT.

Мне стало интересно. С удовольствием посмотрю на развитие. Для начала вопрос, речь о клиенте?


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 05:26:51 PM
Я только через какое-то время осознал суть сказанного... :o

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


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 05:34:32 PM
Алгоритмы будет ускорять компилятор и, собственно, процессор исполняющий инструкции написанные машинным кодом тем самым компилятором. На c# мы пишем объектно-ориентированную модель поведения нашей программы, которую, да будет вам известно, компилятор сначала преобразовывает в IL, а затем уже в машинный код. Попрошу не флудить в теме, поскольку тема будет длинная и мы придем к сути, необходимой для осознанного подхода к написанию кода, и надеюсь, вложим часть своего труда в развитие всех направлений IT.

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


Title: Re: Ускорение реализации известных алгорит
Post by: Xtc on December 10, 2013, 05:48:00 PM
Quote
И, сопутствующий вопрос, почему оф.клиент перестал майнить?
Ты уверен что прочитал все темы из разделов майнеры и кодеры? Надо не названия тем читать, а то что внутри)


Title: Re: Ускорение реализации известных алгорит
Post by: manbacher on December 10, 2013, 05:52:33 PM
На текущий момент речь идет об ускорении алгоритмов. А именно конкретной реализации нескольких алгоритмов. А именно, для того, чтобы учувствовать в процессе поддержания жизнедеятельности сети, мы должны от пир-клиента, в данном случае это оф.клиент, получить данные и заняться их обсчетом.
Вопрос первый: Насколько оперативно мы получаем данные. То есть сколько времени занимает процесс от нашего запроса на получение данных (готовности) до получения задачи?
И, сопутствующий вопрос, почему оф.клиент перестал майнить?


Я чувствую бред. Конкретная реализация алгоритмов вовсе не на C#, никакая объектная модель с друмя трансляторами их не ускорит. Алгоритмов много разных используется, но постановка вопросов вызывает удивление даже у меня. Начну с конца: оф. клиент перестал майнить с тех пор, как мощность одного процессора стала ничтожно мала, по сравнению с общей мощностью сети, как следствие, вероятность награды за блок устремилась к нулю. Поддерживать нерабочий функционал -- кому оно полезно? Об этом много где написано, прочитавшему "все темы из разделов Майнеры и Кодеры", это должно было попасться, хотя бы в FAQ. Теперь почему бред: о каких именно данных речь? Чтобы знать какие данные нужны, сначала нужно знать на какой именно вопрос они должны отвечать. Пока что я вижу абстрактные пасы в воздухе про алгоритмы, данные, объектную модель и прочие баззворды.


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 06:04:46 PM
Я чувствую бред. Конкретная реализация алгоритмов вовсе не на C#, никакая объектная модель с друмя трансляторами их не ускорит. Алгоритмов много разных используется, но постановка вопросов вызывает удивление даже у меня. Начну с конца: оф. клиент перестал майнить с тех пор, как мощность одного процессора стала ничтожно мала, по сравнению с общей мощностью сети, как следствие, вероятность награды за блок устремилась к нулю. Поддерживать нерабочий функционал -- кому оно полезно? Об этом много где написано, прочитавшему "все темы из разделов Майнеры и Кодеры", это должно было попасться, хотя бы в FAQ. Теперь почему бред: о каких именно данных речь? Чтобы знать какие данные нужны, сначала нужно знать на какой именно вопрос они должны отвечать. Пока что я вижу абстрактные пасы в воздухе про алгоритмы, данные, объектную модель и прочие баззворды.

Бред надо сначала почувствовать, потом осознать, а потом избавится от него.
Мы хотим поддерживать сеть. Мы хотим не просто получать все транзакции. Мы хотим считать. Мы отправляем запрос участнику сети - оф.клиенту. Он там кидает данные. Мы их обсчитываем и пытаемся найти лучший вариант из всех.
Так?
Так вот. Вопрос стоит следующим образом, насколько актуальны данные для нас, как принимающей стороны в этой цепочке. Как быстро наш запрос к оф.клиенту найдет ответ?


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 06:13:04 PM
Ты уверен что прочитал все темы из разделов майнеры и кодеры? Надо не названия тем читать, а то что внутри)

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


Title: Re: Ускорение реализации известных алгорит
Post by: deisik on December 10, 2013, 06:24:44 PM
Я чувствую бред. Конкретная реализация алгоритмов вовсе не на C#, никакая объектная модель с друмя трансляторами их не ускорит. Алгоритмов много разных используется, но постановка вопросов вызывает удивление даже у меня. Начну с конца: оф. клиент перестал майнить с тех пор, как мощность одного процессора стала ничтожно мала, по сравнению с общей мощностью сети, как следствие, вероятность награды за блок устремилась к нулю. Поддерживать нерабочий функционал -- кому оно полезно? Об этом много где написано, прочитавшему "все темы из разделов Майнеры и Кодеры", это должно было попасться, хотя бы в FAQ. Теперь почему бред: о каких именно данных речь? Чтобы знать какие данные нужны, сначала нужно знать на какой именно вопрос они должны отвечать. Пока что я вижу абстрактные пасы в воздухе про алгоритмы, данные, объектную модель и прочие баззворды.

Бред надо сначала почувствовать, потом осознать, а потом избавится от него.

Юноша бледный со взором горящим...


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 06:43:40 PM
Юноша бледный со взором горящим...

Попрошу вас в моей ветке быть корректным и изъясняться по существу если, конечно, есть что сказать. Вот скажите мне, что быстрее for или foreach?
И да, мне 35.


Title: Re: Ускорение реализации известных алгорит
Post by: manbacher on December 10, 2013, 06:49:26 PM
Бред надо сначала почувствовать, потом осознать, а потом избавится от него.
Мы хотим поддерживать сеть. Мы хотим не просто получать все транзакции. Мы хотим считать. Мы отправляем запрос участнику сети - оф.клиенту. Он там кидает данные. Мы их обсчитываем и пытаемся найти лучший вариант из всех.
Так?
Так вот. Вопрос стоит следующим образом, насколько актуальны данные для нас, как принимающей стороны в этой цепочке. Как быстро наш запрос к оф.клиенту найдет ответ?

Quote
Мы отправляем запрос участнику сети - оф.клиенту. Он там кидает данные.


Тут я вижу уже конкретику. Видимо, речь о JSON-RPC к стандартному клиенту.

Quote
Мы их обсчитываем и пытаемся найти лучший вариант из всех.

А вот тут у меня возникает вопрос, что читал топикстартер? Какова его цель? Нет ли у него привычки беседовать на форумах после достижения невменяемого состояния после принятия значительного количества алкоголя? А может он просто в новичках так решил пройти стадию принятия на форум? Много вопросов требует ответа.

Quote
Как быстро наш запрос к оф.клиенту найдет ответ?

Зависит от запроса. Например, запрос на перевод 0.0000001 биткоина без комиссии может и вовсе не найти ответа.


Title: Re: Ускорение реализации известных алгорит
Post by: Wi-Fu on December 10, 2013, 06:56:56 PM
Quote
Summary - n00by
Date Registered:    Today at 11:16:57 AM

Quote
Summary - manbacher
Date Registered:    Today at 01:48:16 PM

- Разговоры с самим собой?
- Если так, то зачем?
- Продвигать C# ?
- Но C# не нужен...


Алгоритмы будет ускорять компилятор и, собственно, процессор исполняющий инструкции написанные машинным кодом тем самым компилятором.
Судентота?


Юноша бледный со взором горящим...

Попрошу вас в моей ветке быть корректным и изъясняться по существу если, конечно, есть что сказать. Вот скажите мне, что быстрее for или foreach?
И да, мне 35.

http://habrahabr.ru/post/198588/#comment_6887060  :)


Title: Re: Ускорение реализации известных алгорит
Post by: deisik on December 10, 2013, 07:11:31 PM
Юноша бледный со взором горящим...

Попрошу вас в моей ветке быть корректным и изъясняться по существу если, конечно, есть что сказать. Вот скажите мне, что быстрее for или foreach?
И да, мне 35.

foreach в крестах нету, а решётки мне неинтересны. Если что, официальный кошелёк написан на c++


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 07:12:41 PM
Судентота?
Я не знаю что это и даже гуглить лень. Не понимаю ваших набросок на человека, который пытается вам что-то рассказать. Я не знаю кто там выше пишет, но это ветка для новичков, и только сюда я могу писать.

Вот вы, в теме кодеров я вас встречал. Скажите мне, какая тактовая частота, ну или какое количество унарных операций совершает микроконтроллер с именем ASIC? Именно сам контроллер.. Потому как управляется он Атмегой с 38 МГц.


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 07:18:44 PM
foreach в крестах нету, а решётки мне неинтересны. Если что, официальный кошелёк написан на c++
Вы изъясняетесь как уголовник.


Title: Re: Ускорение реализации известных алгорит
Post by: deisik on December 10, 2013, 07:21:29 PM
foreach в крестах нету, а решётки мне неинтересны. Если что, официальный кошелёк написан на c++
Вы изъясняетесь как уголовник.

Я и уши могу надрать за дешёвые понты...


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 07:24:48 PM
Тут я вижу уже конкретику. Видимо, речь о JSON-RPC к стандартному клиенту.

А вот тут у меня возникает вопрос, что читал топикстартер? Какова его цель? Нет ли у него привычки беседовать на форумах после достижения невменяемого состояния после принятия значительного количества алкоголя? А может он просто в новичках так решил пройти стадию принятия на форум? Много вопросов требует ответа.

Зависит от запроса. Например, запрос на перевод 0.0000001 биткоина без комиссии может и вовсе не найти ответа.

Вы понимаете как работает майнинг? Я вот себе разложил. И первый вопрос, который у меня возник, какие я получаю задания, запрашивая getwork? И какова скорость реакции у того, кто мне их присылает?


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 07:30:54 PM
Я и уши могу надрать за дешёвые понты...
Ответ не заставит себя ждать. Адиос амиго
Это моя тема. Если есть по существу беседы какие-либо предложения, добро пожаловать. Иначе вынужден буду забанить

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


Title: Re: Ускорение реализации известных алгорит
Post by: Wi-Fu on December 10, 2013, 07:33:32 PM
Судентота?
Я не знаю что это и даже гуглить лень. Не понимаю ваших набросок на человека, который пытается вам что-то рассказать. Я не знаю кто там выше пишет, но это ветка для новичков, и только сюда я могу писать.
Гуглить? А как насчет подумать головой? Вы увидели мой ответ, но чтобы понять смысл надо было просто сопоставить мой ответ с тем что я процитировал.
Хотя зачем вам это если вы
Вот вы, в теме кодеров я вас встречал. Скажите мне, какая тактовая частота, ну или какое количество унарных операций совершает микроконтроллер с именем ASIC? Именно сам контроллер.. Потому как управляется он Атмегой с 38 МГц.
пришли показывать свои понты, как школьник. Подобные "микросведения" полезны если вы работаете в этой сферей плотно и занимаете разработкой именно под это оборудование, либо если ваша цель - дешевые понты перед одноклассниками.

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


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 07:39:36 PM
У меня возникает стойкое ощущение чтоб вы из программистиков, который очень слабо ориентируется в предмете (вцелом в дисциплине и, как минимум, в вопросах оптимизации кода), но имеет очень высокое самомнение.

Скажу вам вот что. Я создал тему, меня завалили г.вном из вентилятора. Каждый олицетворяет то, что он пишет. Мое мнение в любом случае останется при мне. Для чего вы мне тут только что вылили все это, вместо того чтобы ответить на простой вопрос?
Может и вы тоже
из программистиков
Ответить сложно что-ли? Я думаю сложно. Потому как нет знаний. Я пришел порассуждать и поделится знаниями. Меня тут 2 страницы мешают с гав.ом. Но я перетерплю. Будь уверен.
38Мгц))


Title: Re: Ускорение реализации известных алгорит
Post by: deisik on December 10, 2013, 07:49:28 PM
Скажу вам вот что. Я создал тему, меня завалили г.вном из вентилятора. Каждый олицетворяет то, что он пишет. Мое мнение в любом случае останется при мне. Для чего вы мне тут только что вылили все это, вместо того чтобы ответить на простой вопрос?

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


Title: Re: Ускорение реализации известных алгорит
Post by: Xtc on December 10, 2013, 07:52:43 PM
Quote
Чуть позже, из дома приложу рабочий пример для c#.
Ты уже дома? Показывай примеры, может тогда тебя поймут. Только относящиеся к биткойну а не со стороны.


Title: Re: Ускорение реализации известных алгорит
Post by: Wi-Fu on December 10, 2013, 08:00:28 PM
У меня возникает стойкое ощущение чтоб вы из программистиков, который очень слабо ориентируется в предмете (вцелом в дисциплине и, как минимум, в вопросах оптимизации кода), но имеет очень высокое самомнение.

Скажу вам вот что. Я создал тему, меня завалили г.вном из вентилятора. Каждый олицетворяет то, что он пишет. Мое мнение в любом случае останется при мне.
0. Нужно больше туалетных сущностей, т.к. именно эти сущности являются непоколебимыми аргументами в пользу своей позиции. Среди школьников, вероятно.
1. Конечно же виноваты все вокруг, но не вы. Д'Артаньян, ты?
2. Ваше мнение никому не нужно кроме вас ровно так же как и не интересно то обстоятельство что вы держитесь за свое мнение. Nobody cares.

Для чего вы мне тут только что вылили все это, вместо того чтобы ответить на простой вопрос?
Может и вы тоже
из программистиков
Ответить сложно что-ли? Я думаю сложно. Потому как нет знаний. Я пришел порассуждать и поделится знаниями. Меня тут 2 страницы мешают с гав.ом. Но я перетерплю. Будь уверен.
38Мгц))
Я ответил, но вы не поняли мой ответ (похоже что он находится за пределами вашего понимания). К размышлению: мир еще в лохматые 2000-ые повидал кретинов-теоритиков, которые предлагали писать cgi обработчики на asm'е чтобы ускорить выдачу html-документа. Чем не оптимизация, не так ли?


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 08:11:48 PM
Quote
Чуть позже, из дома приложу рабочий пример для c#.
Ты уже дома? Показывай примеры, может тогда тебя поймут. Только относящиеся к биткойну а не со стороны.

https://en.bitcoin.it/wiki/Getblocktemplate (https://en.bitcoin.it/wiki/Getblocktemplate)
ASICs

The original getwork protocol only provides a single block header, which is sufficient for a total of about 4 GH of mining. With the "rollntime" extension, this can be extended to 4 GH *per second*, but even that is far from sufficient for the next generation of mining equipment (ASICs) which are capable of 1000 GH/s on the high end.
By moving block creation to the miners, they are enabled to create as much work as they need locally, thus overcoming this limitation.

Scalability
Due to scalability problems, bitcoind's JSON-RPC stack has not been able to keep up with the hashrates needed for solo mining today. Since getblocktemplate drastically reduces the load required to a single request per new block on the network, direct solo mining on bitcoind is again possible. Poolservers likewise benefit from having to meet much lower demands of miners who can make their own blocks.

Развивая тему, нужно обращаться к сети не через медленные вызовы, а через Getblocktemplate. Пойду покожу..


Title: Re: Ускорение реализации известных алгорит
Post by: starik69 on December 10, 2013, 08:27:45 PM
Забавный способ "что-то рассказать", требуя ответы на риторические вопросы.  ::)

Вы уж не томите публику, не затягивайте сюжет. Объявите наконец, что открыли способ заоптимизировать обычный I5 аж до 100 гигахеш и скромно попросите свои XXX BTC за сию тайну.  ;D
Может тогда люди к вам и потянутся...


Title: Re: Ускорение реализации известных алгорит
Post by: n00by on December 10, 2013, 08:33:43 PM
Забавный способ "что-то рассказать", требуя ответы на риторические вопросы.  ::)

Вы уж не томите публику, не затягивайте сюжет. Объявите наконец, что открыли способ заоптимизировать обычный I5 аж до 100 гигахеш и скромно попросите свои XXX BTC за сию тайну.  ;D
Прошу прощения. Я такого не обещал и не обещаю. Просто выкладывать десятку тысяч зелени за китайские микрухи не для меня. Ща докОжу 256хэш и положу сюда) Делов то, на пару часов от силы.
Продолжение утром по Москве..


Title: Re: Ускорение реализации известных алгорит
Post by: manbacher on December 10, 2013, 09:53:18 PM
Quote
Summary - n00by
Date Registered:    Today at 11:16:57 AM

Quote
Summary - manbacher
Date Registered:    Today at 01:48:16 PM

- Разговоры с самим собой?

Случайное совпадение. Я тут появился тоже со своей темой, но там почему-то нет ответов. На сишарпе не "кожу", стараюсь изъясняться понятно.


Title: Re: Ускорение реализации известных алгорит
Post by: manbacher on December 10, 2013, 10:05:15 PM
Вы понимаете как работает майнинг? Я вот себе разложил. И первый вопрос, который у меня возник, какие я получаю задания, запрашивая getwork? И какова скорость реакции у того, кто мне их присылает?


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


Title: Re: Ускорение реализации известных алгорит
Post by: Wi-Fu on December 11, 2013, 11:52:43 PM
\0


Title: Re: Ускорение реализации известных алгорит
Post by: deisik on December 12, 2013, 09:10:15 AM
Я думаю, всем должно быть уже всё ясно. Можно расходиться (впрочем, большинству это было очевидно с самого начала)...


Title: Re: Ускорение реализации известных алгорит
Post by: Fucker_Crypto_Boss on October 20, 2017, 06:50:36 PM
foreach в крестах нету, а решётки мне неинтересны. Если что, официальный кошелёк написан на c++
Вы изъясняетесь как уголовник.

Я и уши могу надрать за дешёвые понты...

Надери себе очко, ибо понты у тебя действительно дешёвые