Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
5 марта 2014, 7:30:08 PM   # 1
 
 
Сообщения: 840
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru

Berkeley Database 4.8 не доступен даже больше от "текущий" источники (менеджеры пакетов и т.д.). Это устарело и заменено. Debian даже отходя от BDB все вместе и в скором времени перестанет иметь * любой * BDB пакет.

Тем не менее, Bitcoind полагается на него для формата для портативного кошелька.

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

Мы можем перейти на новую версию (5.3) - я могу построить что легко. Но я, вероятно, не будет иметь возможность построить его через два года.

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

Cryddit сейчас офлайн Пожаловаться на Cryddit   Ответить с цитированием Мультицитирование сообщения от Cryddit Быстрый ответ на сообщение Cryddit


Как заработать Биткоины?
Без вложений. Не майнинг.


5 марта 2014, 7:35:21 PM   # 2
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

Получил 1806 Биткоинов
Реальная история.





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

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

5 марта 2014, 7:39:23 PM   # 3
 
 
Сообщения: 840
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

эх. Это требование сборки, что становится трудно удовлетворить. Я думал, что я укажу его.
Cryddit сейчас офлайн Пожаловаться на Cryddit   Ответить с цитированием Мультицитирование сообщения от Cryddit Быстрый ответ на сообщение Cryddit

6 марта 2014, 7:20:28 AM   # 4
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

Версия 4.8 не является обязательным требованием, просто рекомендация. Вы можете использовать более новые версии BDB пропускания --with-несовместимого-BDB для настройки.

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

Но даже если вы делаете, это тривиально, чтобы преобразовать ваш кошелек обратно в 4,8 кошельке, если вы застряли с 5.1 или 5.3 один. Используйте BDB инструменты (пакеты db4.8-Util db5.1-Util на Ubuntu):

Код:
   db5.1_dump wallet.dat.db5 | db4.8_load wallet.dat.db4
Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus

6 марта 2014, 3:04:28 PM   # 5
 
 
Сообщения: 840
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

О, хорошо. Я не видел БД утилиты. 

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

Спасибо за указание, что один из. 

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

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

Cryddit сейчас офлайн Пожаловаться на Cryddit   Ответить с цитированием Мультицитирование сообщения от Cryddit Быстрый ответ на сообщение Cryddit

7 марта 2014, 9:11:26 AM   # 6
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

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

Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus

7 марта 2014, 3:28:39 PM   # 7
 
 
Сообщения: 666
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

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

так что если вы когда-нибудь уронить BDB полностью из стандартного дистрибутива, вы можете сказать, бумажники v0.XX или более поздней версии не требуется миграция.
apetersson сейчас офлайн Пожаловаться на apetersson   Ответить с цитированием Мультицитирование сообщения от apetersson Быстрый ответ на сообщение apetersson

7 марта 2014, 9:10:17 PM   # 8
 
 
Сообщения: 1204
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

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

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

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


Нэйгла сейчас офлайн Пожаловаться на Нэйгл   Ответить с цитированием Мультицитирование сообщения от Нэйгл Быстрый ответ на сообщение Нэйгл

8 марта 2014, 6:52:17 PM   # 9
 
 
Сообщения: 840
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

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

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

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

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

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



Cryddit сейчас офлайн Пожаловаться на Cryddit   Ответить с цитированием Мультицитирование сообщения от Cryddit Быстрый ответ на сообщение Cryddit

8 марта 2014, 8:07:21 PM   # 10
 
 
Сообщения: 1204
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

Не строить свою собственную базу данных. Вы получите это неправильно. Это действительно, очень трудно построить надежную систему базы данных.
Я согласен с вами, это действительно трудно. Я знаю, что это. Но, я думаю, что база данных является излишеством здесь. 
Многие люди считают, что при проектировании хранилища данных. Но они считают, что нужно сбросить / восстановления способности или возможности аудита, или они хотят, чтобы генерировать отчеты из данных. С реальной базе данных, даже SQLite, вы можете делать все, что от пользовательского интерфейса или API. Если у вас есть свой собственный формат файлов, кто-то должен изменить низкий уровень кода, с риском сломать его. Кроме того, все серьезные базы данных обрабатывать такие вещи, как восстановление базы данных после сбоя. Если вы просто добавление в файл, вы можете получить обратно усеченный файл или последнюю страницу хлама после перезагрузки. Реальные базы данных могут оправиться от таких ситуаций.
Нэйгла сейчас офлайн Пожаловаться на Нэйгл   Ответить с цитированием Мультицитирование сообщения от Нэйгл Быстрый ответ на сообщение Нэйгл

9 марта 2014, 1:57:57 PM   # 11
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

Многие люди считают, что при проектировании хранилища данных. Но они считают, что нужно сбросить / восстановления способности или возможности аудита, или они хотят, чтобы генерировать отчеты из данных. С реальной базе данных, даже SQLite, вы можете делать все, что от пользовательского интерфейса или API. Если у вас есть свой собственный формат файлов, кто-то должен изменить низкий уровень кода, с риском сломать его. Кроме того, все серьезные базы данных обрабатывать такие вещи, как восстановление базы данных после сбоя. Если вы просто добавление в файл, вы можете получить обратно усеченный файл или последнюю страницу хлама после перезагрузки. Реальные базы данных могут оправиться от таких ситуаций.
Но делает "Реальные базы данных" включают SQLite здесь? Есть ли SQLite дает никаких гарантий в случае внезапных перезагрузок? По крайней мере, с дописывания только файлом (и регулярной синхронизацией), вы можете быть уверены, что только запись о последней активности до перезагрузки будет потеряна, а не какая-то структура управления в середине сломала и сделала это невозможно разобрать цельное файл.

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

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

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

Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus

9 марта 2014, 2:23:07 PM   # 12
 
 
Сообщений: 82
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

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

Транзакционный. Атомный совершает. ACID.

Да, SQLite хорошо работает со сбоями питания.
Уитстона сейчас офлайн Пожаловаться на Уитстон   Ответить с цитированием Мультицитирование сообщения от Уитстона Быстрый ответ на сообщение Уитстона

9 марта 2014, 4:14:53 PM   # 13
 
 
Сообщения: 840
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого


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

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

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

+1, все три очка. Сложность и безопасность очень трудно смешивать, а что-то столь же сложным, как связь с внешней базой данных является хорошо надвигающихся бедствий. Встраивание конкретной версия SQLite была бы приемлемой - было бы получить весь необходимый код в проект и под строгим контролем, по крайней мере, - но я согласен, что проще сохранить формат, тем легче для аудита и исправление ошибок в коде который читает / записывает его. И Append только шаблон очень прост и делает достижение целостности транзакций. 
Cryddit сейчас офлайн Пожаловаться на Cryddit   Ответить с цитированием Мультицитирование сообщения от Cryddit Быстрый ответ на сообщение Cryddit

10 марта 2014, 7:18:54 AM   # 14
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

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

Это может иметь больше смысла ссылку на SQLITE страницы: https://www.sqlite.org/howtocorrupt.html .
котировка
"SQLite база данных обладает высокой устойчивостью к коррупции. Если сбой приложения, или сбой операционной системы, или даже сбой питания возникает в середине транзакции, частично написана сделка должна быть автоматически откат в следующий раз, файл базы данных, доступ."
Они утверждают, что довольно устойчивы к этому. Ото я сомневаюсь, что есть какое-либо волшебство происходит. Это в значительной степени то же самое с дописывания только файл, который синхронизируется регулярно и игнорирует неполные записи в конце.

Если вы беспокоитесь о потере данных это более насущное, чтобы перейти к детерминированным кошелькам. По крайней мере, нет временных рамок, в которых клавиши могут «исчезнуть», они всегда могут быть сгенерированы снова.
Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus

15 марта 2014, 5:36:04 PM   # 15
 
 
Сообщения: 840
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

Даже если мы считаем, что нам нужны полноценные на базу данных для живых кошельков, мы должны как минимум сохранить сериализованный файла (таблицы CSV с зашифрованными отдельными значениями, например), которые могут быть написаны любой версией Bitcoin и прочитаны любым другими , Пользуясь тем, что в качестве файла бумажника, мы могли бы обновить или изменить базу данных фонового без нарушения совместимости бумажника. 
Cryddit сейчас офлайн Пожаловаться на Cryddit   Ответить с цитированием Мультицитирование сообщения от Cryddit Быстрый ответ на сообщение Cryddit

15 марта 2014, 9:02:55 PM   # 16
 
 
Сообщения: 476
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

почему бы не определить конкретную базу данных для Bitcoin, чтобы уменьшить blockchain?

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

16 марта 2014, 8:10:08 AM   # 17
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

почему бы не определить конкретную базу данных для Bitcoin, чтобы уменьшить blockchain?
Я считаю, что BerkeleyDB сэкономить много метаданных для его собственной работы / функции, которые, возможно, нам не нужны их вообще.
BDB _только_ используется для бумажника. Сама blockchain хранится в качестве исходных блоков.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

19 марта 2014, 3:34:03 PM   # 18
 
 
Сообщения: 3
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

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

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

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

ИМХО как «новичок» до Bitcoin вещи, но разработчик с опытом несколько десятилетий в разработке программного обеспечения, то «что нужно сделать», чтобы абстрагировать функциональность хранения бумажника в рамках клиента, и позволяет пользователю решить во время сборки, что бэкенд использовать. Если бумажник необходимо только Append (), получить (счет), и так далее, это не мешает использовать более продвинутый бэкенд, чтобы удовлетворить эти вызовы через уровень абстракции.
alandsidel сейчас офлайн Пожаловаться на alandsidel   Ответить с цитированием Мультицитирование сообщения от alandsidel Быстрый ответ на сообщение alandsidel

19 марта 2014, 9:05:49 PM   # 19
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

Даже если мы считаем, что нам нужны полноценные на базу данных для живых кошельков, мы должны как минимум сохранить сериализованный файла (таблицы CSV с зашифрованными отдельными значениями, например), которые могут быть написаны любой версией Bitcoin и прочитаны любым другими , Пользуясь тем, что в качестве файла бумажника, мы могли бы обновить или изменить базу данных фонового без нарушения совместимости бумажника. 
Это уже существует. См dumpwallet / importwallet в 0.9.0 RPC,.
Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus

28 марта 2014, 11:32:42 AM   # 20
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: Berkeley Database версия 4.8 требования неустойчивого

FYI Я создал проблему для этого. Пожалуйста, помогите ее реализации

https://github.com/bitcoin/bitcoin/issues/3971
Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW