Konstantinos A. Karasavvas is a computer scientist with more than 20 years of experience in software systems architecture and design in various projects. He is a generalist and a problem solver with expertise in systems engineering & architecture and blockchain technologies.
He worked in the industry in various different domains, from bioinformatics to the financial sector. Currently, and since 2013, he is focused solely on Bitcoin and open blockchain technologies. He is teaching and leading several research and development teams in both academia and industry. He is also an open source contributor and an active member of local Bitcoin communities, organizing meetups and presenting in events.
He holds a MSc in distributed multimedia information systems and a PhD in multi-agent systems and bioinformatics. He used to do research and lecturing in service-oriented architectures. He has spent more than 10 years working on distributed computing, multi-agent systems, web/grid services, workflow systems and data streaming and integration technologies leading to several publications in journals and conferences. (CV / Publications)
Building a Bitcoin library that provides tools/utilities to interact with the Bitcoin network. One of the primary goals of the library is to explain the low-level details of Bitcoin. The code is easy to read and properly documented explaining in detail all the thorny aspects of the implementation. It is a low-level library which assumes some high-level understanding of how Bitcoin works. In the future this might change.
This is an early version of the library (v0.4.8) and currently, it supports private/public keys, all type of addresses (incl.segwit) and creation of P2PKH, P2SH and segwit transactions (with all SIGHASH types). All script op codes are included. Timelock and non-standanrd transactions are supported. Currently, a simple node proxy exists to enable easy calls to a Bitcoin core node. Additional functionality will be added continuously and the documentation will be improved as the work progresses. I use this library in the courses that I teach (University of Nicosia, Aristotle University of Thessaloniki and in seminars).
Writing a Bitcoin programming book. The first chapters attempt to summarize what you need to know to progress with the rest of the material but it is not intended for complete beginners. It aims to be a practical guide and thus is full of examples either in the command-line or using Python programs. It is based in the open source Bitcoin library, python-bitcoin-utils (see above) that I have also created for educational purposes.
Has architected and implemented the University of Nicosia’s blockchain certificate platform which enables easy, fast and independent publishing verification of certificates/diplomas/etc. More details on the website and on github. A certificate validator (using the open source code) was set up for the University of Nicosia. Currently, only Bitcoin is supported but the infrastructure exists for other platforms. Also created a library (Blockchain-Proofs) to allow blockchain certificates validation which currently supports Chainpoint v2 but might incorporate/wrap others in the future (e.g. OpenTimestamps).
Has also contributed on MIT’s Media Lab/Learning Machine blockchain certificates project, blockcerts.
Currently organizing, talking and being active in local meetups and events throughout Greece, e.g. Thessaloniki’s and Athen’s meetups, and guest lecturing in academic institutions, doing both introductory and more advanced technical talks.
Developed a Point of Sale application for merchants that wish to accept Bitcoins. The need arose in the meetups when some users asked for more features than other solutions. You can find it in play store here (outdated).
Developed a simple quiz application to test your Bitcoin knowledge at different levels. There are around 150 questions right now but more are added occasionally. You can find it in play store here (outdated).
Worked with workflows for several years both in academia and in the bioinformatics industry. The output of that work was several open source contributions, like OGSA-DAI that included a workflow engine to capture federation rules, Taverna Workflows to Web application, Workflows to Galaxy and the MyExperiment REST API library.
Member of the OGSA-DAI project for 4.5 years years working on data federation and access via web services, grids, or clouds. Conducted research on improving the architecture of OGSA-DAI and demonstrated new ideas with prototypes as well as acted as a bridge between the academic research and the development team.
Very early projects involved both low- and high-level technical expertise. Some examples of low-level projects were: a Linux bootstrap sequence, a simple floppy device driver and porting C/C++ projects to Windows, e.g. the OGSA-DQP software.
Higher-level projects included an editor, libraries to create text menus (back in the day) and some networking applications like a chat server/client and a MUD.
In this post we will explain the rationale behind Pay to Script Hash (P2SH) type of addresses and demonstrate with code. This tutorial assumes some understanding of the high-level Bitcoin concepts or at least having gone through the previous technical articles of this tutorial.
Multi-Signature Transaction Output Type To demonstrate the advantages of P2SH we will first go through a simple use case using first the Multisignature standard transaction output type and then implement the same script with the P2SH standard transaction output type.
Consider the scenario where we accept funds in an address that is...
Bitcoin engineer, open source contributor, researcher and educator
Software architecture, design, engineering, management
R&D: workflow technology, data integration/streaming, web development
R&D: distributed computing and multi-agent systems
Partial list of public talks:
Revoking Documents on a Public Blockchain (video)
Bitcoin Scripting (slides)
Basic Cryptography - Keys and Addresses in Bitcoin (slides)
e-Puzzles and Bitcoin (slides)
Introduction to Blockchain Technology (slides)
What is Bitcoin and how it works (slides / Aristotle University, video in greek)
Introduction to DASH (slides)
Introduction to Bitcoin for new users (slides / International Hellenic University)
The Ether, The DAO and the Hardfork (slides / video in greek)
How to accept bitcoins: for merchants (slides)
Introduction to Mining (slides)
Introduction to Bitcoin and Blockchain Technology (slides / City College, University of Sheffield)
Introduction to new users (slides)
Bitcoin and its Applications (slides / video in greek)
Many technical talks in companies on software development, distributed computing even bioinformatics. Some recent presentatons:
Pipelines in Bioinformatics (slides) - Workflows Accessibility (slides) - Galaxy and Taverna (slides) - Workflows Interoperability (slides) - Opening New Gateways (slides) - OGSA-DAI: Data Access and Integration (slides)
Many research talks in conferences and workshops (list of publications)
Email is preferred. Ask me anything!