lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
April 28, 2018, 11:37:23 AM Last edit: September 11, 2019, 05:03:50 PM by lapitsky |
|
Пишу свою крипту на Python. Буду вести в этом топике свой блог о написании и развития своей крипты, надеюсь на жесткую критику, фидбек и сочувствующих, возможно даже поддержку. 🚀 Цель: по фану, блокчейн ванлав, хочу написать и все ✌ Фишки крипты: рождаются по ходу, в целом изобретаю колесо и велосипед (алгоритм POH скоро рожу) ♻ Алгоритм консенсуса: гибрид POW (+ одна своя идея, чуть позже опишу ее - POH) ♻ Язык разработки: Python 3 (ZeroMQ, Redis) GitHub | 💬 Telegram канал1. Принцип работы шифрования и электронной подписи2. Пароль для кошелька3. Общение нод4. Общение p2p, пытаемся разобраться5. Сокеты, сокеты, они такие сокеты6. Консенсус7. ZeroMQ или сокеты на стероидах8. 3,149. Создание ноды и присоединение новой ноды10. Принцип добавления новой ноды и вектор нод11. Мемпул или из грязи в князи, из болота в озеро12. Принцип работы базы данных для хранения вашего счета с атомами13. Как транзакции будут попадать в мемпул конкретной ноды- POH_tx14. Асинхронное общение нод с помощью ZeroMQ - - Часть 115. Защита от копирования транзакции16. Асинхронное общение нод с помощью ZeroMQ - Часть 217. База данных на Redis18. Входы-выходы или красота в простоте996. Варианты логотипа997. Почему название именно Атом?998. Отдельная ветка по консенсусу999. Ветка в Altcoin Discussion, только на Английском (очень хочу в команду владеющего английским, для переводов постов - готов оплачивать фиатом или криптой)Спасибо: SooEz4Me за лого Ищу атом ангелов: - переводчиков в разные ветки bitcointalk (если вы знаете языки, кроме русского) - для размещения у себя тестовой ноды (позже, сразу после mvc) - баунти за рекламу - кто может помочь создать и провести ico - вести сайт
|
|
|
|
alnogina
Newbie
Offline
Activity: 252
Merit: 0
|
|
April 28, 2018, 12:04:33 PM |
|
Ну давай жги. В идеале если начнешь с того, что расскажешь чем данная валюта лучше других, с какими целями делается и прочее важное для инвесторов!
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
April 28, 2018, 12:10:19 PM Last edit: April 17, 2019, 05:45:11 PM by lapitsky |
|
1. принцип работы шифрования и электронной подписиПервое, что я решил сделать это разобраться в принципе работы криптографии, создании публичного и приватного ключа. Поломав голову и потратив кучу времени я разобрался в криптографии и понял принцип работы ecdsa. Собственно дальше стал писать код на python, который делал одну интересную и важную вещь, создавал: приватный ключ, публичный, пароль и после чего сохранял это в файл Это код который выбирает точку на кривой, потом от этой точки выбирает вторую точку на кривой. Вторая точка на кривой и есть наш публичный адрес с которого вы будете платить или получать крипту. 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, поэтому можно быть спокойным за надежность создаваемых ключей. Дальше мы кодируем ключ, чтобы сделать его короче, здесь мы не стали далеко ходить и взяли принцип создания адреса из биткоин. 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) 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 год - позже переведу свою крипту на NaCl (libsodium) upd (07/06/2018): Полезная библиотека для понимания || Полезная библиотека для понимания 2 - это все форки наборов инструментов написанных Виталиком Бутериным upd (17/04/2019): Доступно о криптографии на эллиптических кривых
|
|
|
|
cryptoteam11
Jr. Member
Offline
Activity: 70
Merit: 1
|
|
April 28, 2018, 12:14:09 PM |
|
Всем привет, пишу свою крипту на Python. Буду вести в этом топике свой блог о написании и развития своей крипты, надеюсь на жесткую критику, фидбек и сочувствующих, возможно даже поддержку.
в чём отличие твоей крипты от 100500 уже существующих?
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
April 28, 2018, 12:16:39 PM |
|
Ну давай жги. В идеале если начнешь с того, что расскажешь чем данная валюта лучше других, с какими целями делается и прочее важное для инвесторов!
1. отличает ее другой способ хранения информации блоков, об этом чуть позже подробнее расскажу 2. целей как таковых нет, сама идея блокчейн мне очень близка и есть огромное желание реализовать свою идею и внести вклад.
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
April 28, 2018, 12:23:24 PM |
|
в чём отличие твоей крипты от 100500 уже существующих?
Я знаю, что количество криптовалют в мире перевалило за 1500 и моя концепция заключается не в борьбе с ними. Я просто фанат блокчейн и решил написать свою крипту, плюс бонусом есть пару очень крутых идей, которые я реализовываю в Atom. Если я сразу постараюсь их описать, будет ничего не понятно или вырвано из контекста. Постараюсь по мере ведения своего крипто-блога раскрывать эту тему
|
|
|
|
Oygen
Member
Offline
Activity: 350
Merit: 12
|
|
April 28, 2018, 12:53:00 PM |
|
Ну давай жги. В идеале если начнешь с того, что расскажешь чем данная валюта лучше других, с какими целями делается и прочее важное для инвесторов!
1. отличает ее другой способ хранения информации блоков, об этом чуть позже подробнее расскажу 2. целей как таковых нет, сама идея блокчейн мне очень близка и есть огромное желание реализовать свою идею и внести вклад. Лучше цели ставить на самом начальном этае разработки - потому что править все в конце бывает очень и очень сложно...
|
|
|
|
Albert Val
Newbie
Offline
Activity: 224
Merit: 0
|
|
April 28, 2018, 05:02:03 PM |
|
Молодец, ничего не добивается тот, кто ничего не делает. Старайся и не вешай руки, буду следить за твоим блогом здесь!
|
|
|
|
halpi
|
|
April 28, 2018, 07:59:18 PM |
|
Затея просто 4 fun? Без каких либо целей?
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
April 28, 2018, 08:00:49 PM |
|
Лучше цели ставить на самом начальном этае разработки - потому что править все в конце бывает очень и очень сложно...
Я попробую описать свое виденье и свои идеи отдельным постом Молодец, ничего не добивается тот, кто ничего не делает. Старайся и не вешай руки, буду следить за твоим блогом здесь!
Круто, огонь С удовольствием буду писать) Затея просто 4 fun? Без каких либо целей?
Да, пока цели нет, есть хорошая идея, хочу ее реализовать, если идея окажется интересной и востребованной, тогда можно будет строить планы
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
April 28, 2018, 09:00:34 PM Last edit: June 04, 2018, 08:59:49 PM by lapitsky |
|
2. Пароль для кошелька Мы создали кошелек и запароливаем его с помощью готового модуля Argon2, он победитель Password Hashing Competition, почитать можно тут - https://habrahabr.ru/post/281569/ и тут https://password-hashing.net/ При создание кошелька, конечно же, наша цель максимальная безопасность и будем использовать свежие сведения по криптографии. ph = PasswordHasher() pwd_hash = ph.hash(pwd) # pwd это пароль, который вы вводите в форму на сайте return pwd_hash Проверка пароля происходит тоже очень просто 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
|
|
|
|
OlgaZb
Newbie
Offline
Activity: 29
Merit: 0
|
|
April 29, 2018, 10:29:34 AM |
|
Всем привет, пишу свою крипту на Python. Буду вести в этом топике свой блог о написании и развития своей крипты, надеюсь на жесткую критику, фидбек и сочувствующих, возможно даже поддержку.
Как успехи ? я так поняла делаете гибрид ? от всех по немного берете. Хотелось бы все таки услышать что нового хотите добавить.
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
April 29, 2018, 01:25:49 PM |
|
Как успехи ? я так поняла делаете гибрид ? от всех по немного берете. Хотелось бы все таки услышать что нового хотите добавить.
Да, изобретаю колесо, единственное хочу другую телегу на его базе со своими фишками) А по существу хочу использовать другой способ консенсуса, основанный на другом типе хранения транзакций в блокчейн, где каждая группа нод хранит только свои данные и работает только с ними, а вся остальная сеть получает только доказательство работы.
|
|
|
|
Vtools
|
|
April 29, 2018, 01:44:02 PM |
|
Всем привет, пишу свою крипту на Python. Буду вести в этом топике свой блог о написании и развития своей крипты, надеюсь на жесткую критику, фидбек и сочувствующих, возможно даже поддержку.
Молодец, поддерживаю тебя. Сам пишу крипту с сентября месяца. Главный плюс в написании крипты с нуля - это возможность во всем досконально разобраться. Буду поглядывать как у тебя будут идти дела, если будут открытые вопросы - буду подсказывать.
|
• Restart of the TERA project in 2022 •
|
|
|
imhoneer
Legendary
Offline
Activity: 2716
Merit: 1586
|
|
April 29, 2018, 01:49:38 PM |
|
Всем привет, пишу свою крипту на Python. Буду вести в этом топике свой блог о написании и развития своей крипты, надеюсь на жесткую критику, фидбек и сочувствующих, возможно даже поддержку.
Поддерживаю вашу идею, с нетерпением жду описание вашей криптовалюты.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
April 29, 2018, 02:03:40 PM |
|
Молодец, поддерживаю тебя. Сам пишу крипту с сентября месяца. Главный плюс в написании крипты с нуля - это возможность во всем досконально разобраться. Буду поглядывать как у тебя будут идти дела, если будут открытые вопросы - буду подсказывать.
Насчет досконально, не то слово) Уровень понимания становится очень глубокий! На чем ты кодишь? И какие у тебя идеи или цели?
|
|
|
|
erickbond
Newbie
Offline
Activity: 82
Merit: 0
|
|
April 29, 2018, 02:42:53 PM |
|
попробуйте конечно, никто ведь не запрещает. если даже сейчас ничего не выйдет, то полуцчите бесценный опыт. я например вообще ни бум бум, как это всё делается
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
April 29, 2018, 02:53:35 PM |
|
попробуйте конечно, никто ведь не запрещает. если даже сейчас ничего не выйдет, то полуцчите бесценный опыт. я например вообще ни бум бум, как это всё делается
Тогда этот мини блог будет одним из способов что-то понять параллельно со мной)
|
|
|
|
Vtools
|
|
April 29, 2018, 04:45:25 PM |
|
На чем ты кодишь? И какие у тебя идеи или цели?
Делаю прототип на Node.js. Потом по возможности будет переписано на С++ Цель - создание быстрого блокчейна (от 1000 TPS), который можно будет применять для написания ДАпп. По технологическим возможностям должно превосходить аналоги, такие как TON или EOS Блокчейн будет состоять из уровней: 0-уровень не будет иметь криптовалюты, его цель складывать транзакции/сообщения последовательно в блоки. Т.е. это такой сетевой консенсус присвоения временных отметок времени сообщениям. 1-й уровень встроенные ДАпп, такие как криптовалюты, DNS, децентрализованный мессенджер, среда исполнения смарт-контрактов 2-й уровень пользовательские ДАпы
|
• Restart of the TERA project in 2022 •
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
April 29, 2018, 04:53:48 PM Last edit: April 29, 2018, 08:09:06 PM by lapitsky |
|
Делаю прототип на Node.js. Потом по возможности будет переписано на С++ Цель - создание быстрого блокчейна (от 1000 TPS), который можно будет применять для написания ДАпп. По технологическим возможностям должно превосходить аналоги, такие как TON или EOS
Блокчейн будет состоять из уровней: 0-уровень не будет иметь криптовалюты, его цель складывать транзакции/сообщения последовательно в блоки. Т.е. это такой сетевой консенсус присвоения временных отметок времени сообщениям. 1-й уровень встроенные ДАпп, такие как криптовалюты, DNS, децентрализованный мессенджер, среда исполнения смарт-контрактов 2-й уровень пользовательские ДАпы
Очень круто Если будет превосходить EOS и TON, будет бомба. Уровни, это как в segwit у биткоин? что такое Дапп? (гугл молчит)
|
|
|
|
|