10 Essential Blockchain Interview Questions *

Toptal sourced essential questions that the best blockchain developers can answer. Driven from our community, we encourage experts to submit questions and offer feedback.

Hire a Top Blockchain Developer Now
Toptal logois an exclusive network of the top freelance software developers, designers, finance experts, product managers, and project managers in the world. Top companies hire Toptal freelancers for their most important projects.

Interview Questions

1.

How are transactions and blocks encrypted in the Bitcoin implementation?

View answer

Bitcoin blocks are not encrypted in any way: Every block is public. What prevents modifications and guarantees data integrity is a value called the block hash. Block content is processed using a special hash function—in the case of Bitcoin, it’s SHA256—and the resulting value is included in the blockchain.

2.

Explain why a blockchain needs tokens to operate.

View answer

Coins/tokens are used to implement changes between states. When somebody does a transaction, this is a change of state, and coins are moved from one address to another. Apart from that, transactions can contain additional data, and a change of state is used to mutate data—the only way to do this in an immutable-by-definition blockchain. Technically, a blockchain doesn’t need coins for its essential operations, but without them, some other way needs to be introduced to manage states of the chain and to verify transactions.

3.

How does peer discovery work in a peer-to-peer (P2P) network?

View answer

When a new node boots up, it doesn’t know anything about the network, because there is no central server. Usually developers provide a list of trusted nodes written directly into the code that can be used for initial peer discovery.

Apply to Join Toptal's Development Network

and enjoy reliable, steady, remote Freelance Blockchain Developer Jobs

Apply as a Freelancer
4.

How do verifiers check if a block is valid?

View answer

Every full node on the network does block verification. When a new block is announced, every node that receives it does a list of checks. The two most important checks are of proof of work (if a block provides enough work to be included into chain) and of the validity of all transactions (each transaction must be valid).

5.

What is a scriptPubKey? Explain how a P2SH address can be spent.

View answer

A scriptPubKey is a so-called “locking script.” It’s found in transaction output and is the encumbrance that must be fulfilled to spend the output.

P2SH is a special type of address where the complex locking script is replaced with its hash. When a transaction attempting to spend the output is presented later, it must contain the script that matches the hash, in addition to the unlocking script.

6.

Using Script, write a redeem script that will allow a user to spend the output only when the user knows the magic number 1234567.

View answer
OP_EQUALVERIFY
scriptPubKey: 1234567 OP_EQUALVERIFY
scriptSig: 1234567
7.

Using Script, write a redeem script that will allow anyone to spend the output once it has aged for a minimum of 30 days.

View answer
scriptPubKey: "30d" OP_CHECKSEQUENCEVERIFY OP_VERIFY
scriptSig: empty
8.

What is a trapdoor function, and why is it needed in blockchain development?

View answer

A trapdoor function is a function that is easy to compute in one direction but difficult to compute in the opposite direction unless you have special information. Trapdoor functions are essential for public key encryption—that’s why they are commonly used in blockchain development to represent the ideas of addresses and private keys.

9.

What is mining?

View answer

Mining is the process of reaching consensus in blockchain networks. Mining serves two purposes. First, it creates new coins in a generated block. Second, it includes transactions in a distributed ledger by providing proof of work to the network; that is, proof that the generated block is valid.

10.

What is a chain fork?

View answer

Blocks in the ledger are included in such a way as to build the longest chain, i.e., the chain with the greatest cumulative difficulty. Forking is a situation where there are two candidate blocks competing to form the longest blockchain and two miners discover a solution to the proof-of-work problem within a short period of time from each other. The network is then divided, because some nodes get blocks from miner #1 and some from miner #2.

A fork usually gets resolved in one block, because the probability that this situation happens again gets extremely lower with the next blocks that arise, so soon there is a new longest chain that will be considered as main.

(Note: This type of fork is distinct from a hard fork, which is where some developers decide to create a backward-incompatible change to the blockchain protocol, resulting in two forever-distinct blockchains.)

There is more to interviewing than tricky technical questions, so these are intended merely as a guide. Not every “A” candidate worth hiring will be able to answer them all, nor does answering them all guarantee an “A” candidate. At the end of the day, hiring remains an art, a science — and a lot of work.

Why Toptal

Tired of interviewing candidates? Not sure what to ask to get you a top hire?

Let Toptal find the best people for you.

Hire a Top Blockchain Developer Now

Our Exclusive Network of Blockchain Developers

Looking to land a job as a Blockchain Developer?

Let Toptal find the right job for you.

Apply as a Blockchain Developer

Job Opportunities From Our Network

Submit an interview question

Submitted questions and answers are subject to review and editing, and may or may not be selected for posting, at the sole discretion of Toptal, LLC.

* All fields are required

Looking for Blockchain Developers?

Looking for Blockchain Developers? Check out Toptal’s blockchain developers.

Éric Lamontagne

Freelance Blockchain Developer
Canada
Toptal Member Since August 2, 2022

Éric has 23 years of software development experience since obtaining his bachelor's degree in software engineering. He has created a software development consultancy, founded a startup, and published mobile apps in Apple's App Store. He is certified in blockchain and is a Microsoft Certified Solution Developer (MCSD). Éric has worked with organizations of all sizes, from successful startups to corporations in the transportation, media, energy, aeronautics, insurance, and financial sectors.

Show More

David Braun

Freelance Blockchain Developer
United States
Toptal Member Since March 10, 2014

David is a senior software engineering generalist with blockchain and security experience. With two years of management training and strong communication skills, he excels at bridging business requirements with modern technology. His EECS degree from U.C. Berkeley is evidence of his technical depth. David's current passion is building on his experience as a leader to maximize team effectiveness through industry best practices.

Show More

Josef Sevcik

Freelance Blockchain Developer
Switzerland
Toptal Member Since July 9, 2015

Josef is a highly flexible consultant with extensive experience in distributed systems, both from telecommunication and blockchain environments. He can assume various roles based on actual business needs - product owner, architect, analyst, developer, or team leader.

Show More

Toptal Connects the Top 3% of Freelance Talent All Over The World.

Join the Toptal community.

Learn more