While many cryptographic components of blockchain protocols can be extremely complex, blockchain systems themselves are relatively easy to understand when viewed from a distance. To take the example of Bitcoin, users store digital currency in hardware or software wallets, and use private keys to sign and broadcast transactions. Broadcasted transactions are grouped together into a block through a cryptographic process known as mining, with miners rewarded through the collection of transaction fees and the issuance of new coins. The mined block of transactions is appended to the existing chain, and verified by a global network of nodes. This process repeats in perpetuity, with each newly added block adding to the trustedness and security of data stored on the chain.
Increased interest in and demand for cryptocurrencies has brought about a need for places where digital assets can easily be bought, sold or traded. Our platform, Bitpanda, accomplishes this with a backend written in Python, and relying heavily on Django and MySQL databases. In our presentation, we begin by providing a brief overview of how blockchains work. Following this, we describe the Python architecture that (e.g.) generates cryptocurrency wallets, builds, signs and sends transactions, and monitors blockchains for new, relevant data. Key challenges, solutions and failures encountered during the development of the system, and growth of our team, are presented.
Throughout our talk, we also highlight a number of broader social implications of blockchains, and our work with them. More specifically, we describe the need for open-innovation based approaches to blockchain development, the value of open-source within the blockchain community, and the current lack of critical discourse surrounding the potential uses of blockchains as mechanisms of surveillance and control.