Bitcoin Forum
March 28, 2023, 10:08:31 PM *
News: Latest Bitcoin Core release: 24.0.1 [Torrent]
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Economy / Service Announcements / Encrypted paywall on: November 15, 2020, 03:09:20 PM

Bitcoin encrypted paywall

Sell your files, images, notes or other digital goods protected by AES encryption in the browser.

Bitcoin encrypted paywall tool, allows you to create payment lock on files or a text message where user need to pay the assigned amount of Bitcoins to access the content. File content, file names and all messages including descriptions are encrypted in the browser. The service does not have access to content on its servers, so your media data is completely protected with AES encryption. Service charge flat rate fee 0.0002 BTC for each sale. Forwarding the payment to the seller's address takes place within 1-3 confirmations of the bitcoin network. Files and media data under 200MB hosted for free within 1 year. Files greater than 200MB hosted for free for 72 hours.

The Paywall link has a built-in password. Encryption password is part of this link after # character. All web browsers use URL standard. According to this standard, the part of the URL after the # character is an optional fragment. This fragment is only used on the client side(navigation on page) and web browsers do not send this part of the link to the server. Paywall service never knows or gets a password for server-side content. Decryption occurs only on the client side in the browser.

2  Bitcoin / Development & Technical Discussion / Block Batch Filters for Light Clients BIP draft on: September 24, 2019, 02:53:16 PM
Here is a link for a draft of a BIP for  compact probabilistic block filters alternative of BIP 158


- Block filters batching reduce total filter size. Total filters size  is smaller then BIP 158 at all total size savings  22% (3.36 GB vs 4.3 GB)
- Separation of filters by address type allows lite client not to download redundant information without compromising privacy.
- filter is deterministic  and could be committed as commitment in an coinbase transaction in future.
- unlocked ability to filter unconfirmed transaction for SPV nodes used BIP 157 instead of BIP 37 due privacy leak in BIP 37
- more bandwidth consumption reduced in contrast with transaction filters and downloading full blocks for affected addresses
- fully compatible for future consensus layer soft-fork to make block filters commitment one of the block validation rule

Any feedback or discussions are welcome
3  Economy / Micro Earnings / Bitcoin testnet faucet for developers ( on: February 09, 2019, 11:07:48 PM
Just launched Bitcoin testnet faucet for developers.

Faucet url:

Limits per IP address:

  • 4 requests per 10 minutes
  • Onetime limit 0.1 BTC

Send coins back, when you don't need them anymore: 2NBkWjz21BoT4abvAF5wsqnZAS7HA4LKrZe
4  Bitcoin / Development & Technical Discussion / P2PUBKEY in witness program on: July 03, 2018, 09:13:27 PM
Old standard transactions format included 3 types: P2PUBKEY, P2PKH, P2SH. After Segwit soft fork, we have got 2 additional types: P2WPKH and P2WSH.

If we compare cost of spending inputs (in bytes we write on HDD) for   P2PUBKEY, P2PKH and P2WPKH and  we got next values:
  • P2PUBKEY  33 bytes public key(we do not consider uncompressed keys)  + signature 72 bytes = 105 bytes
  • P2PKH        20 bytes public key hash + 33 bytes public key + 72 bytes signature = 125 bytes
  • P2WPKH     20 bytes public key hash + 33 bytes public key + 72 bytes signature = 125 bytes

From this comparison we can conclude that P2PUBKEY the best for reduce blockchain size. We can save about 19% of spending input size. I understand that P2PKH give more
security in case we do not reuse address. In case we reuse address there are no advantages use P2PKH. We can observe quite frequent use of addresses repeatedly. For a certain range of tasks we not need extra security like P2PKH. Why in Segwit transaction types we don't have ability to use P2WPUBKEY as standard transaction?  This type of transaction help to reduce blockchain size in case user do not need/want use "no address reuse" security model? 20 bytes for each input this is good opportunity to save the size of blockchain.

Also I read this thread, what is the reason why bitcoin core developers do not want use public key recovery and save 33 bytes for each input?  If the concerns are related to performance, we can observe how the ethereum works and reaches about 1M tx per day (this is like 1M inputs per day in Bitcoin).
5  Bitcoin / Development & Technical Discussion / Transaction malleability 2017 on: March 10, 2017, 09:19:34 PM
Today about 15 hours ago, was transaction malleability attack to bitcoin network. BIP 62 was accepted in 2014 but in 2017 miner BitClub mine transactions with negative S value in signature!  Shocked  So BitClub gave the opportunity to this  attack get  success
We have bitcoin node with ability to save all events on bitcoin network.

Statistics on our bitcoin node:
   Total affected Transaction: 84335
   Success: 1405
  >>>  00070d799ae941cd60fc686802afba8609f637687df8714c9b29c03600a7559b block 456545 miner BitClub
  >>>  f889938e3878a9836caa558c926bc2b05353cf29eb7f8ebbdffe0a5af80af5a4 block 456545 miner BitClub
  >>>  785b2856106170b5ef462b35deae83879bb9e3fd282b3e5face8fe0d9ec17285 block 456545 miner BitClub
  >>>  2000e4a79fb534563f361a5a3f031c3db2d87a886b072b6ba68587ebbebc6198 block 456545 miner BitClub
  >>>  783a6b069abb42818ef942832b8aad689c52c9e054572a8e5c5f402b41b1d35e block 456545 miner BitClub
  >>>  5e60913b376ce04a526dfd26ec60b5c0e86e5cbf61b0cc77ad170b35240dd313 block 456545 miner BitClub
  >>>  9f4fd7345061fc567eca2807aa7f655696a0fcd0b4c039e597978ec935a8c4c4 block 456545 miner BitClub
  >>>  ab1f20f7785137012de35e81709b2172c0d56af4949e53bfed9ddea9ddfb9527 block 456545 miner BitClub
  >>>  04916551d68114586f22f6fe5e9cc73497f6b91fd440c764301437fc069afe69 block 456545 miner BitClub

Full list of successfully attacked transactions

6  Local / Бизнес / Приём Bitcoin на своём сайте on: November 06, 2016, 09:56:49 PM
Приветствую всех - Bitcoin процессинг и Bitcoin эксплорер.

Плюсы работы с нашей компанией:
1) мы не имеем возможности блокировать кошельки клиентов (в отличии от Bitpay, Blockchain info, Coinbase...), так что ваши деньги будут в полной сохранности
2) мы работаем по всему миру без ограничений по странам
3) нам всё равно что процессить, главное пишите код правильно

Ссылка на API:
Здесь есть удобный конструктор запросов и кода для PHP, Python, cURL.

Если потребуется помощь, пишите нам или
7  Bitcoin / Development & Technical Discussion / miner attack on: October 24, 2015, 05:49:08 PM

Today I reading bitcoind src, and try to find out where is pubkey script executed when node received new block with transaction, at example transaction from new block may not be exist in mempool

    Find function that execute script:

        src/script/interpreter.cpp in this file source code of EvalScript function

    Used only in this 2 files:



    Review sign.cpp

Evalscript -> CombineSignatures -> /src/bitcoin-tx.cpp: MutateTxSign -> MutateTx -> CommandLineRawTx -> main

This functions used when we create ne transactions

    Review policy.cpp

Evalscript -> AreInputsStandard -> /src/main.cpp: AcceptToMemoryPool


    src/main.cpp later

    src/wallet/wallet.cpp -> CommitTransaction - this is create own transaction functional

    src/rpcrawtransaction.cpp -> sendrawtrnsaction - rpc function send rawtx

    src/txmempool.cpp -> no calls only comments

Last one is src/main.cpp

AcceptToMemoryPool -> ProcessMessage on message "tx" , new single tx to pool received AcceptToMemoryPool -> DisconnectTip

DisconnectTip -> InvalidateBlock invaludate block and send all transaction back to pool with all verifications and script eval

DisconnectTip -> ActivateBestChainStep :

  // Disconnect active blocks which are no longer in the best chain.
bool fBlocksDisconnected = false;
while (chainActive.Tip() && chainActive.Tip() != pindexFork) {
    if (!DisconnectTip(state))
        return false;
    fBlocksDisconnected = true;

If we have orphan tak out transactions from orphan to pool with all verifications

NO more other links found

From this I can conclude that in case node with bitcoind received new block with transactions that not in mempool we add this tx to blockchain without pubkeyscript execute.

Consequently if same "honest" miner include tx with invalid script, at example incorrect signature that spent same one coins, all bitcoind nodes add it to blockchain without eval script and not detect this

It is not posible to be true! Where is my error?
8  Local / Кодеры / Валидация транзакций в составе блока on: October 24, 2015, 05:17:15 PM
Сегодня ковырял исходники bitcoind, пытался найти где при добавлении блока происходит исполнение скрипта транзакции

1. Делаем поиск функции которая исполняет скрипт

               src/script/interpreter.cpp   здесь находится сам код функции

               используется только в этих 2 файлах



2. Смортим sign.cpp
Evalscript -> CombineSignatures -> /src/bitcoin-tx.cpp: MutateTxSign -> MutateTx -> CommandLineRawTx -> main далее совпадений нет, сдесь явно нет пути вызовов при добавлении блоков или транзакций

3. Смотрим policy.cpp

Evalscript -> AreInputsStandard -> /src/main.cpp: AcceptToMemoryPool

AcceptToMemoryPool :
    src/wallet/wallet.cpp   -> CommitTransaction    -  здесь реализация локального кошелька. исполнение скрипта происходит при создании своей транзакции
    src/rpcrawtransaction.cpp -> sendrawtrnsaction - здесь рпс функционал, послать сырую транзакцию
    src/txmempool.cpp  -> нет вызова, участвует в коментарии

Остается только src/main.cpp

  AcceptToMemoryPool -> ProcessMessage  при обработке соощения tx, то есть поступление отдельной транзакции из сети и добавления ее в пул
  AcceptToMemoryPool -> DisconnectTip
   DisconnectTip -> InvalidateBlock    сделать блок невалидным и транзакции из блока вернуть в пул при возрате исполняются проверки и скрипты
   DisconnectTip -> ActivateBestChainStep :

  // Disconnect active blocks which are no longer in the best chain.
    bool fBlocksDisconnected = false;
    while (chainActive.Tip() && chainActive.Tip() != pindexFork) {
        if (!DisconnectTip(state))
            return false;
        fBlocksDisconnected = true;
 сдесь в случае если образовался орфан мы из этого орфана выкидываем транзы обратно в пул со всеми проверками

Больше никаких связей с функцией исполнения скрипта нет

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

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

Где я ошибаюсь ? это же неможет быть правдой? Smiley


9  Bitcoin / Development & Technical Discussion / Node add transactions to pool policy , basic transaction validation rules on: September 17, 2015, 12:18:54 PM
I am trying to collect all infromation about adding and verification transaction into Blockchain.

Could any experts in this question verify that collected information is actual and correct? Thank you

Node add transaction to pool policy

Blockchain transaction validation rules

Fixed  both schemas, thank  to yakuza699 and amaclin for help and explanations!
10  Economy / Service Announcements / Online wallet for Bitcoins, Litecoins, Dogecoins on: April 18, 2014, 09:04:56 PM

Just started new project. Online cryptocurrency wallet. Supported coins: Bitcoin, Litecoin, Dogecoin. Other type of coins and more features will be developed soon.

Please try our first release. We want to hear feedback from users and ready to develop more features that you will wish or offer.

Web site:

If you have any questions, support queries or offers, please feel free to contact us at:

Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!