Pages:
Author

Topic: Ⓐ Atom - пишу свою крипту ✌✌✌ - page 2. (Read 23952 times)

jr. member
Activity: 108
Merit: 1
the revolution must be tokenized
Уважаемый ТС, как обстоят дела по прогрессу на данный момент времени??
member
Activity: 202
Merit: 27
Atom foundation
18. Входы-выходы или красота в простоте

При проведении транзакции например от Пети к Ане:
1) У пети 10 атомов и он переводит Ане 2 атома.
2) Ищем в блокчейн последнюю запись, где написано сколько у Пети денег.
3) В новом блоке в заголовке пишем, что у пети 8 атомов, у ани 2 атома

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

- Если надо проверить валидность денег в последнем блоке, надо проверить предыдущие блоки, на наличие входов (переводов)



member
Activity: 202
Merit: 27
Atom foundation
17. База данных на Redis

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

Инфа из википедии:
Redis (от англ. remote dictionary server) — резидентная система управления базами данных класса NoSQL с открытым исходным кодом, работающая со структурами данных типа «ключ — значение». Используется как для баз данных, так и для реализации кэшей, брокеров сообщений.
Ориентирована на достижение максимальной производительности на атомарных операциях (заявляется о приблизительно 100 тыс. SET- и GET-запросов на Linux-сервере начального уровня). Написана на Си, интерфейсы доступа созданы для большинства основных языков программирования.
member
Activity: 365
Merit: 10
Интересная тема,продолжай,закинул в закладки,главное не забрасывай.
member
Activity: 202
Merit: 27
Atom foundation
Отрадно видеть что тема жива! Слежу с интересом, но ребята у кого есть варик киньте человеку мерит уже! Заслужил же мембера явно! Я свои уже растерял, а то бы исправил ситуацию.
Да и подпись немного улучшит ТС все плюс будет!

Спасибо бро) Не знаю особо куда тратить мерит, но подпись было бы кстати  Wink
Мерит, кстати, кидают потихоньку Grin

Согласен сегодня таких авторов которые почти с нуля под свою идею пишут очень мало. Несколько проектов в месяц и все. Так что не важно что будут ошибки продолжай делать то что надо. Конечно нужна адаптация чтобы увеличить количество пользователей но это потом.

пишу из удовольствия)
sr. member
Activity: 1134
Merit: 276
С удовольствием прочитал тему, буду и дальше следить за развитием проекта, топикстартеру успехов, терпения, вдохновения и энтузиазма.

Согласен сегодня таких авторов которые почти с нуля под свою идею пишут очень мало. Несколько проектов в месяц и все. Так что не важно что будут ошибки продолжай делать то что надо. Конечно нужна адаптация чтобы увеличить количество пользователей но это потом.
member
Activity: 373
Merit: 15
bounty stakes trading
Отрадно видеть что тема жива! Слежу с интересом, но ребята у кого есть варик киньте человеку мерит уже! Заслужил же мембера явно! Я свои уже растерял, а то бы исправил ситуацию.
Да и подпись немного улучшит ТС все плюс будет!
member
Activity: 202
Merit: 27
Atom foundation
Скажи пожалуйста, почему эту тему решил разместить в разделе "Идеи", а не "Кодеры" ?

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

Алгоритм "Пох"Smiley Звучит вообще))

Proof of Hash - все честно Wink Grin

member
Activity: 322
Merit: 11
Blockchain for PLANTS (www.industrial.markets)
Алгоритм "Пох"Smiley Звучит вообще))
member
Activity: 202
Merit: 27
Atom foundation
16.  Асинхронное   общение   нод   с   помощью   ZeroMQ - Часть 2

Доделал общение нод с помощью ZeroMQ, принцип работы по итогу получается такой:
- нода имеет ip и открытый порт 5556 (по умолчанию)
- ZeroMQ создает сокет в который сваливается все что возможно от других нод (каждое сообщение помечено идентификатором и само тело сообщения)
- сервер ноды создает асинхронные потоки, которые все как пираньи хватают новые пакеты из сокет и обрабатывают их (так создается максимальная скорость обработки данных)

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

Пример кода:
Code:
class ServerTask(threading.Thread):
    def __init__(self):
        threading.Thread.__init__ (self)

    def run(self):
        context = zmq.Context()
        frontend = context.socket(zmq.ROUTER)
        frontend.bind('tcp://*:5556')

        backend = context.socket(zmq.DEALER)
        backend.bind('inproc://backend')

        workers = []
        for i in range(5):
            worker = ServerWorker(context)
            worker.start()
            workers.append(worker)

        zmq.proxy(frontend, backend)

        frontend.close()
        backend.close()
        context.term()


class ServerWorker(threading.Thread):
    def __init__(self, context):
        threading.Thread.__init__ (self)
        self.context = context

    def run(self):
        worker = self.context.socket(zmq.DEALER)
        worker.connect('inproc://backend')
        identity_w = "%04X-%04X" % (randint(0, 0x10000), randint(0, 0x10000)) # это внутренний id, не zmq
        print('Worker '+identity_w+' started')
        while True:
            ident, msg = worker.recv_multipart()
            print('Worker received %s from %s' % (msg, ident))
            self.test_task(worker,ident,msg)
            #replies = randint(0,3)
            #for i in range(replies):
                #time.sleep((randint(0,2)))
                #msg = eval(msg)
                #msg['worker'] = identity_w
                #msg = str(msg).encode()
                #worker.send_multipart([ident, msg])
        worker.close()

    def test_task(self,worker,ident,msg):
        msg = eval(msg)
        # запрос last vector для поиска nonce
        if 'nonce' in msg['task']:
            print('Запрос vector')
            msg['task'] = 'vector-file'
            msg['msg'] = node.vector_only_my_node_GET()
            msg = str(msg).encode()
            worker.send_multipart([ident, msg])
            return

        if 'vector-pow' in msg['task']:
            print('Запрос vector pow')
            msg = node.vector_check_POW(msg['msg'])
            msg = str(msg).encode()
            worker.send_multipart([ident, msg])
            worker.send_multipart([ident, PPP_END])
            return

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

Материалы:
Хорошая статья о многопоточности и асинхронности
Асинхронный Python: различные формы конкурентности
ZeroMQ The Asynchronous Client/Server Pattern
member
Activity: 202
Merit: 27
Atom foundation
Очень интересная тема.  В свете появления квантового компьютера, задачей номер один является появление  новых алгоритмов. К примеру, у  нас в России физики из  квантового центра запустили квантовый блокчейн — инструмент для создания распределенной базы данных, в которой практически невозможно подделать записи. Их задачей было обезопасить классические алгоритмы от появления квантового компьютера. Схема была протестирована на городских оптоволоконных сетях (препринт). В блокчейне  и криптографии не очень разбираюсь , но хочу предложить автору свою нетрадиционную идею по усилению именно криптографической защиты. Пока написал автору лично чтобы не засорять тему.

Центр может и квантовый, но квантовый ли компьютер?  Wink
Насчет идеи криптографической защиты - все придумано за нас. В любом случае пиши) Лучше придумай мгновенный алгоритм консенсуса)
newbie
Activity: 19
Merit: 1
Очень интересная тема.  В свете появления квантового компьютера, задачей номер один является появление  новых алгоритмов. К примеру, у  нас в России физики из  квантового центра запустили квантовый блокчейн — инструмент для создания распределенной базы данных, в которой практически невозможно подделать записи. Их задачей было обезопасить классические алгоритмы от появления квантового компьютера. Схема была протестирована на городских оптоволоконных сетях (препринт). В блокчейне  и криптографии не очень разбираюсь , но хочу предложить автору свою нетрадиционную идею по усилению именно криптографической защиты. Пока написал автору лично чтобы не засорять тему.
copper member
Activity: 2254
Merit: 915
White Russian
С удовольствием прочитал тему, буду и дальше следить за развитием проекта, топикстартеру успехов, терпения, вдохновения и энтузиазма.
member
Activity: 202
Merit: 27
Atom foundation
15. Защита от копирования транзакции

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

В 12 пункте я писал о принципе работы атома - тут читать.

Соответственно у нас нет выходов, но есть каждый отдельный атом, который по сути является отдельной дробной монетой. Соответственно, если мы проводим транзакцию с одного счета другому, тогда указываем конкретные монеты с хешами этих монеты. Если транзакция скопирована недобросовестной нодой, то она не будет принята всей остальной системой, так как хеш в подписанной транзакции будет отличатся от текущего хеша монеты в системе.
full member
Activity: 322
Merit: 102
Quote
под биржой вы имеет ввиду возможность конвертации атома в другую крипту в самом функционале? или полноценную биржу?

В Stellare это выглядит как возможность выставить ордер на покупку или продажу с заданной ценой и заданой парой (любые активы которые присутствуют в Вашей сети), это там присутствует в самих транзакциях. Ну и к этому уже делается веб интерфейс превращающий эти функции в обычный DEX (Децентрализованная биржа)
member
Activity: 202
Merit: 27
Atom foundation
Думаю стоит где то на техническом ресурсе рассказать о проекте и попробовать подтянуть людей в команду, сам это круто, но не надежно, глаз мылится и зачастую пропускаются в коде очевидные ошибки, я думаю Вы найдете идейных ребят, которые поддержут Ваш проект

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

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

под биржой вы имеет ввиду возможность конвертации атома в другую крипту в самом функционале? или полноценную биржу?

Привет! Есть новости? Занимаешься еще разработкой?

привет, да занимаюсь. сейчас делаю асинхронное общение между тестовыми нодами. если нода падает, как будут вести себя другие ноды. плюс разрабатываю защиту от дублирования транзакции
member
Activity: 378
Merit: 30
♠☠♠
Привет! Есть новости? Занимаешься еще разработкой?
full member
Activity: 322
Merit: 102
Quote
1. пишу по фану, по этому команды нет.

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

Quote
2) биржа под вопросом большим, думаю для начала надо алгоритм дописать, проверить его валидность и создать ноды. там уже пилить по ситуации.

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

Quote
3. это будет новый алгоритм POH (Proof of Hash), который не будет использовать мощности для подтверждения валидности. pow все же будет использоваться в некоторых моментах не влияющих на проведение транзакций.
4. делаю не анархичную крипту, а просто крипту без подводных камней с простым и понятным принципом консенсуса, к которому может подключится любой без дорогого железа.

Это просто отлично!
member
Activity: 202
Merit: 27
Atom foundation
member
Activity: 378
Merit: 30
♠☠♠


Quote
АйБиЭм конечно жаль, пролетели ребята)

А что с ними не так?
Просто стеб
Pages:
Jump to: