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.
Also written an “Introduction to Bitcoin for new users” available in pdf, epub, and mobi (outdated, written in 2016).
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.
Multibase Data Format
There are several cases where we need to store bytes into text, most typically in a structured format, e.g. JSON. When converting bytes to text we use a base-encoding format like base64 or base58, which is used in Bitcoin. Depending on the particular application and the data itself different base-encoding formats are used since they are more efficient, practical or, surprisingly, more user-friendly.
Multibase is data model specification expressing binary data in a variety of base-encoding formats. It is a very simple model that just prepends an additional character that specifies the base-encoding...
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:
Storing Data, Inscriptions and Bitcoin Resiliency (slides)
Surviving a Phishing Attack in Cosmos-based chains (slides)
Proof-of-Work vs Proof-of-Stake (slides)
An Overview of Schnorr/Taproot (slides / video)
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 and Masternodes (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!