Skip to main content

Bitcoin Technology

  • Chapter
  • First Online:
  • 1231 Accesses

Abstract

In this chapter we will learn the basics of blockchain, addresses, transactions, and Bitcoin’s embedded scripting language. We will generate addresses, create transactions, and send them through the network to explore the inner workings of Bitcoin’s scripting engine.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    https://en.wikipedia.org/wiki/LevelDB

  2. 2.

    RPC stands for Remote Procedure Call. API stands for Application Programming Interface.

  3. 3.

    https://en.bitcoin.it/wiki/Satoshi_Client_Node_Discovery

  4. 4.

    https://github.com/bitcoin/bitcoin/blob/0.18/src/chainparams.cpp#L123

  5. 5.

    https://en.bitcoin.it/wiki/Protocol_documentation#version

  6. 6.

    When a node starts for the very first time, it only has knowledge about the Genesis Block that’s included in the Bitcoin source code.

  7. 7.

    https://en.bitcoin.it/wiki/Protocol_documentation#verack

  8. 8.

    https://github.com/sipa/bitcoin-seeder

  9. 9.

    https://en.bitcoin.it/wiki/Protocol_documentation#addr

  10. 10.

    https://bitcoin.org/en/developer-reference#addnode

  11. 11.

    https://github.com/bitcoin/bitcoin/blob/847593228de8634bf6ef5933a474c7e63be59146/src/irc.cpp

  12. 12.

    https://bitcoin.org/en/full-node

  13. 13.

    https://en.bitcoin.it/wiki/Stratum_mining_protocol

  14. 14.

    https://github.com/TheBlueMatt/bips/blob/betterhash/bip-XXXX.mediawiki

  15. 15.

    http://www.bitcoinfibre.org/

  16. 16.

    https://en.wikipedia.org/wiki/Public-key_cryptography

  17. 17.

    https://en.wikipedia.org/wiki/Elliptic_curve

  18. 18.

    https://en.wikipedia.org/wiki/Air_gap_%28networking%29

  19. 19.

    https://en.bitcoin.it/wiki/IP_transaction

  20. 20.

    https://en.wikipedia.org/wiki/Base58

  21. 21.

    https://www.bitaddress.org

  22. 22.

    https://segwitaddress.org/

  23. 23.

    https://bitcoincore.org/en/doc/0.18.0/rpc/wallet/getnewaddress/

  24. 24.

    https://en.bitcoin.it/wiki/Secp256k1

  25. 25.

    testnet is a globally available Bitcoin network, that’s being used in Bitcoin development.

  26. 26.

    A regtest (regression testing) is a Bitcoin network, that’s run locally for development purposes.

  27. 27.

    https://www.blockchain.com/btc/tx/d6c92078059fcea673ac07246552c976be6cee5d37990486100dfdde220a2134

  28. 28.

    JSON stands for JavaScript Object Notation. More information about it on https://json.org

  29. 29.

    https://en.bitcoin.it/wiki/Change

  30. 30.

    https://bitcoin.org/en/blockchain-guide#transaction-data

  31. 31.

    https://bitcoin.org/en/glossary/coinbase

  32. 32.

    https://bitcoin.org/en/glossary/multisig

  33. 33.

    https://fortune.com/2017/11/25/lost-bitcoins/

  34. 34.

    https://en.bitcoin.it/wiki/Script

  35. 35.

    https://en.wikipedia.org/wiki/Forth_(programming_language)

  36. 36.

    https://en.wikipedia.org/wiki/Reverse_Polish_notation

  37. 37.

    https://en.wikipedia.org/wiki/Denial-of-service_attack

  38. 38.

    Internally, EQUALVERIFY executes another Op-Code, VERIFY, that returns a Boolean value. Every Op-Code with suffix “VERIFY” does this.

  39. 39.

    https://en.wikipedia.org/wiki/Turing_completeness

  40. 40.

    More about the history and development of deterministic wallets: https://thebookofbitcoin.github.io/html/storage/deterministic_wallets.html

  41. 41.

    https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

  42. 42.

    BIP stands for Bitcoin Improvement Proposal, a standard way of introducing improvements in the Bitcoin protocol.

  43. 43.

    https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki

  44. 44.

    https://en.wikipedia.org/wiki/PBKDF2

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Harris Brakmić

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Brakmić, H. (2019). Bitcoin Technology. In: Bitcoin and Lightning Network on Raspberry Pi. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-5522-3_2

Download citation

Publish with us

Policies and ethics