Bitcoin Forum

Local => Альтернативные криптовалюты => Topic started by: lapitsky on April 28, 2018, 11:37:23 AM



Title: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: lapitsky on April 28, 2018, 11:37:23 AM

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

🚀 Цель: по фану, блокчейн ванлав, хочу написать и все :P
✌ Фишки крипты: рождаются по ходу, в целом изобретаю колесо и велосипед (алгоритм POH скоро рожу)
♻ Алгоритм консенсуса: гибрид POW (+ одна своя идея, чуть позже опишу ее - POH (https://bitcointalk.org/index.php?topic=3428149.msg40121768#msg40121768))
♻ Язык разработки: Python 3 (ZeroMQ, Redis)
GitHub (https://github.com/lapitskiy/atom) | 💬 Telegram канал (https://t.me/joinchat/FoP6qhK5cNUz7xb-xJGpqg)


1. Принцип работы шифрования и электронной подписи (https://bitcointalk.org/index.php?topic=3428149.msg35791140#msg35791140)
2. Пароль для кошелька (https://bitcointalk.org/index.php?topic=3428149.msg35826245#msg35826245)
3. Общение нод (https://bitcointalk.org/index.php?topic=3428149.msg35891207#msg35891207)
4. Общение p2p, пытаемся разобраться (https://bitcointalk.org/index.php?topic=3428149.msg35938915#msg35938915)
5. Сокеты, сокеты, они такие сокеты (https://bitcointalk.org/index.php?topic=3428149.msg36332547#msg36332547)
6. Консенсус (https://bitcointalk.org/index.php?topic=3428149.msg36368542#msg36368542)
7. ZeroMQ или сокеты на стероидах (https://bitcointalk.org/index.php?topic=3428149.msg37003207#msg37003207)
8. 3,14 (https://bitcointalk.org/index.php?topic=3428149.msg37765149#msg37765149)
9. Создание ноды и присоединение новой ноды (https://bitcointalk.org/index.php?topic=3428149.msg38444734#msg38444734)
10. Принцип добавления новой ноды и вектор нод (https://bitcointalk.org/index.php?topic=3428149.msg38655188#msg38655188)
11. Мемпул или из грязи в князи, из болота в озеро (https://bitcointalk.org/index.php?topic=3428149.msg39531258#msg39531258)
12. Принцип работы базы данных для хранения вашего счета с атомами (https://bitcointalk.org/index.php?topic=3428149.msg40728435#msg40728435)
13. Как транзакции будут попадать в мемпул конкретной ноды- POH_tx (https://bitcointalk.org/index.php?topic=3428149.msg41384329#msg41384329)
14. Асинхронное общение нод с помощью ZeroMQ - - Часть 1 (https://bitcointalk.org/index.php?topic=3428149.msg45888830#msg45888830)
15. Защита от копирования транзакции (https://bitcointalk.org/index.php?topic=3428149.msg47905351#msg47905351)
16. Асинхронное   общение   нод   с   помощью   ZeroMQ - Часть 2 (https://bitcointalk.org/index.php?topic=3428149.msg49382780#msg49382780)
17. База данных на Redis (https://bitcointalk.org/index.php?topic=3428149.msg50648107#msg50648107)
18. Входы-выходы или красота в простоте (https://bitcointalk.org/index.php?topic=3428149.msg52426703#msg52426703)





996. Варианты логотипа (https://bitcointalk.org/index.php?topic=3428149.msg45886802#msg45886802)
997. Почему название именно Атом? (https://bitcointalk.org/index.php?topic=3428149.msg39539087#msg39539087)
998. Отдельная ветка по консенсусу (https://bitcointalk.org/index.php?topic=3867866.0)
999. Ветка в Altcoin Discussion, только на Английском (https://bitcointalk.org/index.php?topic=4239319.msg38453525) (очень хочу в команду владеющего английским, для переводов постов - готов оплачивать фиатом или криптой)

Спасибо: SooEz4Me (https://bitcointalk.org/index.php?action=profile;u=1574054) за лого

Ищу атом ангелов:
- переводчиков в разные ветки bitcointalk (если вы знаете языки, кроме русского)
- для размещения у себя тестовой ноды (позже, сразу после mvc)
- баунти за рекламу
- кто может помочь создать и провести ico
- вести сайт


Title: Re: Atom - пишу свою крипту
Post by: alnogina on April 28, 2018, 12:04:33 PM
Ну давай жги. В идеале если начнешь с того, что расскажешь чем данная валюта лучше других, с какими целями делается и прочее важное для инвесторов!


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 28, 2018, 12:10:19 PM
1. принцип работы шифрования и электронной подписи
Первое, что я решил сделать это разобраться в принципе работы криптографии, создании публичного и приватного ключа.
Поломав голову и потратив кучу времени я разобрался в криптографии и понял принцип работы ecdsa. Собственно дальше стал писать код на python, который делал одну интересную и важную вещь, создавал:
приватный ключ, публичный, пароль и после чего сохранял это в файл

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

Code:
        
        generate_key = ecdsa.SigningKey.generate(curve=ecdsa.SECP256k1)
        public_key = generate_key.get_verifying_key() # clear key: <ecdsa.keys.SigningKey object at 0x06521A30>
        public_key = public_key.to_string().hex()
        private_key = binascii.hexlify(generate_key.to_string()).decode() #privat key: 374bc766d11a59a826249fc42f370cee0518e70925c96e73c1848716216d2f64

В данном случае используется  уже готовое решение https://github.com/warner/python-ecdsa (https://github.com/warner/python-ecdsa), поэтому можно быть спокойным за надежность создаваемых ключей.

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

Code:
    
    key = base58.b58encode(bytes.fromhex(key))
    ripemd160 = hashlib.new('ripemd160')
    ripemd160.update(hashlib.sha256(key.encode()).digest())
    key = base58.b58encode(ripemd160.digest())

После чего мы пишем в файл wallet.pem в формате "ключ:значение" наши данные (так же как в кошельке Etherium)

Code:
wallet_file_content = {
            "private_key": private_key,
            "public_key": public_key,            
            "publickey_adress": key}
    

        with open('wallet.pem', 'w') as out:
            for key, val in wallet_file_content.items():
                out.write('{}:{}\n'.format(key, val))

Конечно кода гораздо больше и он сложнее, это выжимка. Чуть позже выложу на github исходник Atom
upd (26/05/2018): Правильные ответы по криптографии: 2018 год (https://habr.com/company/globalsign/blog/353576/) - позже переведу свою крипту на NaCl (libsodium)
upd (07/06/2018): Полезная библиотека для понимания  (https://github.com/Steve132/pybitcointools) || Полезная библиотека для понимания 2 (https://github.com/mcdallas/cryptotools) - это все форки наборов инструментов написанных Виталиком Бутериным (https://github.com/vbuterin/pybitcointools)
upd (17/04/2019): Доступно о криптографии на эллиптических кривых (https://habr.com/ru/post/335906/)






Title: Re: Atom - пишу свою крипту
Post by: cryptoteam11 on April 28, 2018, 12:14:09 PM
Всем привет, пишу свою крипту на Python. Буду вести в этом топике свой блог о написании и развития своей крипты, надеюсь на жесткую критику, фидбек и сочувствующих, возможно даже поддержку.

в чём отличие твоей крипты от 100500 уже существующих?


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 28, 2018, 12:16:39 PM
Ну давай жги. В идеале если начнешь с того, что расскажешь чем данная валюта лучше других, с какими целями делается и прочее важное для инвесторов!

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


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 28, 2018, 12:23:24 PM
в чём отличие твоей крипты от 100500 уже существующих?

Я знаю, что количество криптовалют в мире перевалило за 1500 и моя концепция заключается не в борьбе с ними. Я просто фанат блокчейн и решил написать свою крипту, плюс бонусом есть пару очень крутых идей, которые я реализовываю в Atom. Если я сразу постараюсь их описать, будет ничего не понятно или вырвано из контекста. Постараюсь по мере ведения своего крипто-блога раскрывать эту тему  ;)


Title: Re: Atom - пишу свою крипту
Post by: Oygen on April 28, 2018, 12:53:00 PM
Ну давай жги. В идеале если начнешь с того, что расскажешь чем данная валюта лучше других, с какими целями делается и прочее важное для инвесторов!

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

Лучше цели ставить на самом начальном этае разработки - потому что править все в конце бывает очень и очень сложно...


Title: Re: Atom - пишу свою крипту
Post by: Albert Val on April 28, 2018, 05:02:03 PM
Молодец, ничего не добивается тот, кто ничего не делает. Старайся и не вешай руки, буду следить за твоим блогом здесь!


Title: Re: Atom - пишу свою крипту
Post by: halpi on April 28, 2018, 07:59:18 PM
Затея просто 4 fun? Без каких либо целей?


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 28, 2018, 08:00:49 PM
Лучше цели ставить на самом начальном этае разработки - потому что править все в конце бывает очень и очень сложно...

Я попробую описать свое виденье и свои идеи отдельным постом

Молодец, ничего не добивается тот, кто ничего не делает. Старайся и не вешай руки, буду следить за твоим блогом здесь!

Круто, огонь  ;D ::) С удовольствием буду писать)

Затея просто 4 fun? Без каких либо целей?

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


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 28, 2018, 09:00:34 PM
2. Пароль для кошелька
        
Мы создали кошелек и запароливаем его с помощью готового модуля Argon2, он победитель Password Hashing Competition, почитать можно тут - https://habrahabr.ru/post/281569/ (https://habrahabr.ru/post/281569/) и тут https://password-hashing.net/ (https://password-hashing.net/)
При создание кошелька, конечно же, наша цель максимальная безопасность и будем использовать свежие сведения по криптографии.

Code:
       
    
        ph = PasswordHasher()
        pwd_hash = ph.hash(pwd) # pwd это пароль, который вы вводите в форму на сайте
        return pwd_hash

Проверка пароля происходит тоже очень просто
Code:
    
def pass_verify(self,pwd,hash):
        ph = PasswordHasher()
        something = 'pass wrong'
        try:
            val = ph.verify(hash, pwd)
        except:
            return something
        return bool(val)

Можно сказать наш сырой кошелек готов и соответствует все требованиям безопасности:
- Имеет пару ключей (публичный и приватный)
- Файл запаролен (чтобы нельзя было просто открыть файл и посмотреть приватный ключ.)

Пример содержания уже рабочего тестового кошелька:

{'privatkey_clear': 'd54d52c4897e0f2fa0408f7fc69d5da917def650a5955011d0f120a053e5a8ca', 'publickey_clear': '06371e9feb37f0698cff4879c4776e6b9c43e71364d9e38fb0ab1146f7e450b38524275fedff05c fd6111fd549b339d1e64e52d30647e9e711afdc6dda308e15', 'publickey_encode': '8D2Pn8JnBwHwotEK9UagWK7YWKVFmZ9XuUzBDA7N9L8GJ1dU74cEJM2v3B7C3uJzeMLosjwG9mSpDdW 1dTEvj96', 'publickey_adress': '4SzkNXVjE9tFhBJWYKLPFfKcqxSY', 'pwd': '$argon2i$v=19$m=512,t=2,p=2$a5LXah3ZmIhFgVuA7fmzVA$s5HtF1u3+DBBtruSDPQ36w'}


upd 04.06.18: обновил ссылки на argon2


Title: Re: Atom - пишу свою крипту
Post by: OlgaZb on April 29, 2018, 10:29:34 AM
Всем привет, пишу свою крипту на Python. Буду вести в этом топике свой блог о написании и развития своей крипты, надеюсь на жесткую критику, фидбек и сочувствующих, возможно даже поддержку.


Как успехи ? я так поняла делаете гибрид ? от всех по немного берете. Хотелось бы все таки услышать что нового хотите добавить.


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 29, 2018, 01:25:49 PM
Как успехи ? я так поняла делаете гибрид ? от всех по немного берете. Хотелось бы все таки услышать что нового хотите добавить.

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


Title: Re: Atom - пишу свою крипту
Post by: Vtools on April 29, 2018, 01:44:02 PM
Всем привет, пишу свою крипту на Python. Буду вести в этом топике свой блог о написании и развития своей крипты, надеюсь на жесткую критику, фидбек и сочувствующих, возможно даже поддержку.

Молодец, поддерживаю тебя. Сам пишу крипту с сентября месяца. Главный плюс в написании крипты с нуля  - это возможность во всем досконально разобраться.
Буду поглядывать как у тебя будут идти дела, если будут открытые вопросы - буду подсказывать.



Title: Re: Atom - пишу свою крипту
Post by: imhoneer on April 29, 2018, 01:49:38 PM

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

Поддерживаю вашу идею, с нетерпением жду описание вашей криптовалюты.



Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 29, 2018, 02:03:40 PM


Молодец, поддерживаю тебя. Сам пишу крипту с сентября месяца. Главный плюс в написании крипты с нуля  - это возможность во всем досконально разобраться.
Буду поглядывать как у тебя будут идти дела, если будут открытые вопросы - буду подсказывать.



Насчет досконально, не то слово) Уровень понимания становится очень глубокий!
На чем ты кодишь? И какие у тебя идеи или цели?


Title: Re: Atom - пишу свою крипту
Post by: erickbond on April 29, 2018, 02:42:53 PM
попробуйте конечно, никто ведь не запрещает. если даже сейчас ничего не выйдет, то полуцчите бесценный опыт. я например вообще ни бум бум, как это всё делается


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 29, 2018, 02:53:35 PM
попробуйте конечно, никто ведь не запрещает. если даже сейчас ничего не выйдет, то полуцчите бесценный опыт. я например вообще ни бум бум, как это всё делается

Тогда этот мини блог будет одним из способов что-то понять параллельно со мной)


Title: Re: Atom - пишу свою крипту
Post by: Vtools on April 29, 2018, 04:45:25 PM
На чем ты кодишь? И какие у тебя идеи или цели?

Делаю прототип на Node.js. Потом по возможности будет переписано на С++
Цель - создание быстрого блокчейна (от 1000 TPS), который можно будет применять для написания ДАпп. По технологическим возможностям должно превосходить аналоги, такие как TON или EOS

Блокчейн будет состоять из уровней:
0-уровень не будет иметь криптовалюты, его цель складывать транзакции/сообщения последовательно в блоки. Т.е. это такой сетевой консенсус присвоения временных отметок времени сообщениям.
1-й уровень встроенные ДАпп, такие как криптовалюты, DNS, децентрализованный мессенджер, среда исполнения смарт-контрактов
2-й уровень пользовательские ДАпы




Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 29, 2018, 04:53:48 PM
Делаю прототип на Node.js. Потом по возможности будет переписано на С++
Цель - создание быстрого блокчейна (от 1000 TPS), который можно будет применять для написания ДАпп. По технологическим возможностям должно превосходить аналоги, такие как TON или EOS

Блокчейн будет состоять из уровней:
0-уровень не будет иметь криптовалюты, его цель складывать транзакции/сообщения последовательно в блоки. Т.е. это такой сетевой консенсус присвоения временных отметок времени сообщениям.
1-й уровень встроенные ДАпп, такие как криптовалюты, DNS, децентрализованный мессенджер, среда исполнения смарт-контрактов
2-й уровень пользовательские ДАпы




Очень круто  8) Если будет превосходить EOS и TON, будет бомба. Уровни, это как в segwit у биткоин?
что такое Дапп? (гугл молчит)


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 29, 2018, 05:10:19 PM
3. Общение нод
Сегодня стоит задача разобраться во взаимодействии нод для последующего общения и достижения консенсуа. Странно, что надо искать способ общения нод между собой, когда еще нет базы с атомами(монетами), но мы немного забежим вперед и потом вернемся к созданию базы с монетками.

Ноды могут общаться между собой через ajax или сокет, стал искать как же лучше. И оказалось, конечно же, сокеты.

Вебсокеты выбирают в двух случаях:
1. Когда нужна обратная связь с сервером(тоесть когда сервер может сам вам послать сообщение, а не только отвечать на входящие)
2. Когда важно иметь маленькие задержки между пересылками данных.


Собственно далеко ходить не надо было, стоило просто погуглить, как работает Bitcoin или Etherium. (Вот пример для Bitcoin - https://habr.com/post/319862/ (https://habr.com/post/319862/))

Поэтому начинаем кодить на питоне, чуть позже скину код общения двух нод.

Хорошая статья про сокеты - https://tproger.ru/translations/what-are-web-sockets/ (https://tproger.ru/translations/what-are-web-sockets/)


Title: Re: Atom - пишу свою крипту
Post by: bitcoin.clakr on April 29, 2018, 07:29:57 PM
как все сложно, что же я не программист. одно ясно, если валюта заработает, что в портфолио создателя можно будет поставить одну большую зеленую галку. Он будет ценен как специалист по созданию и сопровождению крипты, а это одна из перспективных профессий будущего.


Title: Re: Atom - пишу свою крипту
Post by: Vtools on April 29, 2018, 07:31:10 PM
Очень круто  8) Если будет превосходить EOS и TON, будет бомба. Уровни, это как в sigway у биткоин?
что такое Дапп? (гугл молчит)


1. Нет, уровни - это мое понятие. Это организация создания приложения. Уровень 0 - это ядро, т.е. самое сложное. Это уровень организации обмена информации. Остальные уровни - это прикладные части, когда данные уже есть на компьютере пользователя (в полной ноде), они прошли консенсус и надежны (прошли N-подтверждений блоков)
2. Нужно все слова искать с доп словом блокчейн, например вот ссылка: https://golos.io/ru--blokcheijn/@master-set/blokchein-chto-takoe-dapp-i-s-chem-ego-edyat


P.S.
Sigway  - это самокат, у битка от слов Segregated Witness





Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 29, 2018, 08:04:08 PM
как все сложно, что же я не программист. одно ясно, если валюта заработает, что в портфолио создателя можно будет поставить одну большую зеленую галку. Он будет ценен как специалист по созданию и сопровождению крипты, а это одна из перспективных профессий будущего.

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


Title: Re: Atom - пишу свою крипту
Post by: Tretyakovsky on April 29, 2018, 08:08:07 PM
интересно. будем следить и сочувствовать вместе со всеми. будет интересно если вы прикрутите к этому какой-либо работающий продукт


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 29, 2018, 08:10:47 PM
интересно. будем следить и сочувствовать вместе со всеми. будет интересно если вы прикрутите к этому какой-либо работающий продукт

например?


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 29, 2018, 08:35:06 PM

1. Нет, уровни - это мое понятие. Это организация создания приложения. Уровень 0 - это ядро, т.е. самое сложное. Это уровень организации обмена информации. Остальные уровни - это прикладные части, когда данные уже есть на компьютере пользователя (в полной ноде), они прошли консенсус и надежны (прошли N-подтверждений блоков)
2. Нужно все слова искать с доп словом блокчейн, например вот ссылка: https://golos.io/ru--blokcheijn/@master-set/blokchein-chto-takoe-dapp-i-s-chem-ego-edyat


P.S.
Sigway  - это самокат, у битка от слов Segregated Witness



Про уровни немного понял, но конечно не до конца. За дапп, сенк, до блокчейна не допер, но криптовалюта вводил  ;) Про сигвит, да, на автомате написал, на слуху только было слово. Самокат тоже хорош, я на нем кстати катался, классная штука


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 30, 2018, 08:58:53 AM
4. Общение p2p, пытаемся разобраться

Оказалось все сложнее, до сих пор разбираюсь в сокетах и как правильно сделать общение p2p. Нашел модули, которые подходят по эти задачи, один из них это p2p для etherium
https://github.com/ethereum/pydevp2p (https://github.com/ethereum/pydevp2p)
https://github.com/namuyan/p2p-python (https://github.com/namuyan/p2p-python)
http://v0-6.p2p.today/python/tutorial/mesh.html (http://v0-6.p2p.today/python/tutorial/mesh.html)

Так же нашел хороший канал про сети, чтобы полностью разобраться в сокетах и написать вдумчивый код https://www.youtube.com/channel/UC5gufuYHPSsJA-jul-iwyXA (https://www.youtube.com/channel/UC5gufuYHPSsJA-jul-iwyXA)


Title: Re: Atom - пишу свою крипту
Post by: SamDummy on April 30, 2018, 10:07:49 AM
вот это правильно! даже если ты в конце концов сделаешь велосипед, это будет твой велосипед. а самое главное ты будешь понимать до конца как все устроено и как все это работает.
со временем это даст свои плоды.


Title: Re: Atom - пишу свою крипту
Post by: Chigorini on April 30, 2018, 12:32:52 PM
Хорошее начало блога!Добавлю в закладки и буду частенько заглядывать чтобы смотреть как автор реализует свои идеи.Очень хорошее и позитивное стремление постичь не самую лёгкую для каждого крипточеловека сферу.Удачи Вам и ждём от Вас новые результаты!


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on April 30, 2018, 02:21:50 PM
вот это правильно! даже если ты в конце концов сделаешь велосипед, это будет твой велосипед. а самое главное ты будешь понимать до конца как все устроено и как все это работает.
со временем это даст свои плоды.

Именно, такие цели и преследую и конечно получаю от этого удовольствие)

Хорошее начало блога!Добавлю в закладки и буду частенько заглядывать чтобы смотреть как автор реализует свои идеи.Очень хорошее и позитивное стремление постичь не самую лёгкую для каждого крипточеловека сферу.Удачи Вам и ждём от Вас новые результаты!

Сфера да, не легкая, особенно когда начинаешь углубляться, крыша начинает хлопать в ладоши  :o


Title: Re: Atom - пишу свою крипту
Post by: BestBee on April 30, 2018, 03:30:19 PM
Я за, дерзай-любые начинания должны поощряться, тем более тема хорошая, а новые валюты как выходили, так и будут продолжать выходить!


Title: Re: Atom - пишу свою крипту
Post by: StoryX on May 02, 2018, 08:32:28 AM
Что-то автор ушёл в себя !А хотелось чтобы его блог был живым и насыщенным различными вбросами инфы по поводу написания своей крипты. Давайте все дружно попросим его в этом ,если же у него творческий коллапс - то готов ему посодействовать в плане советов и т.д.


Title: Re: Atom - пишу свою крипту
Post by: imhoneer on May 03, 2018, 07:38:20 AM
Что-то автор ушёл в себя !А хотелось чтобы его блог был живым и насыщенным различными вбросами инфы по поводу написания своей крипты. Давайте все дружно попросим его в этом ,если же у него творческий коллапс - то готов ему посодействовать в плане советов и т.д.

Может автор подумал, что не потянет такой проект в одиночку.



Title: Re: Atom - пишу свою крипту
Post by: BelarusToken on May 03, 2018, 07:43:20 AM
Что-то автор ушёл в себя !А хотелось чтобы его блог был живым и насыщенным различными вбросами инфы по поводу написания своей крипты. Давайте все дружно попросим его в этом ,если же у него творческий коллапс - то готов ему посодействовать в плане советов и т.д.

Может автор подумал, что не потянет такой проект в одиночку.




надо поддержать! бывает..


Title: Re: Atom - пишу свою крипту
Post by: BelarusToken on May 03, 2018, 07:44:23 AM
Автор, напиши просто как дела, с какими трудностями столкнулся.


Title: Re: Atom - пишу свою крипту
Post by: naim.celik on May 03, 2018, 07:48:45 AM
Всем привет, пишу свою крипту на Python. Буду вести в этом топике свой блог о написании и развития своей крипты, надеюсь на жесткую критику, фидбек и сочувствующих, возможно даже поддержку.


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


Title: Re: Atom - пишу свою крипту
Post by: blo8i on May 03, 2018, 10:03:44 AM
буду следить с интересом, чем больше разных хотя бы на пару строк криптовалют будет написано тем быстрее родиться нормальный стабильный продукт интересный всем


Title: Re: Atom - пишу свою крипту
Post by: StoryX on May 03, 2018, 10:22:39 AM
Что-то автор ушёл в себя !А хотелось чтобы его блог был живым и насыщенным различными вбросами инфы по поводу написания своей крипты. Давайте все дружно попросим его в этом ,если же у него творческий коллапс - то готов ему посодействовать в плане советов и т.д.

Может автор подумал, что не потянет такой проект в одиночку.



Навряд ли он думает что не потянет.Безусловно одному тяжелее.Но зато когда человек остаётся один на один со своими трудностями ,у него могут рождаться даже самые гениальные и не предсказуемые мысли и идеи.Мы все должны поддерживать таких мыслителей ,ведь по сути они являются людьми творческими и пытающиеся создать что-то новое и прорывное.К сожалению многие привыкли дорабатывать и устранять ошибки и уязвимости в уже сформированных данных ,привнося в них свою частицу.По сути всё уже изучено ,но вот использовать - это наша задача!
Ждём продолжения блога и предлагаем новые советы ;)


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 04, 2018, 08:41:26 PM
Что-то автор ушёл в себя !А хотелось чтобы его блог был живым и насыщенным различными вбросами инфы по поводу написания своей крипты. Давайте все дружно попросим его в этом ,если же у него творческий коллапс - то готов ему посодействовать в плане советов и т.д.

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

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

 ;)

Может автор подумал, что не потянет такой проект в одиночку.

Главное бесценный опыт)

Автор, напиши просто как дела, с какими трудностями столкнулся.

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

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

Спасибо, обратная связь это большой плюс

Навряд ли он думает что не потянет.Безусловно одному тяжелее.Но зато когда человек остаётся один на один со своими трудностями ,у него могут рождаться даже самые гениальные и не предсказуемые мысли и идеи.Мы все должны поддерживать таких мыслителей ,ведь по сути они являются людьми творческими и пытающиеся создать что-то новое и прорывное.К сожалению многие привыкли дорабатывать и устранять ошибки и уязвимости в уже сформированных данных ,привнося в них свою частицу.По сути всё уже изучено ,но вот использовать - это наша задача!
Ждём продолжения блога и предлагаем новые советы ;)
Чертовски хорошо сказал, и даже поддержал, спасибо!


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 04, 2018, 08:54:38 PM
5. Сокеты, сокеты, они такие сокеты

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

Что оказалось полезно, для цельного понимания
http://micromind.me/posts/writing-python-web-server-part-1 (http://micromind.me/posts/writing-python-web-server-part-1)
https://www.youtube.com/watch?v=_vAjHdh92YU (https://www.youtube.com/watch?v=_vAjHdh92YU)

По итогу, в сухом остатке, код на питоне выглядит так:
Code:
#!/user/env python3
# -*- coding: utf-8 -*-

import socket
import time
import threading

#
# Ждем сообщения от ноды 1264
#
def server():
    # слушаем и отправляем данные
    s = socket.socket(socket.AF_INET,      # задамем семейство протоколов 'Интернет' (INET)
                          socket.SOCK_STREAM,  # задаем тип передачи данных 'потоковый' (TCP)
                          proto=0)
    host = socket.gethostname()
    print(host)
    port = 1264
    s.bind((host, port))

    s.listen(5)


    while True:
        c, addr = s.accept()
        c.send(b'Answer from node 1, adr: ' + str(addr).encode())
        while True:
            # Пока клиент не отключился, читаем передаваемые
            # им данные и отправляем их обратно
            data = c.recv(1024)
            if not data:
                # Клиент отключился
                break
            else:
                print(data.decode())

#
# Отправляем сообщения ноде на 1265 порту
#
def client():
    while True:
        s_get = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        host = socket.gethostname()
        port = 1265
        while True:
            try:
                s_get.connect((host, port))
                break
            except ConnectionRefusedError:
                time.sleep(10)
                print ('Try connect')

        s_get.sendall(b'Msg from node 1')
        data = s_get.recv(1024)
        s_get.close()
        print('Received', repr(data.decode()))
        time.sleep(10)


if __name__ == '__main__':
    my_thread_server = threading.Thread(target=server, args=())
    my_thread_client = threading.Thread(target=client, args=())
    my_thread_server.start()
    my_thread_client.start()

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


Title: Re: Atom - пишу свою крипту
Post by: BelarusToken on May 04, 2018, 09:09:04 PM
с возвращением, бро! Пожалуй самая интересная тема на БТТ, лично для меня. Продолжай в том же духе, успехов!


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 05, 2018, 10:14:56 AM
6. Консенсус

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

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

Пока займусь первым и вторым пунктом, а именно достижения консенсуса в номере следующей транзакции


с возвращением, бро! Пожалуй самая интересная тема на БТТ, лично для меня. Продолжай в том же духе, успехов!

Спасибо, бро



Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 11, 2018, 08:05:37 PM
7. ZeroMQ или сокеты на стероидах
1. Вобщем до сих пор не написал и кусочка кода, так как не могу понять, как лучше заставить общаться ноды p2p. Изучив тонны решений, пришел к выводу, что стоит использовать ZeroMQ, так как он имеет готовое решение для python в виде модуля pyZMQ.
http://zguide.zeromq.org/py:all (http://zguide.zeromq.org/py:all) - Параллельно стал переводить эту статью, так как руководства по zeromq на русском нет, по крайней мере толкового. Юмор создателей этого сокета на стероидах , зашкаливает, так что проект мне по духу и я рад что он станет частью атома.
2. параллельно разрабатываю свой алгоритм консенсуса, который уже вырисовывается в что-то похожее на правду, чуть позже опишу принцип его работы, так как сейчас он сырой.
3. к проекту Атом, присоединился дизайнер и у нас теперь есть логотип, пока все по фану, так и логотип будет по фану https://psv4.userapi.com/c848016/u63431/docs/d3/880bd34f7d0b/asdasdasd.png (https://psv4.userapi.com/c848016/u63431/docs/d3/880bd34f7d0b/asdasdasd.png)
первый кто углядит смысл логотипа, получит потом атомов  :D








Title: Re: Atom - пишу свою крипту
Post by: imhoneer on May 12, 2018, 11:16:27 AM
Ссылка на логотип не рабочая.


Title: Re: Atom - пишу свою крипту
Post by: rumkin on May 12, 2018, 02:07:13 PM
Используйте веб-сокеты. Это позволит обеспечить совместимость с наибольшим количеством программ/устройств. В отличие от ZeroMQ WebSocket уже встроен в браузеры, что позволит создать коммуникацию между нодами и кошельками без посредников. Это сильно облегчит задачу разработчикам по интеграции вашего продукта: много кто знает как работать с ws, а с zeromq - работали несколько тысяч разработчиков.

Для Python есть библиотека websockets (https://websockets.readthedocs.io/en/stable/). Она поддерживается в актуальном состоянии. Если не можете разобраться – stackoverflow в помощь.

Удачи.


Title: Re: Atom - пишу свою крипту
Post by: swetkalukashova on May 12, 2018, 06:04:49 PM
Полезный топик, хоть идеи и нету но можно паралельно вашим описаниемлюдям которые вообще ничего не понимают начать развиваться, так сказать краткий курс для начинающих)


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 12, 2018, 08:11:52 PM
Ссылка на логотип не рабочая.

починил, должно работать

Используйте веб-сокеты. Это позволит обеспечить совместимость с наибольшим количеством программ/устройств. В отличие от ZeroMQ WebSocket уже встроен в браузеры, что позволит создать коммуникацию между нодами и кошельками без посредников. Это сильно облегчит задачу разработчикам по интеграции вашего продукта: много кто знает как работать с ws, а с zeromq - работали несколько тысяч разработчиков.

Для Python есть библиотека websockets (https://websockets.readthedocs.io/en/stable/). Она поддерживается в актуальном состоянии. Если не можете разобраться – stackoverflow в помощь.

Удачи.
Да, я смотрел в сторону websocket и как я понял, zeroMQ решает сразу много проблем без сложного кода. очереди, потоки итд
SockJS позволяет принимать сообщения от ZeroMQ сервера. Я буду использовать его, в таком случае не будет проблем с websocket?

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

в целом да, именно так) идея пока потихоньку вырисовывается, додумываю консенсус, некий гебрид POW для малых групп нод.


Title: Re: Atom - пишу свою крипту
Post by: rumkin on May 12, 2018, 08:40:51 PM
Да, я смотрел в сторону websocket и как я понял, zeroMQ решает сразу много проблем без сложного кода. очереди, потоки итд
SockJS позволяет принимать сообщения от ZeroMQ сервера. Я буду использовать его, в таком случае не будет проблем с websocket?

Не должно. В принципе ZMQ надежная и проверенная в работе технология, поэтому с ней проблем не должно возникнуть. 


Title: Re: Atom - пишу свою крипту
Post by: d1ma199696 on May 14, 2018, 05:09:31 AM
Что ж, желаю успехов в твоём начинании.


Title: Re: Atom - пишу свою крипту
Post by: kirillkurak on May 14, 2018, 08:33:46 AM
воу.успехов тебе друг.буду следить за этой веткой


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 15, 2018, 11:06:51 PM
Да, я смотрел в сторону websocket и как я понял, zeroMQ решает сразу много проблем без сложного кода. очереди, потоки итд
SockJS позволяет принимать сообщения от ZeroMQ сервера. Я буду использовать его, в таком случае не будет проблем с websocket?

Не должно. В принципе ZMQ надежная и проверенная в работе технология, поэтому с ней проблем не должно возникнуть. 

Ок, изучаю эту тему, не просто разобраться, на русском очень мало информации, точнее практически нет.

Что ж, желаю успехов в твоём начинании.

воу.успехов тебе друг.буду следить за этой веткой

 ;) спасибо


Title: Re: Atom - пишу свою крипту
Post by: krasik on May 16, 2018, 03:08:38 PM
Хорошая идея,я вас поддерживаю.Сам пишу крипту,как по мне,здесь самое главное разобраться что к чему.


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 16, 2018, 03:10:27 PM
Хорошая идея,я вас поддерживаю.Сам пишу крипту,как по мне,здесь самое главное разобраться что к чему.

На чем пишите? Какие инновации собираетесь вносить в свою крипту?


Title: Re: Atom - пишу свою крипту
Post by: Mafik777 on May 16, 2018, 05:07:27 PM
Интересный топик, будут следить за твоими успехами, молодец и удачи тебе.


Title: Re: Atom - пишу свою крипту
Post by: bugor3113 on May 16, 2018, 05:57:25 PM
КрасавчеГГГ ;) ;) ;) Больше половины не понимаю из того что пишешь, но уверен что у тебя все получится))) Про идею не парься, не думаю что Сатоши занимаясь битком ставил себе какие то конкретные цели, да и много прорывов делалось сначала на коленке для себя... Т.ч. к хорошему продукту идея сама прикрутится по дороге)))

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

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


Title: Re: Atom - пишу свою крипту
Post by: nrgmanuk on May 16, 2018, 06:28:45 PM
Вот это плюс,я тоже разрабатываю,но пока только на старте.Желаю удачи,буду следить за результатами.


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 16, 2018, 09:19:20 PM
Интересный топик, будут следить за твоими успехами, молодец и удачи тебе.

 ::)

КрасавчеГГГ ;) ;) ;) Больше половины не понимаю из того что пишешь, но уверен что у тебя все получится))) Про идею не парься, не думаю что Сатоши занимаясь битком ставил себе какие то конкретные цели, да и много прорывов делалось сначала на коленке для себя... Т.ч. к хорошему продукту идея сама прикрутится по дороге)))

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

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

Привет, спасибо за поддержку!  :)
Создаю свою идею, без какой-либо цели, иллюзий не питаю. Поэтому waves пока не рассматриваю и если надумаю выпускать токены под краудфандинг (как вариант), то буду изучать waves, как один из способов.  ;)
А в целом, чем дальше в лес, тем больше становится понятна технология блокчейн, а это уже очень большой профит.

Вот это плюс,я тоже разрабатываю,но пока только на старте.Желаю удачи,буду следить за результатами.

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


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 16, 2018, 09:37:03 PM
Завел отдельную ветку по вопросу консенсуса
https://bitcointalk.org/index.php?topic=3867866.0 (https://bitcointalk.org/index.php?topic=3867866.0)


Title: Re: Atom - пишу свою крипту
Post by: Cora_ED on May 17, 2018, 04:23:41 AM
Интересный топик, будут следить за твоими успехами, молодец и удачи тебе.
Присоединяюсь. Я тут теперь  :)


Title: Re: Atom - пишу свою крипту
Post by: KevlarIt on May 17, 2018, 07:51:10 PM
Молодец, ничего не добивается тот, кто ничего не делает.
Полностью согласен. Послежу за этим топиком, надеюсь, что автор не бросит эту затею в ближайшие неделю - две. Желаю удачи)


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 19, 2018, 08:30:14 AM
8. 3,14

Блог мертв?
Конечно, как всегда думаешь, что самый умный, сейчас все тут налепишь и блокчейн заработает.
Хрен там был. Первый мой затык был, когда я разбирался с эллиптическими кривыми и тогда уже немного поплыли мозги, сейчас они поплыли, когда стал разбираться в консенсусе и общении нод между собой, потом еще добавился mempool и вобще крыша поехала. Но это все фигня, в целом,  я полон энтузиазма и атом ванлав  ;) Пока не могу ничего накодить, даже строчки, потому что пока не понимаю, в каком порядке кодить и с какого края начать. Слишком сложная архитектура вырисовывается, рисую изо дня в день структуру и понимаю, что опыта в сетевом программировании очень мало..


Title: Re: Atom - пишу свою крипту
Post by: Vtools on May 19, 2018, 11:01:15 AM
8. 3,14

Блог мертв?
Конечно, как всегда думаешь, что самый умный, сейчас все тут налепишь и блокчейн заработает.
Хрен там был. Первый мой затык был, когда я разбирался с эллиптическими кривыми и тогда уже немного поплыли мозги, сейчас они поплыли, когда стал разбираться в консенсусе и общении нод между собой, потом еще добавился mempool и вобще крыша поехала. Но это все фигня, в целом,  я полон энтузиазма и атом ванлав  ;) Пока не могу ничего накодить, даже строчки, потому что пока не понимаю, в каком порядке кодить и с какого края начать. Слишком сложная архитектура вырисовывается, рисую изо дня в день структуру и понимаю, что опыта в сетевом программировании очень мало..

Может стоит присоединиться к более успешному проекту.  У меня например все ок получается, транзакции свыше 1000 tps. Совсем скоро, после написания документации по архитектуре, буду выкладывать в общий доступ и набирать команду. Присоединишься?


Title: Re: Atom - пишу свою крипту
Post by: lapitsky on May 19, 2018, 11:19:22 AM
Может стоит присоединиться к более успешному проекту.  У меня например все ок получается, транзакции свыше 1000 tps. Совсем скоро, после написания документации по архитектуре, буду выкладывать в общий доступ и набирать команду. Присоединишься?

У меня zeroMQ выдает легко больше 1000 tps, проблема не конкретно с передачей данных, а с самим планом разработки, потому что если я сейчас начну не по правильному пути разрабатывать, все это закончится лютыми костылями. Я вроде уже определился, начну кодить дальше на днях.

Присоединишься?

Я за идею. Надо смотреть что за проект, если он будем мне по душе, тогда конечно готов участвовать :)


Title: Re: Ⓐ Atom - пишу свою крипту
Post by: SooEz4Me on May 19, 2018, 01:04:38 PM
https://a.radikal.ru/a16/1805/b7/33513c7678b4.png
Нарисовал за 20 минут, думаю замотивирует


Title: Re: Ⓐ Atom - пишу свою крипту
Post by: Vtools on May 19, 2018, 01:23:54 PM
Нарисовал за 20 минут, думаю замотивирует[/center]
Замечательно. Может договоримся и вы для моего проекта нарисуете?


Title: Re: Ⓐ Atom - пишу свою крипту
Post by: SooEz4Me on May 19, 2018, 03:03:49 PM
Нарисовал за 20 минут, думаю замотивирует[/center]
Замечательно. Может договоримся и вы для моего проекта нарисуете?



Contact us
████████████████████████
█▌                                        ▐█
██▌                                    ▐██
█  █▌                                ▐█  █
█    █▌                            ▐█    █
█      ██▌                    ▐██      █
█          ███▌        ▐███          █
█        ██    ██████     ██       █
█    ██            ██            ██    █
███                                    ███
█                                            █
████████████████████████

Telegram or PM (https://t.me/aidaraskarov)


Title: Re: Ⓐ Atom - пишу свою крипту
Post by: lapitsky on May 20, 2018, 06:59:25 PM
https://a.radikal.ru/a16/1805/b7/33513c7678b4.png
Нарисовал за 20 минут, думаю замотивирует

Спасибо! В команду атома присоединился дизайнер, пока он не нарисовал ничего, поэтому буду использовать ваш логотип! спасибо еще раз!


Title: Re: Ⓐ Atom - пишу свою крипту
Post by: Tretyakovsky on May 20, 2018, 11:44:09 PM
https://a.radikal.ru/a16/1805/b7/33513c7678b4.png
Нарисовал за 20 минут, думаю замотивирует

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


Title: Re: Ⓐ Atom - пишу свою крипту
Post by: E_3fff on May 22, 2018, 10:47:14 PM
развивайся и не опускай руки, будет интересно почитать о процессе реализации. относительно целей: ставь конкретные ориентиры, чтобы не плавать в безграничном океане. Успехов тебе!


Title: Re: Ⓐ Atom - пишу свою крипту
Post by: lapitsky on May 24, 2018, 10:02:11 PM
развивайся и не опускай руки, будет интересно почитать о процессе реализации. относительно целей: ставь конкретные ориентиры, чтобы не плавать в безграничном океане. Успехов тебе!

Знаю по себе, пока есть внутренняя мотивация, я не опущу руки, в данный момент мотивация зашкаливает!  8)

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

людей здесь очень много и само по себе комюните очень крутое  ;)



Title: Re: Ⓐ Atom - пишу свою крипту
Post by: lapitsky on May 24, 2018, 10:13:40 PM
9. Создание ноды и присоединение новой ноды


Замучался тестировать передачу данных между компьютерами. Создал дома на основе wifi простую локальную сеть с двумя ip адресами и открыл порты 5555, через которые будут работать ноды.

Сервер(рабочая нода или мастернода) слушает все что прилетает в порт 5555

Code:
from __future__ import print_function

from random import randint
import time
import zmq
import sys
from cl_node import *

node = Node()
context = zmq.Context(1)
server = context.socket(zmq.REP)
server.bind("tcp://*:5555")

cycles = 0
while True:
    request_clear = server.recv()
    request = eval(request_clear.decode())
    if 'wtf' in request:
        print('Work on new transaction')
        print(cycles, ": Normal request (%s)" % str(request))

    if 'addmeplz' in request:
        print('Try add new node')
        node.add_new_node(request['adr'],request['ip'])
        print(cycles, ": Normal request (%s)" % str(request))


    cycles += 1
    # Simulate various problems, after a few cycles
    if cycles > 1000 and randint(0, 1000) == 0:
        print("I: Simulating a crash")
        break
    elif cycles > 1000 and randint(0, 100) == 0:
        print("I: Simulating CPU overload")
        time.sleep(2)

    #time.sleep(1) # Do some heavy work
    send_hash = node.thishash(request_clear).encode()
    print(send_hash)
    server.send(send_hash)

server.close()
context.term()

В данном коде мы с помощью zeroMQ получаем сообщение на порт, и если в сообщении есть код - addmeplz, тогда будем добавлять новую ноду в список тех нод, которые отвечают за консенсус.

А это клиент, который стучится в сеть, чтобы вступить в ряды нод:

Code:
    def try_connect_to_network(self,adr,ipport,base_node):
        context = zmq.Context(1)
        client = context.socket(zmq.REQ)
        SERVER_ENDPOINT = 'tcp://'+base_node
        client.connect(SERVER_ENDPOINT)
        poll = zmq.Poller()
        poll.register(client, zmq.POLLIN)
        REQUEST_TIMEOUT = 2500
        REQUEST_RETRIES = 3
        retries_left = REQUEST_RETRIES

        while retries_left:
            data_send = {'addmeplz': '1','adr': adr, 'ip': ipport}
            data_send = str(data_send).encode()
            request = data_send
            print("I: Пересылаю (%s)" % request)
            client.send(request)

            expect_reply = True
            while expect_reply:
                socks = dict(poll.poll(REQUEST_TIMEOUT))
                if socks.get(client) == zmq.POLLIN:
                    reply = client.recv()
                    print(reply)
                    print(self.thishash(request))
                    if not reply:
                        break
                    if reply.decode() == self.thishash(request):
                        print("I: Server replied OK (%s)" % reply)
                        retries_left = 0
                        data = 'server get you request'
                        expect_reply = False
                    else:
                        print("E: Malformed reply from server: %s" % reply)

                else:
                    print("W: No response from server, retrying…")
                    # Socket is confused. Close and remove it.
                    client.setsockopt(zmq.LINGER, 0)
                    client.close()
                    poll.unregister(client)
                    retries_left -= 1
                    if retries_left == 0:
                        print("E: Server seems to be offline, abandoning")
                        break
                    print("I: Reconnecting and resending (%s)" % request)
                    # Create new connection
                    client = context.socket(zmq.REQ)
                    client.connect(SERVER_ENDPOINT)
                    poll.register(client, zmq.POLLIN)
                    client.send(request)
        return str(data)

В данном случае, это метод, который получает адрес (публичный адрес ноды), ip и port будущей ноды(ip должен быть статичным), и base_node, это адрес, куда мы стучимся.

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on May 26, 2018, 11:25:40 PM
10. Принцип добавления новой ноды и вектор нод.
Ссылки:
- Часть кода уже показана в предыдущем посте, тут он обновлен и добавлен новый.  (https://bitcointalk.org/index.php?topic=3428149.msg38444734#msg38444734)
- Видео для понимания, что такое векторные часы (https://www.youtube.com/watch?v=R2GHu0CFO28&t=1998s)
- Создал телеграмм канал, ⚡присоединяйтесь⚡ (https://t.me/joinchat/FoP6qhK5cNUz7xb-xJGpqg)


Создается в первой ноде генезис векторный файл node_vector
который содержит информацию о нодах. Что значит векторный? Ниже опишу

Code:
    directory = 'chain/config/'
    filename = 'node_vector.atm'
    if not os.path.exists(directory):
        os.makedirs(directory)
    # make genesis node vector number
    atom_vector_data[1] = {
        'node': 1,
        'adress': node_adr,
        'ipport': '192.168.0.100',
        'active': True,
        }
    atom_vector_data[2] = {
        'next_key' : randint(1, 1000000)
    }
    node.write_dict_file(atom_vector_data,directory,filename)  # метод который записывает dict в файл в pickle формате

Тут мы создаем папку config в которой создаем файл node_vector.atm, в котором будут хранится данные в формате:

NODE 1 {номер ноды 1, ip ноды 1, публичный адрес ноды1;номер ноды 2, ip ноды 2, публичный адрес ноды2;номер ноды 3, ip ноды 3, публичный адрес ноды3;время обновления}
NODE 2 {номер ноды 1, ip ноды 1, публичный адрес ноды1;номер ноды 2, ip ноды 2, публичный адрес ноды2;номер ноды 3, ip ноды 3, публичный адрес ноды3;время обновления}
итд

Каждая нода когда будет соединяться с другой, будет получать вектор ее данных и отправлять свой. Если какие-то данные будут отличаться от текущих, они будут обновляться. Вектор нод считается валидным, когда у более 51% нод одинаковый вектор.

Следующая запись в векторе нод имеет только одну запись {next_key : randint(1, 1000000)}, тоесть переменную со случайным числом от 1 до 1000000.  
Делается это для того, чтобы когда новая нода захочет присоединиться, она запрашивает векторный файл, получает последнее значение next_key, и нода отправляет свои данные на присоединение, и содержит в этих данных next_key и nonce, который  создает 00 в начале хеша от этих данных.
Зачем это? Защита от подключения огромного количества левых или виртуальных нод. чтобы присоединиться новой ноде нужно сделать простой pow. если pow не подходит, другие ноды отвергают ее.  Чем больше будет нод в системе, тем больше сложность pow.

Запрос через панель ноды в браузере

Code:
@app.route('/zapros', methods=['GET', 'POST'])
def zapros():
    # make geniesis block
    zapros_adr = request.args.get('zapros_adr', 0, type=str)
    base_node = request.args.get('base_node', 0, type=str)
    ipport = request.args.get('ipport', 0, type=str)
    result = node.try_connect_to_network(zapros_adr,ipport,base_node)
    return jsonify(result=result)
Используется flask, забираем данные с frontend через ajax (с сайта получаем данные)

Метод try_connect_to_network соединяется с нодой указаной в base_node

Code:
 def try_connect_to_network(self,adr,ipport,base_node):
        context = zmq.Context(1)
        client = context.socket(zmq.REQ)
        SERVER_ENDPOINT = 'tcp://'+base_node
        client.connect(SERVER_ENDPOINT)
        poll = zmq.Poller()
        poll.register(client, zmq.POLLIN)
        REQUEST_TIMEOUT = 2500
        REQUEST_RETRIES = 3
        retries_left = REQUEST_RETRIES

        while retries_left:
            data_send = {'addmeplz': '1','adr': adr, 'ip': ipport}
            data_send = str(data_send).encode()
            request = data_send
            print("I: Пересылаю (%s)" % request)
            client.send(request)
            data = ''
            expect_reply = True
            while expect_reply:
                socks = dict(poll.poll(REQUEST_TIMEOUT))
                if socks.get(client) == zmq.POLLIN:
                    reply = client.recv()
                    reply = eval(reply.decode())
                    print(reply['send_hash'])
                    print(self.thishash(request))
                    if not reply:
                        data = 'break, not reply recive'
                        break
                    if reply['send_hash'].decode() == self.thishash(request):
                        print("I: Server replied (%s)" % reply)
                        retries_left = 0
                        data = 'answer: ' + reply['msg']
                        expect_reply = False
                    else:
                        print("E: Malformed reply from server: %s" % reply)

                else:
                    data = 'no response'
                    print("W: No response from server, retrying…")
                    # Socket is confused. Close and remove it.
                    client.setsockopt(zmq.LINGER, 0)
                    client.close()
                    poll.unregister(client)
                    retries_left -= 1
                    if retries_left == 0:
                        print("E: Server seems to be offline, abandoning")
                        break
                    print("I: Reconnecting and resending (%s)" % request)
                    # Create new connection
                    client = context.socket(zmq.REQ)
                    client.connect(SERVER_ENDPOINT)
                    poll.register(client, zmq.POLLIN)
                    client.send(request)
        return str(data)

метод отправляет словарь (dict) data_send = {'addmeplz': '1','adr': adr, 'ip': ipport}  рабочей ноде, и получает обратно ответ в виде хеша, который проверяется хешированием отправленной информацией
if reply['send_hash'].decode() == self.thishash(request), если хеши совпадают, значит данные получены верно, можно обрабатывать их.

Рабочая нода(сервер), который получает данные, обрабатывает их:
Code:
context = zmq.Context(1)
server = context.socket(zmq.REP)
server.bind("tcp://*:5555")

cycles = 0
while True:
    request_clear = server.recv()
    request = eval(request_clear.decode())
    result_print = 'none'
    if 'addmeplz' in request:
        result = node.add_new_node(request['adr'],request['ip'])
        result_print = result
    send_hash = node.thishash(request_clear).encode()
    send_rep = {
            'send_hash' : send_hash,
            'msg': result
        }
    print(result_print)
    print(str(send_rep).encode())
    server.send(str(send_rep).encode())

Рабочая нода получает данные, проверяет что за сообщение, и запускает метод add_new_node

Code:
    def add_new_node(self,adr,ipport):
        node_vector = self.read_vector_file()  # читай файл
        for key, value in node_vector.items():
            if adr in node_vector[key].values():
                return 'This adr has in vector file, not add'
        dlina = len(node_vector)
        node_vector[dlina+1] = {
            'node': dlina+1,
            'adress': adr,
            'ipport': ipport,
            'active': False
        }
        self.write_dict_file(node_vector,'chain/config/','node_vector.atm')  # обновляем файл
        return 'Add in global vector file'

Тут реализовано добавление новых данных в вектор файл. Пока еще не реализован алгоритм pow для этого файла.

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: bugor3113 on May 27, 2018, 09:01:15 PM
10. Принцип добавления новой ноды и вектор нод.
Ссылки:
- Часть кода уже показана в предыдущем посте, тут он обновлен и добавлен новый.  (https://bitcointalk.org/index.php?topic=3428149.msg38444734#msg38444734)
- Видео для понимания, что такое векторные часы (https://www.youtube.com/watch?v=R2GHu0CFO28&t=1998s)
- Создал телеграмм канал, ⚡присоединяйтесь⚡ (https://t.me/joinchat/FoP6qhK5cNUz7xb-xJGpqg)


Создается в первой ноде генезис векторный файл node_vector
который содержит информацию о нодах. Что значит векторный? Ниже опишу

Code:
    directory = 'chain/config/'
    filename = 'node_vector.atm'
    if not os.path.exists(directory):
        os.makedirs(directory)
    # make genesis node vector number
    atom_vector_data[1] = {
        'node': 1,
        'adress': node_adr,
        'ipport': '192.168.0.100',
        'active': True,
        }
    atom_vector_data[2] = {
        'next_key' : randint(1, 1000000)
    }
    node.write_dict_file(atom_vector_data,directory,filename)  # метод который записывает dict в файл в pickle формате

Тут мы создаем папку config в которой создаем файл node_vector.atm, в котором будут хранится данные в формате:

NODE 1 {номер ноды 1, ip ноды 1, публичный адрес ноды1;номер ноды 2, ip ноды 2, публичный адрес ноды2;номер ноды 3, ip ноды 3, публичный адрес ноды3;время обновления}
NODE 2 {номер ноды 1, ip ноды 1, публичный адрес ноды1;номер ноды 2, ip ноды 2, публичный адрес ноды2;номер ноды 3, ip ноды 3, публичный адрес ноды3;время обновления}
итд

Каждая нода когда будет соединяться с другой, будет получать вектор ее данных и отправлять свой. Если какие-то данные будут отличаться от текущих, они будут обновляться. Вектор нод считается валидным, когда у более 51% нод одинаковый вектор.

Следующая запись в векторе нод имеет только одну запись {next_key : randint(1, 1000000)}, тоесть переменную со случайным числом от 1 до 1000000.  
Делается это для того, чтобы когда новая нода захочет присоединиться, она запрашивает векторный файл, получает последнее значение next_key, и нода отправляет свои данные на присоединение, и содержит в этих данных next_key и nonce, который  создает 00 в начале хеша от этих данных.
Зачем это? Защита от подключения огромного количества левых или виртуальных нод. чтобы присоединиться новой ноде нужно сделать простой pow. если pow не подходит, другие ноды отвергают ее.  Чем больше будет нод в системе, тем больше сложность pow.

Запрос через панель ноды в браузере

Code:
@app.route('/zapros', methods=['GET', 'POST'])
def zapros():
    # make geniesis block
    zapros_adr = request.args.get('zapros_adr', 0, type=str)
    base_node = request.args.get('base_node', 0, type=str)
    ipport = request.args.get('ipport', 0, type=str)
    result = node.try_connect_to_network(zapros_adr,ipport,base_node)
    return jsonify(result=result)
Используется flask, забираем данные с frontend через ajax (с сайта получаем данные)

Метод try_connect_to_network соединяется с нодой указаной в base_node

Code:
 def try_connect_to_network(self,adr,ipport,base_node):
        context = zmq.Context(1)
        client = context.socket(zmq.REQ)
        SERVER_ENDPOINT = 'tcp://'+base_node
        client.connect(SERVER_ENDPOINT)
        poll = zmq.Poller()
        poll.register(client, zmq.POLLIN)
        REQUEST_TIMEOUT = 2500
        REQUEST_RETRIES = 3
        retries_left = REQUEST_RETRIES

        while retries_left:
            data_send = {'addmeplz': '1','adr': adr, 'ip': ipport}
            data_send = str(data_send).encode()
            request = data_send
            print("I: Пересылаю (%s)" % request)
            client.send(request)
            data = ''
            expect_reply = True
            while expect_reply:
                socks = dict(poll.poll(REQUEST_TIMEOUT))
                if socks.get(client) == zmq.POLLIN:
                    reply = client.recv()
                    reply = eval(reply.decode())
                    print(reply['send_hash'])
                    print(self.thishash(request))
                    if not reply:
                        data = 'break, not reply recive'
                        break
                    if reply['send_hash'].decode() == self.thishash(request):
                        print("I: Server replied (%s)" % reply)
                        retries_left = 0
                        data = 'answer: ' + reply['msg']
                        expect_reply = False
                    else:
                        print("E: Malformed reply from server: %s" % reply)

                else:
                    data = 'no response'
                    print("W: No response from server, retrying…")
                    # Socket is confused. Close and remove it.
                    client.setsockopt(zmq.LINGER, 0)
                    client.close()
                    poll.unregister(client)
                    retries_left -= 1
                    if retries_left == 0:
                        print("E: Server seems to be offline, abandoning")
                        break
                    print("I: Reconnecting and resending (%s)" % request)
                    # Create new connection
                    client = context.socket(zmq.REQ)
                    client.connect(SERVER_ENDPOINT)
                    poll.register(client, zmq.POLLIN)
                    client.send(request)
        return str(data)

метод отправляет словарь (dict) data_send = {'addmeplz': '1','adr': adr, 'ip': ipport}  рабочей ноде, и получает обратно ответ в виде хеша, который проверяется хешированием отправленной информацией
if reply['send_hash'].decode() == self.thishash(request), если хеши совпадают, значит данные получены верно, можно обрабатывать их.

Рабочая нода(сервер), который получает данные, обрабатывает их:
Code:
context = zmq.Context(1)
server = context.socket(zmq.REP)
server.bind("tcp://*:5555")

cycles = 0
while True:
    request_clear = server.recv()
    request = eval(request_clear.decode())
    result_print = 'none'
    if 'addmeplz' in request:
        result = node.add_new_node(request['adr'],request['ip'])
        result_print = result
    send_hash = node.thishash(request_clear).encode()
    send_rep = {
            'send_hash' : send_hash,
            'msg': result
        }
    print(result_print)
    print(str(send_rep).encode())
    server.send(str(send_rep).encode())

Рабочая нода получает данные, проверяет что за сообщение, и запускает метод add_new_node

Code:
    def add_new_node(self,adr,ipport):
        node_vector = self.read_vector_file()  # читай файл
        for key, value in node_vector.items():
            if adr in node_vector[key].values():
                return 'This adr has in vector file, not add'
        dlina = len(node_vector)
        node_vector[dlina+1] = {
            'node': dlina+1,
            'adress': adr,
            'ipport': ipport,
            'active': False
        }
        self.write_dict_file(node_vector,'chain/config/','node_vector.atm')  # обновляем файл
        return 'Add in global vector file'

Тут реализовано добавление новых данных в вектор файл. Пока еще не реализован алгоритм pow для этого файла.

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


чет как то сложновато... я про прогрессию... может за счет усложнения алгоритмов упростить вычисления?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on May 27, 2018, 09:08:12 PM
чет как то сложновато... я про прогрессию... может за счет усложнения алгоритмов упростить вычисления?

Привет! Не понимаю о чем речь? В каком месте упростить вычисления? ???


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: bugor3113 on May 27, 2018, 09:28:33 PM
чет как то сложновато... я про прогрессию... может за счет усложнения алгоритмов упростить вычисления?

Привет! Не понимаю о чем речь? В каком месте упростить вычисления? ???

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Golstrim on May 27, 2018, 10:07:50 PM
Круто, но было бы еше лучше, если сама крипта осуществляла бы какую то функцию. В самих кодах я не разбираюсь, так что ничего сказать не могу по этому поводу. А в целом успехов. Это будет очередной щиткоин или что то новое?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on May 28, 2018, 02:12:09 AM
Нет, я конечно, скорей всего ошибаюсь, но ты не думаешь что авторизацию нод в сети стоит решить иначе... например интеграция искусственного интеллекта, даже примитивного сделает код и своответсвенно его перспективы уникальными... на сегодня...

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

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

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

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 06, 2018, 07:36:27 PM
11. Мемпул или из грязи в князи, из болота в озеро.

Каждая нода будет иметь веб интерфейс (надо ли?), через него можно отправить транзакцию:

Code:
@app.route('/connect', methods=['GET', 'POST'])
def node_connect():
    msg = request.form.to_dict()
    directory = 'chain/config/'
    filename = 'txpool_swamp.atm'
    node.add_dict_file(msg,directory,filename)  # пишем в mempool
    msg_no_sign = {'send':msg['send'],'from':msg['from'],'count':msg['count'],'adr':msg['adr']}
    rnd_node = node.poh(msg_no_sign,10)
    verify = wallet.verify_sig(msg['from'],msg['sign'],msg_no_sign)
    if verify == True:
        msg_no_sign['sign'] = msg['sign']
        send_to_all = node.send_to_all_node(rnd_node,msg_no_sign)
        get_data = node.load_and_send(msg['adr'],msg['count'],msg['send'],msg['send_komis'])


        return jsonify(get_data), 200
    if verify == False:
        return jsonify('Bad sign'


msg = request.form.to_dict()
получаем с сайта через ajax подписанную транзакцию


node.add_dict_file(msg,directory,filename)  # пишем в mempool
Пишем в файл на ноде (что-то типа socket, файл в который пишем и его постоянно будет опрашивать на сервере скрипт, который будет проверять наличие транзакций)
В файле txpool_swamp.atm будут хранится все подряд транзакции отправленные в ноду. В файле будет ограничение, допустим 1-4 мб максимум. Защита от переполненения (правильно?)

После чего отдельный процесс txpool_server будет постоянно следить за файлом и если там что-то есть, сразу обрабатывать:


Code:
import pickle
import time
from cl_node import *
from wallet import *
node = Node()  # Создаем объект Node
wallet = Wallet()  # Создаем объект Wallet


import asyncio
def check_tx(msg):
    # there need check tx
    # and add tx to clear leak pool
    path = 'chain/config/'
    filename = 'txpool_leak.atm'
    if not os.path.exists(path):
        os.makedirs(path)
    node.add_dict_file(msg, path, filename)


async def swamp():
    k = 0
    dict = {}
    path = 'chain/config/'
    filename = 'txpool_swamp.atm'
    while True:
        if not os.path.exists(path):
            os.makedirs(path)
        with open(path+filename, 'rb') as f:
            while True:
                try:
                    dict[k] = pickle.load(f)
                    check_tx(dict[k])
                    print(dict[k])
                    k += 1
                except EOFError:
                    open(path+filename, 'w').close()
                    # тут await еще один
                    break                      


async def send_another_node():
    while True:
        print('Try send anoter node')
        await asyncio.sleep(1)


ioloop = asyncio.get_event_loop()
tasks = [ioloop.create_task(swamp()), ioloop.create_task(send_another_node())]
wait_tasks = asyncio.wait(tasks)
ioloop.run_until_complete(wait_tasks)
ioloop.close()


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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: RuslanFork on June 06, 2018, 09:27:41 PM
а почему была выбрано такое название?? возможно я просто что-то путаю но уже где-то встречал такое название...
даже на коинмаркет есть )))
https://coinmarketcap.com/currencies/atomic-coin/#charts


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 06, 2018, 09:58:14 PM
а почему была выбрано такое название?? возможно я просто что-то путаю но уже где-то встречал такое название...
даже на коинмаркет есть )))
https://coinmarketcap.com/currencies/atomic-coin/#charts

Спасибо за вопрос  :) Очень в тему)
Да, само слово Атом, популярное, обычно значит что транзакции атомарные (неизменные).
В моем случае, будут монеты формата номер_монеты:владелец.
Соответсвенно, каждая отдельная монета это атом. Любая вещь состоит из атомов, так же криптовалюта Атом состоит из огромного количества монет (атомов). При транзакции, меняются владельцы монет.
По сути, название Атом, лучше всего раскрывает философию мое крипты. Пока нет цели конкурировать с кем-то, поэтому не переживаю за уникальность названия  ;)

ps: кстати, есть еще Bitcoin Atom (https://coinmarketcap.com/currencies/bitcoin-atom/), лого кстати очень классное

upd 23.06.18:  Подробнее о принципе работы атома (https://bitcointalk.org/index.php?topic=3428149.msg40728435#msg40728435)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: RuslanFork on June 07, 2018, 07:33:25 PM
а почему была выбрано такое название?? возможно я просто что-то путаю но уже где-то встречал такое название...
даже на коинмаркет есть )))
https://coinmarketcap.com/currencies/atomic-coin/#charts

Спасибо за вопрос  :) Очень в тему)
Да, само слово Атом, популярное, обычно значит что транзакции атомарные (неизменные).
В моем случае, будут монеты формата номер_монеты:владелец.
Соответсвенно, каждая отдельная монета это атом. Любая вещь состоит из атомов, так же криптовалюта Атом состоит из огромного количества монет (атомов). При транзакции, меняются владельцы монет.
По сути, название Атом, лучше всего раскрывает философию мое крипты. Пока нет цели конкурировать с кем-то, поэтому не переживаю за уникальность названия  ;)

ps: кстати, есть еще Bitcoin Atom (https://coinmarketcap.com/currencies/bitcoin-atom/), лого кстати очень классное
Ну эти совсем никому не нужные форки битка) я это не хочу даже воспринимать серьезно))  а на счет вашего  проекта,  чтобы именно  хотите сделать??  Ведь куда интереснее делать что-то имея цель)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: I.Nikitin on June 14, 2018, 03:00:03 PM
У вас интересный проект с концепцией множество монет, меняющих своих владельцев. Буду за вами следить! Удачи Вам в создании своей криптовалюты!!!   


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 14, 2018, 05:57:21 PM
Ну эти совсем никому не нужные форки битка) я это не хочу даже воспринимать серьезно))  а на счет вашего  проекта,  чтобы именно  хотите сделать??  Ведь куда интереснее делать что-то имея цель)

Я пытаюсь реализовать алгоритм консенсуса под кодовым названием POH (proof of hash). По русски звучит то что надо. Я сейчас провожу тесты этого алгоритма в своей mvc версии, и если он окажется защищенным и будет иметь такую же безопаность, как и другие консенсусы, я опишу его работу тут. В целом идея в том, что будет другой алгоритм консенсуса, не факт что быстрее, но нет такой затратный как pow, и гораздо проще для запуска, нежели pos и dpos.

upd 19.09.18:
 - для подключения новой ноды надо провести майнинг по алгоритму pow, чем больше нод в системе, тем сложнее будет pow
 - те кто подключился к системе, будет добавляться в общий реестр нод всей сети, синхронизироваться, принимать и проводить транзакции по алгоритму POH (proof of hash).


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lovey7outube on June 15, 2018, 02:30:48 PM
Очень интересная идея, неоднозначная, будем следить и наблюдать и успехов вам.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Nikita K on June 16, 2018, 08:28:23 AM
Новый консенсус это серьездный вклад в развитие криптовалют. В случае если он конечно годным выйдет


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 16, 2018, 02:49:23 PM
Очень интересная идея, неоднозначная, будем следить и наблюдать и успехов вам.


Спасибо  ;)

Новый консенсус это серьездный вклад в развитие криптовалют. В случае если он конечно годным выйдет

Конечно, я как раз и провожу тесты, чтобы понять, годный он или нет.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Karlson70 on June 17, 2018, 09:28:09 AM
Г. Lapitsky
Потрясен Вашей смелостью и профессионализмом попытаться создать шедевр на глазах у всех.
Можно ли Вам написать в личку, чтобы обсудить одно предложение?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 18, 2018, 07:51:41 PM
Круто,удачи! 8)
Будем следить и ждать.


Спасибо  ;)

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


Пишите конечно


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Karlson70 on June 18, 2018, 10:53:22 PM
Пытался несколько раз, но получаю вот такое сообщение:

User 'lapitsky' has not chosen to allow messages from newbies. You should post in their relevant thread to remind them to enable this setting.

Видно мой статус пока не позволяет написать Вам в личку.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 19, 2018, 01:17:17 AM
Пытался несколько раз, но получаю вот такое сообщение:

User 'lapitsky' has not chosen to allow messages from newbies. You should post in their relevant thread to remind them to enable this setting.

Видно мой статус пока не позволяет написать Вам в личку.

тогда подождем) либо пишите мне на почту у меня в профиле


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Karlson70 on June 19, 2018, 05:42:46 AM
Сорри но в вашем профиле адрес е-майл скрыт :(


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 19, 2018, 10:10:57 AM
Сорри но в вашем профиле адрес е-майл скрыт :(

Теперь видно  ;)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: zorik982 on June 21, 2018, 04:47:51 PM
Идея перспективная! Найти бы сейчас бизнес-ангела и дело многократно ускорится. Хорошо что есть такие энтузиасты которые создают что то новое а не копируют уже сущиствующие монеты. Браво!


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 23, 2018, 12:28:45 PM
Идея перспективная! Найти бы сейчас бизнес-ангела и дело многократно ускорится. Хорошо что есть такие энтузиасты которые создают что то новое а не копируют уже сущиствующие монеты. Браво!

Спасибо, пока не будет рабочего алгоритма консенсуса, бизнес ангел не поможет) Я думаю, если моя идея окажется интересной, можно будет провести ICO или краудфандинг сразу под средства крипты.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 23, 2018, 12:49:40 PM
12. Принцип работы базы данных для хранения вашего счета с атомами

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

Принцип хранения данных о вашем счете в блокчейн атом:
1) есть база формата Номер монеты:Владелец
например:
 0:4SzkNXVjE9tFhBJWYKLPFfKcqxSY
 1:U12cyWUQMYBtFnuMCjrr2FmCfnS
 2:4GBN73Uq97TaXBA1RgRJ8K2mB7Gj

то есть у нас есть три монеты, которые принадлежат трем кошелькам. Если вы передаете монету кому-то меняется не баланс счета, а меняется запись напротив монеты.
Это еще называется key:value хранилище, где key - номер монеты, value - ее владелец.

2) монета может дробиться до миллионных частей
0: 4SzkNXVjE9tFhBJWYKLPFfKcqxSY-0.47; U12cyWUQMYBtFnuMCjrr2FmCfnS-0.53
то есть часть монеты 0 принадлежит одному кошельку, часть другому.

3) способ хранения:
при создании новой монеты (майнинге), создается папка с номером монеты, где лежит
/0/!0_main.atm - файл, где хранится текущее значение по владельцам этой монеты. в данном случае, первая цифра 0, означает, что это монета с номером 0.
/0/0_0.atm - это генезис файл для каждой монеты, он создается при майнинге и и принадлежит майнеру (сейчас пока работает только алгоритм эмиссии, потом будем майнинг, новые атомы будут создаваться только так)
/0/0_1.atm - это файл создается, когда проводим новую транзакцию. то есть по сути это и есть блокчейн. такой файл будет скреплятся с предыдущим хешом (в данном случае этот файл должен создержать хеш генезис блока - 0_0.atm)

при проверке целостности этого атома (под номером 0), либо проходим всю цепочкудо генезис блока и убеждаемся, что последнее значение атома верно, либо если транзакций было очень много и процесс проверки займет уйму времени, тогда проверяем до последнего целого значения атома в файле !0_main.atm

4) как получать доступ к монете, если их миллионы, чтобы не падала скорость:
при проведении транзакции нода делает запрос в базу данных Redis, которая хранит последнее значение атома (по сути копия файла !0_main.atm), про номеру кошелька определяем какие монеты необходимы для проведения счета, после чего уже мы обращаемся к конкретным папкам и обновляем конкретные файлы и создаем новый блок в цепочке, каждого атома.

Я позже еще подробнее опишу принцип работы и постараюсь дополнить этот текст и изменить его, чтобы стало более понятно. Надеюсь смог донести смысл.






Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Ak10 on June 23, 2018, 05:28:05 PM
Молодец. Не каждый сможет заняться подобной деятельностью. Желаю удачи твоей будущей крипте ;)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: _oh_no_stop_this_ on June 24, 2018, 07:00:02 AM
Добрый день!
Делаем свой пул, есть команда разработчиков.
Говорим по-английски, ориентируемся на мир.
Можно было бы посотрудничать, если у Вас есть желание.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Pahom_b on June 24, 2018, 08:48:06 AM
Над логотипом ещё поработать надо))


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: imhoneer on June 24, 2018, 09:48:50 AM
12. Принцип работы базы данных для хранения вашего счета с атомами

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

Принцип хранения данных о вашем счете в блокчейн атом:
1) есть база формата Номер монеты:Владелец
например:
 0:4SzkNXVjE9tFhBJWYKLPFfKcqxSY
 1:U12cyWUQMYBtFnuMCjrr2FmCfnS
 2:4GBN73Uq97TaXBA1RgRJ8K2mB7Gj

то есть у нас есть три монеты, которые принадлежат трем кошелькам. Если вы передаете монету кому-то меняется не баланс счета, а меняется запись напротив монеты.
Это еще называется key:value хранилище, где key - номер монеты, value - ее владелец.

2) монета может дробиться до миллионных частей
0: 4SzkNXVjE9tFhBJWYKLPFfKcqxSY-0.47; U12cyWUQMYBtFnuMCjrr2FmCfnS-0.53
то есть часть монеты 0 принадлежит одному кошельку, часть другому.


Я так понимаю, используя такой принцип: номер монеты - номер владельца, Вы хотите достигнуть максимальной анонимности.

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





Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 24, 2018, 02:14:29 PM
Молодец. Не каждый сможет заняться подобной деятельностью. Желаю удачи твоей будущей крипте ;)

Спасибо)

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

Привет! В каком ключе? Как майнинг пул?

Над логотипом ещё поработать надо))

Есть дизайнер, но он ничего не может родить)

Я так понимаю, используя такой принцип: номер монеты - номер владельца, Вы хотите достигнуть максимальной анонимности.

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


нет, речь не об анонимности, потому что владельца монеты все равно видно

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

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: _oh_no_stop_this_ on June 24, 2018, 03:23:15 PM
Добрый день!
Делаем свой пул, есть команда разработчиков.
Говорим по-английски, ориентируемся на мир.
Можно было бы посотрудничать, если у Вас есть желание.
Привет! В каком ключе? Как майнинг пул?

Привет,
Мы могли бы выступать той платформой, с которой монета получит широкое распространение. Могли бы сделать её оффициальной монетой пула. Так как сейчас все силы брошены именно на создание платформы, то не кому заниматься монетой, а так к моменту релиза пула можно было бы сделать это вместе с релизом вашей монеты (планируется конец 2018 года - начало 2019). Можно конечно что-то по быстрому форкнуть, но быть одним из тысячи клонов не хочется.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 24, 2018, 04:41:03 PM
Привет,
Мы могли бы выступать той платформой, с которой монета получит широкое распространение. Могли бы сделать её оффициальной монетой пула. Так как сейчас все силы брошены именно на создание платформы, то не кому заниматься монетой, а так к моменту релиза пула можно было бы сделать это вместе с релизом вашей монеты (планируется конец 2018 года - начало 2019). Можно конечно что-то по быстрому форкнуть, но быть одним из тысячи клонов не хочется.

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: _oh_no_stop_this_ on June 24, 2018, 04:55:42 PM
Если вы можете разместить у себя ноды атома, тогда будет круто, правда релиз будет не скоро, я пишу код один и это занимает кучу времени.
плюс дело в том, что у меня будет другой алгоритм консенсуса, соответсвенно майнинг будет выглядеть по другому.
Зачем пулу монета? Это же просто агрегатор мощностей, который выбирает что майнить?

1. Можем, конечно, разместить
2. Можем помочь с написанием кода, но немного позже
3. Цель не майнить вашу монету, а в том, чтобы монета приобрела в стоимости, чтобы можно было заработать. Если майнинг будет работать по-другому, то можно организовать и такое для организации мощностей майнеров через пул, не проблема.
4. Пулу монета в целях заработка. Больше популярность - больше возможность приобретения в цене.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: imhoneer on June 25, 2018, 11:00:55 AM

нет, речь не об анонимности, потому что владельца монеты все равно видно

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

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


А вот об анонимности Вы зря не задумались, так как предлагаю подумать об и вот почему:

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

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

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

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

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

У Вас есть четкая конструкция, номер монеты и владелец. Владелец может бесконечно много меняться. Номер владельца - это тоже самое, что и адрес в биткоине.

На каждую монету у вас храниться свой приватный ключ. Данные ключи вы можете передавать используя шифрованные каналы чатов или при личной встрече. Чтобы передать конкретную сумму вы должны передать все приватные ключи от монет.

А теперь в итоге, что мы имеем:

1)   Децентрализованную сеть которая постоянно изменяет номера владельцев у монет. Огромная трудность для анализа.

2)   Полностью приватные и анонимные платежи. Ведь теперь ключи можно посылать в зашифрованных сообщениях обычным текстом.

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

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

5)   Возможность обмануть когда у вас силой забирают деньги. Можно создать такие кошельки которые хранят небольшие суммы денег и отдать, а крупные спрятать. Например, как с наличными. Грабят на улице забрали быстро кошелек, но крупная сумма осталась в трусах  Grin



Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: _oh_no_stop_this_ on June 25, 2018, 11:22:50 AM
крупная сумма осталась в трусах

Классика!)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 25, 2018, 06:18:48 PM
Надо подумать в этом направлении, в действительности новый тип хранения открывает новое поле для идей и надо думать в этом направлении тоже :)
Спасибо, что так глубоко проанализировал эту идею, если хочешь подключайся и предлагай свои идеи, если они будут выдерживать критику, буду думать об их внедрении.


1)   Децентрализованную сеть которая постоянно изменяет номера владельцев у монет. Огромная трудность для анализа.

Как владелец ключа будет получать новые данные, то есть новый номер? если у него допустим холодный кошелек


2)   Полностью приватные и анонимные платежи. Ведь теперь ключи можно посылать в зашифрованных сообщениях обычным текстом

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

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


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

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

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

Возможно, вы можете просканировать все монеты и распределить количество монет, количеству адресов.

5)   Возможность обмануть когда у вас силой забирают деньги. Можно создать такие кошельки которые хранят небольшие суммы денег и отдать, а крупные спрятать. Например, как с наличными. Грабят на улице забрали быстро кошелек, но крупная сумма осталась в трусах  Grin

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



Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 25, 2018, 06:21:45 PM
1. Можем, конечно, разместить
2. Можем помочь с написанием кода, но немного позже
3. Цель не майнить вашу монету, а в том, чтобы монета приобрела в стоимости, чтобы можно было заработать. Если майнинг будет работать по-другому, то можно организовать и такое для организации мощностей майнеров через пул, не проблема.
4. Пулу монета в целях заработка. Больше популярность - больше возможность приобретения в цене.

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: _oh_no_stop_this_ on June 25, 2018, 08:08:33 PM
Хорошо, у меня будет mvc, тогда будем взаимодействовать, я только за. я позже опишу алгоритм консенсуса, так как это не pow и pos, там пул не нужен будет, хеш рейт не будет играть значение, поэтому каждая нода будет сама за себя. опять же если мой алгоритм выдержит критику, пока вроде на бумаге работает.

Отлично, держите в курсе!
У вас есть телеграмм?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on June 25, 2018, 08:38:22 PM

Отлично, держите в курсе!
У вас есть телеграмм?

Да,  телеграм канал (https://t.me/joinchat/FoP6qhK5cNUz7xb-xJGpqg)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: imhoneer on June 26, 2018, 06:39:32 AM

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

Да идея была примерно такая, берем биткоин и теперь каждый адрес биткоина это монета.

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



Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Evgenklm on June 26, 2018, 05:24:05 PM
Молодец,так держать,может что-то из этого выйдет.Гляди через время мы в твоём Баунти поучаствуем.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: I.Nikitin on June 30, 2018, 08:22:03 AM
Как продвигается ваш проект? Есть ли уже MVP/Prototype?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on July 02, 2018, 08:26:36 PM
Да идея была примерно такая, берем биткоин и теперь каждый адрес биткоина это монета.

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

Скоро  ;)

Молодец,так держать,может что-то из этого выйдет.Гляди через время мы в твоём Баунти поучаствуем.

Будет супер! спасибо  ;)

Как продвигается ваш проект? Есть ли уже MVP/Prototype?

Скоро
Как продвигается ваш проект? Есть ли уже MVP/Prototype?

Думаю зимой  ::)



Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on July 02, 2018, 08:38:55 PM
13. Как транзакции будут попадать в мемпул конкретной ноды- POH_tx

Каждая нода будет иметь свой мемпул, у каждой ноды будет свой порядковый номер (тут я писал о том, как они будут добавляться (https://bitcointalk.org/index.php?topic=3428149.msg38655188#msg38655188)).

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

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

пример алгоритма poh_tx:
Code:
    
def poh_tx(self, dict, node_count):
        alf = "abcdefghijklmnopqrstuvwxyz"
        hash = self.thishash(dict)
        hash = hash.lower()
        hash_modif = hash
        # hash_modif_sum = 1
        for i in range(len(hash)):
            if hash[i] in alf:
                hash_modif = hash_modif.replace(hash[i], str(ord(hash[i])-96))
        hash_sum = node_count + 10
        round = 0
        while hash_sum > node_count and hash_sum > 9:
            round += 1
            hash_modif = hash_modif.replace(str(round - 1), str(round))
            hash_modif_sum = hash_modif
            while hash_sum > node_count and hash_sum > 9:
                hash_sum = int(hash_modif_sum[:1]) + int(hash_modif_sum[1:len(hash_modif)])
                hash_modif_sum = str(hash_sum)

            break

        # если нод меньше 9, тогда
        if node_count < 9:
            hash_modif_sum = int(hash_modif_sum)
            while hash_modif_sum > node_count:
                hash_modif_sum = hash_modif_sum // 2
        return int(hash_modif_sum)

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

upd 19.09.2018: описание алгоритма консенсуа POH (https://bitcointalk.org/index.php?topic=3428149.msg40121768#msg40121768)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on July 02, 2018, 08:56:12 PM
На коленке сделал сайт, очень сырой, буду доделывать, по мере возможности. Если кто готов помочь, пишите в личку!   ;)
Сайт Atom (https://atom.foundation/)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: imhoneer on July 05, 2018, 06:22:15 PM
Если честно, то на текущий момент все упирается в ваш алгоритм консенсуса, если он не будет надежным и не будет нормально отсеивать фейковые и спамерские ноды, то все накроется.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on July 05, 2018, 09:34:51 PM
Если честно, то на текущий момент все упирается в ваш алгоритм консенсуса, если он не будет надежным и не будет нормально отсеивать фейковые и спамерские ноды, то все накроется.

100% ты прав и если даже не получится мой алгоритм, тогда всегда можно будет прикрутить pow,pos или начать выдумывать новый)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: imhoneer on July 10, 2018, 12:33:35 PM

100% ты прав и если даже не получится мой алгоритм, тогда всегда можно будет прикрутить pow,pos или начать выдумывать новый)

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on July 15, 2018, 07:45:57 PM

100% ты прав и если даже не получится мой алгоритм, тогда всегда можно будет прикрутить pow,pos или начать выдумывать новый)

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

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Tretyakovsky on July 16, 2018, 01:33:22 AM
рад что не бросили. но если вы пишете в одиночку нужен же будет какой-то аудит кода? а то маленькая погрешность или незакрытый баг в будущем смогут дорого обойтись


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on July 16, 2018, 05:36:27 PM
рад что не бросили. но если вы пишете в одиночку нужен же будет какой-то аудит кода? а то маленькая погрешность или незакрытый баг в будущем смогут дорого обойтись

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: zubila888 on July 18, 2018, 04:19:08 AM
Так уже вам пора сделать сайт где будут помогать баблосиками! Тут вот SKY WAY готовится токенизироваться...если у вас будет супер крипта..можете к ним подкатить! Там вас сразу финансируют! Хотя они уже вроде выбрали на чём будут отцифровываться!


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on July 18, 2018, 07:53:37 PM
Так уже вам пора сделать сайт где будут помогать баблосиками! Тут вот SKY WAY готовится токенизироваться...если у вас будет супер крипта..можете к ним подкатить! Там вас сразу финансируют! Хотя они уже вроде выбрали на чём будут отцифровываться!

Сайт есть, только туда надо подключить ico. Если кто шарит и готов помочь, я за, в одиночку времяни не хватает.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Tretyakovsky on July 18, 2018, 11:17:36 PM
рад что не бросили. но если вы пишете в одиночку нужен же будет какой-то аудит кода? а то маленькая погрешность или незакрытый баг в будущем смогут дорого обойтись

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: KirKatz on July 19, 2018, 07:38:06 AM
Так уже вам пора сделать сайт где будут помогать баблосиками! Тут вот SKY WAY готовится токенизироваться...если у вас будет супер крипта..можете к ним подкатить! Там вас сразу финансируют! Хотя они уже вроде выбрали на чём будут отцифровываться!

Сайт есть, только туда надо подключить ico. Если кто шарит и готов помочь, я за, в одиночку времяни не хватает.
ссылку плз)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on July 19, 2018, 06:24:36 PM
тогда надо поискать людей из ру комьюнити со связями в криптосообществе. можно почесать телеграм каналы. можно попробовать постучаться в криптобред или icodrops

отличные идеи! представлю алгоритм консенсуса, если мне шпал не накидают, тогда начну исо реализовывать!

ссылку плз)

Лови - Сайт Atom (https://atom.foundation/), он очень сырой, времени не хватает


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Cryptojob on July 19, 2018, 09:53:39 PM
Один так по фану уже написал криптовалюту. Теперь она называется - DOGE.
Чем чёрт не шутит, а вдруг тебя дорожка разработчика приведет к чему-то гениальному.
В одиночку работаешь?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: imhoneer on July 20, 2018, 08:11:36 AM

отличные идеи! представлю алгоритм консенсуса, если мне шпал не накидают, тогда начну исо реализовывать!

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on July 20, 2018, 09:14:57 PM

отличные идеи! представлю алгоритм консенсуса, если мне шпал не накидают, тогда начну исо реализовывать!

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

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

Один так по фану уже написал криптовалюту. Теперь она называется - DOGE.
Чем чёрт не шутит, а вдруг тебя дорожка разработчика приведет к чему-то гениальному.
В одиночку работаешь?

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: imhoneer on July 21, 2018, 03:21:02 PM

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

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

Если хочешь написать про алгоритм консенсуса то пиши, обсудим.



Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Tretyakovsky on July 22, 2018, 01:30:20 AM

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

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

Если хочешь написать про алгоритм консенсуса то пиши, обсудим.


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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on July 22, 2018, 03:19:44 PM
А вот в это не особо сильно верю, что можно легко заменять алгоритмы консенсуса. Суть в том, что он и определяет взаимодействие нод, а алгоритм согласование - реакцию всей сети на то или иное действие.
Если хочешь написать про алгоритм консенсуса то пиши, обсудим.

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

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

да, я тоже за такую позицию. я сейчас тестирую проведение транзакций и если все будет ок, выложу в свет.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Tretyakovsky on July 22, 2018, 11:59:49 PM
в таком случае все просто отлично. думаю светлые умы форума смогут что-то предложить или придумать


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: KirKatz on July 26, 2018, 12:03:12 PM

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

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

Если хочешь написать про алгоритм консенсуса то пиши, обсудим.


Согласен, тоже не представляю, как можно заменить

Но читаю, с интересом успеха)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: _oh_no_stop_this_ on July 31, 2018, 10:57:26 AM
Ну как успехи?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: babiypetr on July 31, 2018, 08:03:18 PM
Привет) Смогу помочь с нодами как для тестов так и с работающими, если конечно там не нужны заоблачные ресурсы. Ну и если нужна будет помощь в администрировании линукс серверов в том числе уровня DevOps . У меня есть немного серверов в облаке OVH на которых я свой проект разрабатываю. И по смарт контрактам Вы писали что будут на питоне, продумывайте Ethereum (Solidity) совместимые контракты, многие кто сейчас делает или уже работает под эфир с радостью перейдут на альтернативу лишенную недостатков эфира (в основном цена Gas при работе приложений), это стоит учитывать.

мой телеграмм @babiypetr

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Tretyakovsky on August 01, 2018, 12:14:11 AM
скажу по чату в телеграме. активности пока не сильно будет и это понятно почему. может лучше запилить новостной канал в телеге? вместе и с технической часть и вместе с размышлениями


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: SooEz4Me on August 14, 2018, 06:18:20 PM
Привет, чтобы оживить ветку, сделал небольшой апдейт старого лого (так как появилась анимационная ветка (https://bitcointalk.org/index.php?topic=4795754))
Если понравилось отпишите в моей ветке (или хоть гляньте её)
P.S: Возможны лаги и т.п. так как это очень сжатый формат GIF


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: imhoneer on August 15, 2018, 09:42:01 AM
Тоже слежу за темой. Но я думаю автор столкнулся с какими-то проблемами в консенсусе.

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

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

Все эти проекты гонясь за высокими характеристиками упускают главное децентрализация - это даже не про надежность, а про распределение доверия в условиях его отсутствия.

Поэтому когда Вы начинаете делать новый алгоритм консенсуса Вы должны думать о доверии, как оно возникает, как оно удерживается в сети и что его может подорвать.

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



Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on August 22, 2018, 07:03:12 PM
в таком случае все просто отлично. думаю светлые умы форума смогут что-то предложить или придумать

обязательно

Ну как успехи?

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

Привет) Смогу помочь с нодами как для тестов так и с работающими, если конечно там не нужны заоблачные ресурсы. Ну и если нужна будет помощь в администрировании линукс серверов в том числе уровня DevOps . У меня есть немного серверов в облаке OVH на которых я свой проект разрабатываю. И по смарт контрактам Вы писали что будут на питоне, продумывайте Ethereum (Solidity) совместимые контракты, многие кто сейчас делает или уже работает под эфир с радостью перейдут на альтернативу лишенную недостатков эфира (в основном цена Gas при работе приложений), это стоит учитывать.

мой телеграмм @babiypetr

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

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

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

чат есть, туда пишу о новых статьях
https://t.me/joinchat/FoP6qhK5cNUz7xb-xJGpqg (https://t.me/joinchat/FoP6qhK5cNUz7xb-xJGpqg)

Привет, чтобы оживить ветку, сделал небольшой апдейт старого лого (так как появилась анимационная ветка (https://bitcointalk.org/index.php?topic=4795754))
Если понравилось отпишите в моей ветке (или хоть гляньте её)
P.S: Возможны лаги и т.п. так как это очень сжатый формат GIF

огонь, спасибо! обновлю скоро лого на главной!

Тоже слежу за темой. Но я думаю автор столкнулся с какими-то проблемами в консенсусе.

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

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

Все эти проекты гонясь за высокими характеристиками упускают главное децентрализация - это даже не про надежность, а про распределение доверия в условиях его отсутствия.

Поэтому когда Вы начинаете делать новый алгоритм консенсуса Вы должны думать о доверии, как оно возникает, как оно удерживается в сети и что его может подорвать.

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


привет, спасибо, что следит за веткой

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: SooEz4Me on August 22, 2018, 08:30:07 PM
Спасибо, рад что ты еще не забросил проект!


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: _oh_no_stop_this_ on August 23, 2018, 10:48:14 AM
То есть пока нечего тестировать?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: poli_dark on August 23, 2018, 07:02:48 PM
молодец! если хочешь чего-то добиться мало этого хотеть - надо действовать. и ты действуешь. удачи тебе и успеха. если долго мучаться что-то да получится же)  ;)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: slai98 on August 23, 2018, 07:56:27 PM
Дизайн топ


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: KirKatz on August 25, 2018, 07:59:16 AM
Тоже слежу за темой. Но я думаю автор столкнулся с какими-то проблемами в консенсусе.

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

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

Все эти проекты гонясь за высокими характеристиками упускают главное децентрализация - это даже не про надежность, а про распределение доверия в условиях его отсутствия.

Поэтому когда Вы начинаете делать новый алгоритм консенсуса Вы должны думать о доверии, как оно возникает, как оно удерживается в сети и что его может подорвать.

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



про доверие сказано очень точно .


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: imhoneer on September 04, 2018, 08:34:02 AM

про доверие сказано очень точно .

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: LenaLog on September 04, 2018, 01:55:29 PM
Уже хочу купить атом. )   


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: imhoneer on September 05, 2018, 06:43:45 PM
Уже хочу купить атом. )   

Подождите, мы еще даже не знаем алгоритма консенсуса на чем там будет работать.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: tursunalimenman on September 06, 2018, 07:15:55 AM
Слежу за этой темой, как ни за какой другой. Автор реально топчик, но ты пиши не пропадай. Недавно смотрел что долго нет ТС думал что все тема загнется, ан нет автор борется, молодец что делаешь, ты вообще многим пример, что можно делать руками не только баунти и казино прочие, а реально интересные штуки изобретать. Технические трудности временные, тем более наверное опыт программирования у тебя явно есть, так что ждем продолжения темы, так что не пропадай.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: bbot on September 07, 2018, 12:05:25 AM
а как ты сделал такую анимацию?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: fawkesnymous on September 14, 2018, 06:26:21 PM
Хм. Проект интересный..С такой поддержкой - маркетинга надо будет по минимуму.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on September 18, 2018, 08:07:14 PM
То есть пока нечего тестировать?

нет, очень сложно одному писать, это больше хобби в свободное время.

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

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

Уже хочу купить атом. )   

я думаю не проблема будет получить их бесплатно, так как сервер будет легко поставить (алгоритм без майнинга, только 24/7 и ip статический) или получить какие-то баунти. но самый топ будет, те кто первые поставят сервера, так как подключение новой ноды будет требовать майнинга, первые сервера будут легко подключаться, а дальше чем больше нод, тем дороже.

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

Привет, спасибо! писал выше, что пишу в свободное время и отношусь к этому, как к хобби. Потихоньку пишу, надеюсь допишу  :D

Хм. Проект интересный..С такой поддержкой - маркетинга надо будет по минимуму.

Не факт, пока доживем до выхода рабочей версии, уже крипта в жопу может улететь, судя по битку и эфиру.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on September 18, 2018, 08:09:20 PM
Дизайнер нарисовал лого, какой больше нравится?
Не забывайте про Telegram канал (https://t.me/joinchat/FoP6qhK5cNUz7xb-xJGpqg), там можно быстро обсудить разные вопросы.

1.
https://c.radikal.ru/c16/1809/f2/4f9f1b87ab24.jpg
2.
https://c.radikal.ru/c34/1809/69/23f7d695c302.jpg
3.
https://a.radikal.ru/a18/1809/51/2b851af2d7ad.jpg
4.
https://d.radikal.ru/d28/1809/21/c1047e7ecb57.jpg
5.
https://d.radikal.ru/d02/1809/f8/ad1fb08c10dd.jpg\
6.
https://c.radikal.ru/c11/1809/57/71439dbe7092.jpg
7.
https://b.radikal.ru/b40/1809/eb/68979b5a0c8b.jpg

и этот по фану с пасхалкой))
https://a.radikal.ru/a39/1806/61/84eb1589c136.jpg


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on September 18, 2018, 09:20:43 PM
14 .  Асинхронное   общение   нод   с   помощью   ZeroMQ

Началось все с изучения общения компов p2p, после изучал различные модули для python для общения p2p. В итоге модули оказались сырыми или давно заброшенные авторами на гитхабе и решил не рисковать. Разбираясь в сырых сокетах пришел к выводу, что буду ооочень долго писать свой  асинхронный  сервер и наткнулся на  zeroMQ , который называется сокетами на стероидах и понял, что это то, что я искал (хотя до сих пор не уверен, возможно надо было использовать websoket).

Изучив менуалы на английском (это пиздец ребята, с моим ангнлийским), с горе попалам написал синхронный клиент-сервер, который заработал, но был медленный и конечно же не асинхронный. Простой пример работы описан тут - https://bitcointalk.org/index.php?topic=3428149.msg38444734#msg38444734, хотя по факту он уже с десятки раз сложнее, но не справлялся с большим потоком входящих пакетов. Если бы нод было не пару штук, а сотня, вся бы жутко тормозило. По итогу, написал асинхронный клиент-сервер:

Клиент асинхронно отправляет данные (нода которая отправляет кучу данных другой ноде и ждет просто ответ без срока давности)

Code:
from __future__ import print_function

import time
import zmq
import sys
import threading
from random import randint, random


class ClientTask(threading.Thread):
    """ClientTask"""
    def __init__(self, id):
        self.id = id
        threading.Thread.__init__ (self)

    def run(self):
        context = zmq.Context()
        socket = context.socket(zmq.DEALER)
        identity = u'client-%d' % self.id
        socket.identity = identity.encode('ascii')
        socket.connect('tcp://localhost:5556')
        print('Клиент %s запустился' % (identity))
        poll = zmq.Poller()
        poll.register(socket, zmq.POLLIN)
        reqs = 0
        while True:

            reqs = reqs + 1
            print('Запрос #%d отправлен..' % (reqs))
            send_msg = {'task': 'iamalive', 'msg': reqs}
            send_msg = str(send_msg).encode()
            socket.send(send_msg)
            #socket.send_string(u'запрос #%d' % (reqs))
            sockets = dict(poll.poll())

            if socket in sockets:
                msg = socket.recv()
                print('Клиент %s ответил: %s' % (identity, msg))
                break
        socket.close()
        context.term()   

def main():
    x = 0
    while True:
        x += 1
        client = ClientTask(x)
        client.start()

if __name__ ==

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

Code:
from __future__ import print_function

from random import randint
import time
import zmq
import threading

from cl_node import *


node = Node()

#
# это порт чисто для обработки взаимодействия последних нод
# получаем сообщения от других нод и обрабатываем их
#
def get_router():
    print('Wait connection ROUTER (Thread 2)...')
    # Prepare our context and sockets
    ctx = zmq.Context()
    frontend = ctx.socket(zmq.ROUTER)
    frontend.bind("tcp://*:5556")

    # Initialize poll set
    poller = zmq.Poller()
    poller.register(frontend, zmq.POLLIN)

    while True:
        try:
            items = dict(poller.poll())
        except:
            break  # Interrupted

        if frontend in items:
            msg = frontend.recv_multipart()
            #
            # Проверка на живучесть
            #
            if b'iamalive' in msg[1]:
                msg_dict = eval(msg[1])
                print('from DEALER - ', msg[0],': ',msg[1])
                msg[1] = b'Ok'
                frontend.send_multipart(msg)

def main():
    #
    # включаем поток для прослушки порта 5556 в режиме ROUTER
    #
    my_thread_router = threading.Thread(target=get_router, args=())
    my_thread_router.start()
    node.alive_start_server()


if __name__ == "__main__":
    main()


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Viklatishev on September 21, 2018, 04:16:11 PM
Здорово придумал, буду следить за твоим топиком. Старайся и у тебя всеобязательно получится. Удачи.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Guardsman on September 22, 2018, 04:56:37 PM
Нравится порыв автора создать нечто свое и уникальное. Искренне желаю успеха!


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: LiteNight on September 23, 2018, 11:44:09 PM
понравился 7.8. Но цвет по моему не очень. Красный символ на черном фоне более интересен думаю. И три полоски внизу не в тему как то, лишние детали. Считаю, что хороший символ должен быть таким, чтоб его легко можно было от руки воспроизвести большинству. Как сравнить символ Мерседеса и Форда.

Тестовую ноду можно разместить, есть сервак для этих дел, т.е. круглосуточно. Да и люди найдутся заинтересованные. Там же главное скорость инета? У меня 500 стоит, думаю этого с головой хватит. Посмотрел сайт, так майнинг на железе? Я не спец, могу ошибаться, по ДДР память это же оперативка, а майминг от нее зависит? Просто некоторым на железо пополам, главное стабильное соединение. Если железо, то нужна возможность регуляции. Иначе просто забанят, если железо сервака круглосуточно на 100% гонять. Я тут недавно поставил прогу, так там первая скорость грузила на 100% железо. Это не вариант.

По поводу идеи. Ну фан не фан, а опыт отличный. Я считаю надо в комплексе все делать. Т.е. к своей монете еще и свою биржу прикрутить. Вот это было бы очень интересно. Столько откровенно никчемных и стремных бирж. Мне кажется сейчас даже людей не сложно найти. Проблема в скорости, достойном обслуживании (ну, нарекания и на нормальные биржи есть, тп и менеджеры зачастую сами не понимают ничего) и безопасности. Плюс торговать своей монетой можно всегда в плюс. Но это конечно годы, но а как еще? Есть такие планы? Биржу свою запилить? высокотрастовую? Можно вообще премиалку сделать. Работать с депозами от .... Меньше нагрузка, а КПД может даже выше. Но нужен оч высокий ур безопасности. 100%! Хоть блокчейн на блокчейне, но ни одна тварь не должна иметь возможность что то умыкнуть. Кражи уже наверно миллиард $ превысили.

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



Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: babiypetr on September 24, 2018, 07:50:31 AM
Для созданния очень защищенной системы, одного энтузиазма автора крайне мало, должна быть команда профессионалов в том числе и по части безопасности приложения. Нужно понимать что увтор пишет все с нуля, причем многих вопросов он не знает и изучает их по ходу разработки, поэтому говорить о безопасности ой как рано, пройдет ещё не одна итерация рефакторинга, прежде чем можно будет говорить о безопасности. Ну и в целом защитить децентрализованную систему много сложнее чем централизованную, здесь нужна очень продуманная архитектура.

Косательно консенсуса, что бы быть конкурентным, стоит уходить от Proof-of-Work , так как это достаточно энергозатратный (причем энергия тратиться в пустую) и достаточно неповоротливый консенсус. При написании с нуля автор может создать нечто уникальное в мире крипты, главное не бояться эксперементировать, если у него удастся это - то Атом может стать новым стандартом.

Функции биржи нужно встраивать в протокол, как это сделано например у Stellar, это усиливает децентрализованные биржи, которые просто обязаны заменить централки.

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

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

А что с ними не так?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: LiteNight on September 24, 2018, 11:50:03 PM


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

А что с ними не так?
Просто стеб
https://i.imgur.com/deN7gBB.png


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on November 12, 2018, 11:07:48 PM
Здорово придумал, буду следить за твоим топиком. Старайся и у тебя всеобязательно получится. Удачи.

Нравится порыв автора создать нечто свое и уникальное. Искренне желаю успеха!

Спасибо, бро

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

Тестовую ноду можно разместить, есть сервак для этих дел, т.е. круглосуточно. Да и люди найдутся заинтересованные. Там же главное скорость инета? У меня 500 стоит, думаю этого с головой хватит. Посмотрел сайт, так майнинг на железе? Я не спец, могу ошибаться, по ДДР память это же оперативка, а майминг от нее зависит? Просто некоторым на железо пополам, главное стабильное соединение. Если железо, то нужна возможность регуляции. Иначе просто забанят, если железо сервака круглосуточно на 100% гонять. Я тут недавно поставил прогу, так там первая скорость грузила на 100% железо. Это не вариант.

По поводу идеи. Ну фан не фан, а опыт отличный. Я считаю надо в комплексе все делать. Т.е. к своей монете еще и свою биржу прикрутить. Вот это было бы очень интересно. Столько откровенно никчемных и стремных бирж. Мне кажется сейчас даже людей не сложно найти. Проблема в скорости, достойном обслуживании (ну, нарекания и на нормальные биржи есть, тп и менеджеры зачастую сами не понимают ничего) и безопасности. Плюс торговать своей монетой можно всегда в плюс. Но это конечно годы, но а как еще? Есть такие планы? Биржу свою запилить? высокотрастовую? Можно вообще премиалку сделать. Работать с депозами от .... Меньше нагрузка, а КПД может даже выше. Но нужен оч высокий ур безопасности. 100%! Хоть блокчейн на блокчейне, но ни одна тварь не должна иметь возможность что то умыкнуть. Кражи уже наверно миллиард $ превысили.

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



1) надо будет только айпи статический и 24/7 доступ к ней. несколько открытых портов.
по поводу майнинга на железе DDR: сайт делал, когда была еще первая версия алгоритма требующая железо и во время разработки родился новый алгоритм, который позволяет отказаться от железа.

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


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

Косательно консенсуса, что бы быть конкурентным, стоит уходить от Proof-of-Work , так как это достаточно энергозатратный (причем энергия тратиться в пустую) и достаточно неповоротливый консенсус. При написании с нуля автор может создать нечто уникальное в мире крипты, главное не бояться эксперементировать, если у него удастся это - то Атом может стать новым стандартом.

Функции биржи нужно встраивать в протокол, как это сделано например у Stellar, это усиливает децентрализованные биржи, которые просто обязаны заменить централки.

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

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

А что с ними не так?

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




Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: babiypetr on November 13, 2018, 07:43:25 AM
Quote
1. пишу по фану, по этому команды нет.

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

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

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

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

Это просто отлично!


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: LiteNight on November 13, 2018, 09:05:07 PM
Привет! Есть новости? Занимаешься еще разработкой?


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on November 14, 2018, 08:04:16 PM
Думаю стоит где то на техническом ресурсе рассказать о проекте и попробовать подтянуть людей в команду, сам это круто, но не надежно, глаз мылится и зачастую пропускаются в коде очевидные ошибки, я думаю Вы найдете идейных ребят, которые поддержут Ваш проект

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

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

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

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

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: babiypetr on November 14, 2018, 08:20:13 PM
Quote
под биржой вы имеет ввиду возможность конвертации атома в другую крипту в самом функционале? или полноценную биржу?

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on November 14, 2018, 08:29:37 PM
15. Защита от копирования транзакции

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

В 12 пункте я писал о принципе работы атома - тут читать (https://bitcointalk.org/index.php?topic=3428149.msg40728435#msg40728435).

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: be.open on November 16, 2018, 06:09:44 AM
С удовольствием прочитал тему, буду и дальше следить за развитием проекта, топикстартеру успехов, терпения, вдохновения и энтузиазма.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: Nazarbay on November 21, 2018, 03:07:22 AM
Очень интересная тема.  В свете появления квантового компьютера, задачей номер один является появление  новых алгоритмов. К примеру, у  нас в России физики из  квантового центра запустили квантовый блокчейн — инструмент для создания распределенной базы данных, в которой практически невозможно подделать записи. Их задачей было обезопасить классические алгоритмы от появления квантового компьютера. Схема была протестирована на городских оптоволоконных сетях (препринт). В блокчейне  и криптографии не очень разбираюсь , но хочу предложить автору свою нетрадиционную идею по усилению именно криптографической защиты. Пока написал автору лично чтобы не засорять тему.


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on January 23, 2019, 01:13:17 PM
Очень интересная тема.  В свете появления квантового компьютера, задачей номер один является появление  новых алгоритмов. К примеру, у  нас в России физики из  квантового центра запустили квантовый блокчейн — инструмент для создания распределенной базы данных, в которой практически невозможно подделать записи. Их задачей было обезопасить классические алгоритмы от появления квантового компьютера. Схема была протестирована на городских оптоволоконных сетях (препринт). В блокчейне  и криптографии не очень разбираюсь , но хочу предложить автору свою нетрадиционную идею по усилению именно криптографической защиты. Пока написал автору лично чтобы не засорять тему.

Центр может и квантовый, но квантовый ли компьютер?  ;)
Насчет идеи криптографической защиты - все придумано за нас. В любом случае пиши) Лучше придумай мгновенный алгоритм консенсуса)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on January 23, 2019, 01:35:24 PM
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

Материалы:
Хорошая статья о многопоточности и асинхронности (https://habr.com/ru/post/337528/)
Асинхронный Python: различные формы конкурентности (https://habr.com/ru/post/421625/)
ZeroMQ The Asynchronous Client/Server Pattern (http://zguide.zeromq.org/py:all#toc76)


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: ildario_n on January 27, 2019, 09:18:55 AM
Алгоритм "Пох":) Звучит вообще))


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on January 30, 2019, 04:39:48 PM
Скажи пожалуйста, почему эту тему решил разместить в разделе "Идеи", а не "Кодеры" ?

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

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

Proof of Hash - все честно ;) ;D



Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: tursunalimenman on February 03, 2019, 10:26:01 AM
Отрадно видеть что тема жива! Слежу с интересом, но ребята у кого есть варик киньте человеку мерит уже! Заслужил же мембера явно! Я свои уже растерял, а то бы исправил ситуацию.
Да и подпись немного улучшит ТС все плюс будет!


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: mrbanjo on February 03, 2019, 11:58:08 AM
С удовольствием прочитал тему, буду и дальше следить за развитием проекта, топикстартеру успехов, терпения, вдохновения и энтузиазма.

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


Title: Re: Ⓐ Atom - пишу свою крипту ✌✌✌
Post by: lapitsky on February 06, 2019, 10:45:22 PM
Отрадно видеть что тема жива! Слежу с интересом, но ребята у кого есть варик киньте человеку мерит уже! Заслужил же мембера явно! Я свои уже растерял, а то бы исправил ситуацию.
Да и подпись немного улучшит ТС все плюс будет!

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

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

пишу из удовольствия)


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: brrzzz on February 07, 2019, 01:44:45 AM
Интересная тема,продолжай,закинул в закладки,главное не забрасывай.


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: lapitsky on April 17, 2019, 06:07:42 PM
17. База данных на Redis

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

Инфа из википедии:
Redis (от англ. remote dictionary server) — резидентная система управления базами данных класса NoSQL с открытым исходным кодом, работающая со структурами данных типа «ключ — значение». Используется как для баз данных, так и для реализации кэшей, брокеров сообщений.
Ориентирована на достижение максимальной производительности на атомарных операциях (заявляется о приблизительно 100 тыс. SET- и GET-запросов на Linux-сервере начального уровня). Написана на Си, интерфейсы доступа созданы для большинства основных языков программирования.


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: lapitsky on September 11, 2019, 05:01:38 PM
18. Входы-выходы или красота в простоте

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

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

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





Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: fawkesnymous on November 21, 2019, 08:13:34 PM
Уважаемый ТС, как обстоят дела по прогрессу на данный момент времени??


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: Yaremi on November 21, 2019, 10:23:06 PM
Интересно, буду следить.

Кроме POW будет ли какой нить способ получить токены до запуска?



Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: rembit77 on November 26, 2019, 06:29:38 PM
если не секрет конечно то в чем конечная замка проекта? допустим все пошло идеально и как вы хотели то как вы видите свой проект? и на какое количество пользователей вы планируете?


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: CryptoniXxx_$$$ on November 27, 2019, 06:18:35 AM
Делай сразу как монету мраи))) кран и все разгадывают капчу)) к вечеру распределение монет))


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: rembit77 on November 27, 2019, 06:47:09 PM
Делай сразу как монету мраи))) кран и все разгадывают капчу)) к вечеру распределение монет))

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


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: pishite on November 28, 2019, 04:52:02 AM
На сколько выгодно майнить вашу монету на обычном ноутбуке.
Так как количество нод в вашей сети растёт интересно, на сколько выгодно зайти в вашу монету без специального оборудования ферм, асиков.
А на каком алгоритме происходить Pow: Scrypt?


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: rembit77 on November 29, 2019, 03:18:20 PM
если не секрет конечно сколько активно сейчас работают над проектом?
именно 24/7 а не те кто просто проходили мимо. такой проект нельзя просто на выходных делать.


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: lapitsky on November 29, 2019, 06:30:03 PM
Уважаемый ТС, как обстоят дела по прогрессу на данный момент времени??

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

Интересно, буду следить.
Кроме POW будет ли какой нить способ получить токены до запуска?

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

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

весь проект крутиться вокруг нового алгоритма POH, который доказывает выполненную работу определенной нодой, но не требует много ресурсов. блокчейн + POH. те же яйца, только в профиль + не надо майнинговое оборудование и не надо POS блокировки средств. кто первый подключился к системе того и тапки.

Делай сразу как монету мраи))) кран и все разгадывают капчу)) к вечеру распределение монет))

Я что-то видать давно не в теме

На сколько выгодно майнить вашу монету на обычном ноутбуке.
Так как количество нод в вашей сети растёт интересно, на сколько выгодно зайти в вашу монету без специального оборудования ферм, асиков.
А на каком алгоритме происходить Pow: Scrypt?

Количество нод сейчас ноль. pow алгоритм другой. используется только в подключении новых нод, где сложность увеличивается от количества нод в системе. требования это 24/7 быть в сети, статический ip, чем больше памяти тем быстрее будет проходит обработка данных.

если не секрет конечно сколько активно сейчас работают над проектом?
именно 24/7 а не те кто просто проходили мимо. такой проект нельзя просто на выходных делать.

проект делается просто на выходных и свободное время.


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: rembit77 on December 03, 2019, 11:52:49 AM
добавил эту тему к себе в избранное. сейчас новых и свежих проектов на рынке нет. одни фейк айсио которые никому не нужны.


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: imhoneer on December 03, 2019, 01:01:41 PM

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

Господин @lapitsky приветствую. Рад что Вы не забросили свою идею, а продолжаете делать. Тоже периодически посматриваю тему и слежу за ходом разработки.

Побольше Вам сил и терпенья в работе!


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: rembit77 on December 04, 2019, 04:07:19 PM

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

Господин @lapitsky приветствую. Рад что Вы не забросили свою идею, а продолжаете делать. Тоже периодически посматриваю тему и слежу за ходом разработки.

Побольше Вам сил и терпенья в работе!

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


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: Stasonelison on January 06, 2020, 08:12:43 PM
Очень интересно на какой стадии сейчас находится разработка,не забросил ли автор своей проект,планируется ли запуск в этом или следующем году?


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: Texac on January 06, 2020, 09:52:24 PM
может автор уже где то рубанул хорошую сумму зелени и встречает Новый Год где то на Майорке.


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: pishite on January 07, 2020, 04:39:20 AM
может автор уже где то рубанул хорошую сумму зелени и встречает Новый Год где то на Майорке.

Думаю врятли, так как ico/ieo он пока что не проводил на сколько я знаю.
Да и готового продукта пока что нет, все ещё в процессе написания и теста.


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: lapitsky2 on September 20, 2022, 12:41:05 AM
Всем привет, продолжаю писать спустя 2 года тишины ;D Апатия депрессия расставания и прочие приятные слова сопровождали меня последние 2 года. Хотя за 2 года я обрел новых друзей, кучу новых идей и очень огромное понимание некоторых жизненных ценностей. Так что продолжаем с новыми силами развивать децентрализованный мир.

Мой основной аккаунт (lapitsky) заблокирован, скорее всего из-за долгой не активности (я написал администраторам, надеюсь разблокируют, так как большая история у аккаунта).
Перестал писать, так как у велосипеда, который я делал оказались квадратные колеса и впал в небольшое уныние и апатию от того понимания, что в одно лицо это задача не подъемная, но сейчас та идея которая была обрела новые очертания и тот алгоритм консенсуса poh (который я придумал) обретает вторую жизнь. Теперь это кажется реализуемо и достаточно просто!

Уже начал писать block consens protocol (название придумал от балды), смысл которого по сути как нода выбирает блок и как нода будет знать что такой же блок выбрали другие ноды?.

Ближайшие задачи:
 - block consens protocol
 - переименовать крипту, атом название уже только ленивый не использовал. (накидывайте идеи)
 - выпустить токен или подумать о том, как можно привлечь инвестиции, потому что нужны сервера, devops и программисты


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: lapitsky2 on September 21, 2022, 01:16:40 AM
Ответили, что заблочили за плагиат, возможно из-за слова Atom) Плагиатом не пахнет, название сам придумал, но название в край простое, только ленивый не называл свою крипту Атом и атомарной. Надеюсь разблочат. Будем переименовывать.


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: imhoneer on September 21, 2022, 09:08:54 AM

Перестал писать, так как у велосипеда, который я делал оказались квадратные колеса и впал в небольшое уныние и апатию от того понимания, что в одно лицо это задача не подъемная, но сейчас та идея которая была обрела новые очертания и тот алгоритм консенсуса poh (который я придумал) обретает вторую жизнь. Теперь это кажется реализуемо и достаточно просто!

Уже начал писать block consens protocol (название придумал от балды), смысл которого по сути как нода выбирает блок и как нода будет знать что такой же блок выбрали другие ноды?.

Ближайшие задачи:
 - block consens protocol
 - переименовать крипту, атом название уже только ленивый не использовал. (накидывайте идеи)
 - выпустить токен или подумать о том, как можно привлечь инвестиции, потому что нужны сервера, devops и программисты

Здравствуйте! С удовольствием перечитал данную тему, чтобы освежить память и вспомнить на чём мы с Вами закончили беседу.

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

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

Одним из слабым мест вашего блокчейна будет медленная скорость проверки транзакций, для высокой скорости нужны компилируемые языки типа C++, Go, Rust и прочие.


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: lapitsky2 on September 21, 2022, 10:32:08 PM

Перестал писать, так как у велосипеда, который я делал оказались квадратные колеса и впал в небольшое уныние и апатию от того понимания, что в одно лицо это задача не подъемная, но сейчас та идея которая была обрела новые очертания и тот алгоритм консенсуса poh (который я придумал) обретает вторую жизнь. Теперь это кажется реализуемо и достаточно просто!

Уже начал писать block consens protocol (название придумал от балды), смысл которого по сути как нода выбирает блок и как нода будет знать что такой же блок выбрали другие ноды?.

Ближайшие задачи:
 - block consens protocol
 - переименовать крипту, атом название уже только ленивый не использовал. (накидывайте идеи)
 - выпустить токен или подумать о том, как можно привлечь инвестиции, потому что нужны сервера, devops и программисты

Здравствуйте! С удовольствием перечитал данную тему, чтобы освежить память и вспомнить на чём мы с Вами закончили беседу.

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

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

Одним из слабым мест вашего блокчейна будет медленная скорость проверки транзакций, для высокой скорости нужны компилируемые языки типа C++, Go, Rust и прочие.

Добрый день, рад вас видеть!) Я в пайтоне не новичок, уже как лет 4-5 активного кодинга. Последние два года писал crm на django, которая работает в готовом бизнесе. До этого писал на php, пару приложений на java, delphi (pascal) моя юность. Я даже немного погружался в с++ на Borland c++ и писал простые приложения.  Медленный Python решается путем написания кода требовательных вычислений на C или C++. В свою очередь, код на C запускается из Python через специальные привязки для вызова функций. Плюс используется zeroMQ который является как раз таки сокетом на стероидах. Слабые и узкие места можно переписать. Да, если мы говорим о профи уровне, конечно лучше сразу писать на с++ или java. Но в данном случае, я имею возможность легкого входа, так как python максимально дружественный язык для быстрой разработки. Можно подключить программистов, которые смогут участвовать в разработке. В каком то смысле это пет проект, в котором заложена простая идея poh алгоритма.

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

Одним из слабым мест вашего блокчейна будет медленная скорость проверки транзакций, для высокой скорости нужны компилируемые языки типа C++, Go, Rust и прочие.

по сути можно проверку транзакций вывести в отдельный поток (процесс), который  будет делаться на go и отдавать конечный результат работы в сокет, где его будет забирать python через zeroMQ


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: imhoneer on September 22, 2022, 07:43:24 AM

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

Одним из слабым мест вашего блокчейна будет медленная скорость проверки транзакций, для высокой скорости нужны компилируемые языки типа C++, Go, Rust и прочие.

по сути можно проверку транзакций вывести в отдельный поток (процесс), который  будет делаться на go и отдавать конечный результат работы в сокет, где его будет забирать python через zeroMQ

Как мы с Вами одинаково мыслим, я от Python ушёл и перешёл на Go, по сути это компилируемый Python, плюс параллельные вычисления на горутинах.

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

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


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: lapitsky2 on September 23, 2022, 10:56:12 PM

Как мы с Вами одинаково мыслим, я от Python ушёл и перешёл на Go, по сути это компилируемый Python, плюс параллельные вычисления на горутинах.

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

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


Что за идея? Где почитать?


Title: Re: 📢 ⒶAtom - пишу свою крипту ⛏️⛏️⛏️
Post by: imhoneer on September 24, 2022, 05:23:14 AM

Что за идея? Где почитать?

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

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