Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
20 августа 2011, 1:13:28 AM   # 1
 
 
Сообщения: 1232
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin отвала сети базы данных в PostgreSQL (скачать ссылка внутри)

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
С помощью libbitcoin«S программа голосующий, я скачал все базы данных Bitcoin сети в PostgreSQL для тех, кто заинтересован.

Вот дамп базы данных Bitcoin (все блоки, транзакция, скрипты, ...): http://libbitcoin.org/bitcoin-sql.tar.bz2
genjix сейчас офлайн Пожаловаться на genjix   Ответить с цитированием Мультицитирование сообщения от genjix Быстрый ответ на сообщение genjix


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


20 августа 2011, 1:15:26 AM   # 2
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin отвала сети базы данных в PostgreSQL (скачать ссылка внутри)

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





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

20 августа 2011, 1:17:51 AM   # 3
 
 
Сообщения: 1232
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin отвала сети базы данных в PostgreSQL (скачать ссылка внутри)

404, но это выглядит удивительным

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

20 августа 2011, 4:49:11 AM   # 4
 
 
Сообщения: 1232
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin отвала сети базы данных в PostgreSQL (скачать ссылка внутри)

Я только что совершил Postgres функции для расчета трудности:

Код:
DROP DOMAIN IF EXISTS target_type CASCADE;
CREATE DOMAIN target_type как числовые (68, 0) ПРОВЕРКА (ЗНАЧЕНИЕ <= 26959535291011309493156476344723991336010898738574164086137773096960 и значение >= 0);

CREATE OR REPLACE FUNCTION extract_target (bits_head INT, bits_body INT) ВОЗВРАТ target_type КАК $$
    НАЧАТЬ
        ВОЗВРАТ bits_body * (2 ^ (8 * (CAST (bits_head А.С. target_type) - 3)));
    КОНЕЦ;
$$ ЯЗЫК plpgsql;

CREATE OR REPLACE FUNCTION трудности (bits_head INT, INT bits_body) ВОЗВРАТ target_type AS $$
    НАЧАТЬ
        ВОЗВРАТ extract_target (CAST (x'1d 'AS INT), CAST (x'00ffff' AS INT)) / extract_target (bits_head, bits_body);
    КОНЕЦ;
$$ ЯЗЫК plpgsql;

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

SELECT SUM (сложность (bits_head, bits_body)) FROM блоков WHERE глубина IS NOT NULL;

Общая сложность blockchain является: 20077745448

Вы можете играть с этим синтаксисом, чтобы выбрать определенное количество блоков:

SELECT SUM (сложность (bits_head, bits_body)) из блоков, где глубина > 400 и глубина <= 500;

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

23 октября 2011, 2:20:46 AM   # 5
 
 
Сообщения: 1232
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin отвала сети базы данных в PostgreSQL (скачать ссылка внутри)

обновленный дамп выше:

- более эффективный формат БД
- 150256 блоки
- быстрее (использует BYTEA для хэшей, уплотненные скрипты)
genjix сейчас офлайн Пожаловаться на genjix   Ответить с цитированием Мультицитирование сообщения от genjix Быстрый ответ на сообщение genjix

30 ноября 2011, 6:51:24 PM   # 6
 
 
Сообщения: 154
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin отвала сети базы данных в PostgreSQL (скачать ссылка внутри)

libbitcoin.org, кажется недостижимым?
btc_artist сейчас офлайн Пожаловаться на btc_artist   Ответить с цитированием Мультицитирование сообщения от btc_artist Быстрый ответ на сообщение btc_artist

30 ноября 2011, 6:59:02 PM   # 7
 
 
Сообщения: 142
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin отвала сети базы данных в PostgreSQL (скачать ссылка внутри)

Любой чувствую, как портирование это MySQL? Не каждый использует PostgreSQL. Чем больше форматов, доступных тем лучше.
zellfaze сейчас офлайн Пожаловаться на zellfaze   Ответить с цитированием Мультицитирование сообщения от zellfaze Быстрый ответ на сообщение zellfaze

21 июня 2012, 11:51:46 AM   # 8
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin отвала сети базы данных в PostgreSQL (скачать ссылка внутри)

Любой чувствую, как портирование это MySQL? Не каждый использует PostgreSQL. Чем больше форматов, доступных тем лучше.

Я работаю над ней для моей библиотеки Perl.

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

Например, с 200000 прикованных блоков, таблица дерево будет иметь 40 миллиардов записей. По крайней мере, 64 байт в записи, которая была бы около 1 Ро, который глупо.

Так что я до сих пор думаю о лучших структур, так как я не совсем понимаю Genjix годов.

Код:

CREATE TABLE блоки (
    хэш-символ (32) двоичный первичный ключ,

    версия целое число,
    hashPrev символ (32) двоичный не нулевой,
    hashMerkleRoot символ (32), не двоичная нуль,
    NTime целое число без знака не равно нулю,
    Nbits целое число без знака не равно нулю,
    nNonce целое число без знака не равно нулю,

    ключ (hashMerkleRoot),
    ключ (hashPrev)
);

CREATE TABLE операций (
    хэш-символ (32) двоичный первичный ключ,
    версия целое число,
    Locktime целое число без знака,
);

CREATE TABLE tx_in (
    хэш-символ (32) двоичной,
    prevout_hash символ (32) двоичной,
    prevout_n целое число без знака,
    scriptSig блоб,
    Последовательность целое число без знака,

    Первичный ключ (хэш, prevout_hash, prevout_n),
    Ключ (хэш)
)

CREATE TABLE tx_out (
    tx_out_id целое число без знака первичного ключа auto_increment,
    хэш-символ (32) двоичной,
    целое значение,
    scriptPubKey блоб,

    Ключ (хэш)
);

CREATE TABLE Merkle_trees (
    Корневой символ (32) двоичная не нулевые,
    гашиш символ (32) двоичные,
    IDX целое число без знака не равно нулю,
    Первичный ключ (корень, IDX),
    ключ (корень)
);

CREATE TABLE block_tree (
    Лист символ (32) двоичные,
    Узел символ (32) двоичной,
    Длина целое число без знака,
    ПЕРВИЧНЫЙ КЛЮЧ (лист, узел)
);

CREATE VIEW view_blocks AS
ВЫБРАТЬ
HEX (хэш) в качестве хэша,
версия,
HEX (hashPrev) в качестве hashPrev,
HEX (hashMerkleRoot) в качестве hashMerkleRoot,
NTime,
Nbits,
nNonce
ОТ блоков;

CREATE VIEW orphan_blocks AS
Выберите.*
ОТ блокирует LEFT JOIN блоки б
ON a.hashPrev = b.hash
ГДЕ b.hash IS NULL;

CREATE VIEW view_orphan_blocks AS
ВЫБОР view_blocks. *
ОТ view_blocks INNER JOIN orphan_blocks
ПО view_blocks.hash = HEX (orphan_blocks.hash);

CREATE VIEW view_Merkle_trees AS
ВЫБОР НЕХ (корень) как корень, HEX (хэш) в качестве хэша, IDX
ОТ Merkle_trees;

CREATE VIEW view_block_tree AS
ВЫБОР НЕХ (лист), как лист, HEX (узел) в качестве узла, длина
ОТ block_tree;

CREATE VIEW chain_length AS
SELECT, лист, длина от block_tree КУДА листа = узел;

CREATE VIEW chain_weight AS
SELECT, лист, СУММА (работы (целевой (b.nBits))) как вес
ОТ block_tree INNER JOIN блоки
ON block_tree.node = blocks.hash
GROUP BY листа;

CREATE VIEW longest_chain AS
SELECT, лист, макс (длина) как длина
ОТ chain_length;

CREATE VIEW heaviest_chain AS
ВЫБРАТЬ лист, макс (вес), как вес
ОТ chain_weight;

CREATE целевой функции (биты с плавающей точкой)
ВОЗВРАТ РЕАЛ DETERMINISTIC
ВОЗВРАТ моды (биты, 0x1000000) * пау (256, биты Дива 0x1000000 - 3);

CREATE TRIGGER update_block_tree ПОСЛЕ INSERT ON блоков
ДЛЯ КАЖДОЙ ROW НАЧАТЬ
    INSERT INTO block_tree (лист, узел, длина)
    ВЫБОР new.hash, new.hash, длина + 1
    ОТ block_tree КУДА листьев = new.hashPrev;

    UPDATE block_tree
    SET лист = new.hash
    КУДА лист = new.hashPrev;

КОНЕЦ;

# ВИМ: фт = MySQL
grondilu сейчас офлайн Пожаловаться на grondilu   Ответить с цитированием Мультицитирование сообщения от grondilu Быстрый ответ на сообщение grondilu



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW