Bitcoin & Neo4j

Bitcoin introduction

Bitcoin distributed network

Bitcoin introduction

Bitcoin distributed network

Bitcoin introduction

  • Files: blkxxx.dat
  • Serialized data of blocks and transactions
  • Block: version, previous block, time…
  • Transaction: input/output addrs, value…
Blockchain

Blockchain graph

Blockchain graph (Nodes)

  • Block: BlockID (height), timeStamp
  • Transaction: TxID (height-txPosition, e.g. 10001-1), timeStamp, inputTotal, outputTotal
  • Wallet (addrs aggregation): WalletID

Blockchain graph (Relationships)

  • Contains (Block-Transaction)
  • Input/Output (Wallet-Transaction): value
    Contains InOut

Induced Transaction graph

  • Node: Wallet
  • Relationship: Sent_to {timeStamp, value}

Induced Transaction graph

Thank you