Bitcoin in the dark room

‘Bitcoin Apprentice’ is an advanced masterclass for coders with Dr. Craig Wright

The “Theory of Bitcoin” project is about to start a new series, focusing on more advanced coding techniques to build Bitcoin applications. The masterclass series will look at different topics in-depth for a month at a time, with two weeks of lectures followed by two weeks of tutorials.

According to Dr. Craig Wright, the series should be suitable for those with Masters-level coding ability and those who have an existing plan to build a Bitcoin application requiring backend database structures. It may also be interesting to those without a specific app in mind, though the topics covered will look at particular methods to solve issues the participants have encountered in developing.

Ryan X. Charles and partner Casey Hamilton are currently working on the “Social Bitcoin Web,” a structure designed to replace existing social networks with something blockchain-based that allows users to own and safeguard their personal data. Over 50 people have already agreed to help develop the project.

As well as Dr. Wright and Ryan X. Charles, participants in the course include Connor Murray, Xiaohui Liu, Ty Everett, Matija Papec, Casey Hamilton, and Joel Dalais. All are experienced developers who are currently working on large-scale Bitcoin projects.

All the projects require levels of interaction between users, the blockchain, and finding ways to structure and store the data—the applications themselves and user-created content.

New series to cover more technical topics

Dr. Wright promised detailed insights into elements of Bitcoin like Diffie-Hellman cryptographic key exchange, linking graphs, account mapping to graph databases, message authentication using HMAC, building linked key identities, Merkle trees, deriving system state from transactions, and how various forms of encryption work together.

“You can formulate your own graph-based database. You want something that can eventually act as a base layer for overlays and mapping data, something that can link into NoSQL databases properly, something that could have key hierarchies in something like MongoDB or some other NoSQL etc., but natively match up in one database structure into another—into the blockchain.”

The series, which kicks off towards the end of March 2022, will start with some background theory and elements of the white paper. Dr. Wright promises “plenty of use-case stuff,” but there will be a background to cryptography, accounting/logging processes, and probably a discussion of privacy and pseudonomy vs. anonymity.

He admitted the series would be “a bit trial and error” in its formal structure, as participants each decide what challenges they’d most like to discuss. The “lesson zero” first video (above) provides an introduction and some context to everything else the group will discuss.

“The timing of this could not be better… all that really matters is the seriousness of the students,” Charles said.

The long-running educational video series began with Dr. Craig S. Wright and Ryan X. Charles, looking at different aspects of Bitcoin’s founding philosophy and technical features. From there, it continued with sCrypt’s Xiaohui Liu.

The level of interest the three received from developers was that they decided to expand into a group class, each with their own set of questions. The introductory video is available on YouTube for anyone with interest, and all subsequent lessons will run on the ‘Theory of Bitcoin‘ channel.

Watch the previous episodes of the Theory of Bitcoin on the Theory of Bitcoin YouTube channel here or check out CoinGeek’s recaps and analyses of the series here.

New to Bitcoin? Check out CoinGeek’s Bitcoin for Beginners section, the ultimate resource guide to learn more about Bitcoin—as originally envisioned by Satoshi Nakamoto—and blockchain.

[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]