trader_95
trader_95 личный блог
20 декабря 2017, 14:51

Как устроен кошелек Electrum

Ответ в топик:
smart-lab.ru/blog/440722.php
Не знаю за что, но у этого товарища я в бане… не мог там ответить, а ведь интересуется народ.


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

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

Т.е. потерялся допустим кошелек, сломался хард или украли. Остался где-то распечатанный seed.
Введя seed при восстановлении кошелька, мы опять задаем ту же начальную точку для генератора приватных/публичных ключей и адресов. Получаем потерянные приватные/публичные ключи и адреса.

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

Гениально, просто и безопасно.

Дополнительно есть опция мультиподписи транзакций через 2FA подтверждение.
14 Комментариев
  • Grg788
    20 декабря 2017, 15:22
    Спасибо. Хороший ликбез для начинающих.
  • ChixUK
    20 декабря 2017, 15:26
    Если кошелек украли, наврядли в нем что-то будет храниться, до того момента как владелец проснется )

    В этом и отличие реальной банковской и платежной системы, что хотябы какой-то контроль есть над транзакциями, от этих виртуальных игрушек )
      • ChixUK
        20 декабря 2017, 15:33
        trader_95, да если там кого-то интересующая сумма, впереди масса пострадавших от ожегов паяльником ))

        Опять же возьмите в противовес реальный финансовый сектор )
          • ChixUK
            20 декабря 2017, 15:44
            trader_95, ну так все гениальное просто )

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

            Сравните это хотя бы с обычным банковским вкладом или брокерским счетом, цепочка на много усложняется.
  • Сергей Андреев
    20 декабря 2017, 16:01
    electrum хранит приватные ключи на диске, так же как и фразу для инициализации рандом сида.
      • Сергей Андреев
        20 декабря 2017, 17:22
        trader_95, пока сырцы не глянешь, точности не будет. Cейчас
        качнул сырцы, навскидку пробежался по коду:

        если такая функция convert_wallet_type()

        seed = self.get('seed')
        xpubs = self.get('master_public_keys')
        xprvs = self.get('master_private_keys', {})
        mpk = self.get('master_public_key')
        keypairs = self.get('keypairs')
        key_type = self.get('key_type')
        ...
        elif wallet_type in ['xpub', 'standard']:

        xpub = xpubs[«x/»]
        xprv = xprvs.get(«x/»)
        d = {
        'type': 'bip32',
        'xpub': xpub,
        'xprv': xprv,
        'seed': seed,
        }
        self.put('wallet_type', 'standard')
        self.put('keystore', d)

        class Simple_Wallet(Abstract_Wallet):
        def save_keystore(self):
        self.storage.put('keystore', self.keystore.dump())

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

    • Dim
      20 декабря 2017, 17:10
      Сергей Андреев, на флэшку?
  • AnarchoTrader
    20 декабря 2017, 16:37
    Чем он лучше Exodus'а? Тоже открытый исходный код, сид, пароль.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн