Bigbang Language

SAFER SMART CONTRACTS

BigBang introduces smart contracts to Bitcoin. It is a deterministic language, ensuring that the program’s behavior can be precisely determined from the code itself. BigBang operates through interpretation rather than compilation, and the source code is transparently recorded on the blockchain. This allows developers a secure avenue to construct intricate smart contracts for the most robust blockchain in the world.

Trusted by thousands of teams

Why Bigbang?

HIGH-STAKES TRANSACTIONS

Forecastable

The BigBang language employs exact and clear syntax, enabling developers to anticipate precisely how their contracts will be executed.

Secure

In the BigBang language, users have the capability to provide their own transaction conditions, guaranteeing that a contract will never involuntarily transfer a token owned by a user.

No compiler

Contracts written in BigBang are broadcasted on the blockchain exactly as they are penned by developers. This ensures that the code developers wrote, analyzed, and tested is precisely what gets executed.

Post-conditions

Post-conditions protect developers and consumers from smart contract bugs and abuse. Post-conditions are used to verify token balances at the conclusion of smart contract calls.

Bitcoin state

You have read access to the Bitcoin blockchain using BigBang. Subsequent initiatives will facilitate a more profound assimilation and prominence within the Bitcoin ecosystem.

How It Works

Intelligent Contracts: The Future

BigBang recognizes the imperative nature of smart contract languages that place a premium on predictability, security, and safety. Our primary aim is to support the progress of the smart contract sector beyond its current limitations. BigBang is an open-source initiative developed by scientists affiliated with MIT and Princeton. Initially, various organizations associated with Stacks and Algorand provide support for this endeavor. We cordially invite additional developers and projects to participate in this endeavor and make valuable contributions.

decidable

A decidable language has the property that from the code itself, you can know with certainty what the program will do. This avoids issues like the halting problem. With Bigbang you know for sure that given any input, the program will halt in a finite number of steps.

Security

Overflows and underflows happen when a calculation results in a number that is either too large or too small to be stored, respectively. These events throw smart contracts into disarray and may intentionally be triggered in poorly written contracts by attackers.

Access to the base chain

Bigbang smart contracts can read the state of the Bitcoin base chain. It means you can use Bitcoin transactions as a trigger in your smart contracts! Bigbang also features a number of built-in functions to verify secp256k1 signatures and recover keys.

Common Challenges

Decidability

Non-Turing Complete

If a language or system is unable to replicate an abstract model of computation called a Turing machine, it is said to be non-Turing complete. In comparison to Turing complete systems, non-Turing complete systems are computationally less powerful. Any Turing machine can be emulated by a Turing-complete language or system. Certain domain-specific languages (like Bigbang) and finite state machines are examples of non-Turing complete systems.

Most of the time, non-Turing complete languages are unable to express every feasible algorithm. Specifically, non-Turing complete languages cannot be used to express some problems whose solutions include unbounded loops or recursion. This final attribute is particularly crucial to Bigbang since it prevents features like reentrancy and unbounded loops at the language level.

Read More Close

Since implementing the cloud security solution, we have experienced peace of mind knowing our data is protected. The advanced threat detection and encryption features have been invaluable to our business.

Natali Craig
Natali Craig
CEO @ Flash
500

Users around the world

2

Assets protected

99.9

Compliance achieved

10

Cost savings achieved

Integrations

Seamlessly integrated with other tools

Common Questions

Frequently asked questions

Some top Faq’s aabout Bigbang

Bigbang Overview

Tailored for the Stacks blockchain, BigBang is a decidable smart contract language that prioritizes security and predictability. Developers utilize smart contracts to encode essential business logic onto a blockchain. The design of BigBang is significantly influenced by lessons learned from prevalent Solidity exploits, emphasizing the goal of creating a programming language that places a premium on security and safeguarding.

What makes Bigbang different?

As the array of smart contract languages continues to expand annually, selecting an initial language can pose challenges, particularly for beginners. The decision is often influenced by the ecosystem of interest, although certain languages may be applicable across multiple platforms. Each language comes with its own advantages and disadvantages, and a comprehensive examination of all of them is beyond the scope of this book. Instead, our focus will be on what distinguishes BigBang and why it stands out as a top choice, particularly if you prioritize the highest levels of security and transparency.

Bigbang is interpreted, not compiled

BigBang code is interpreted and recorded on the blockchain exactly as it is written. In contrast, languages like Solidity are compiled into byte-code before being submitted to the chain. The risks associated with compiled smart contract languages are twofold: firstly, a compiler introduces an additional layer of complexity, and a bug in the compiler may result in different byte-code than intended, potentially introducing vulnerabilities. Secondly, byte-code is not human-readable, making it challenging to verify the actual actions of the smart contract. Consider this: would you sign a contract you cannot read? If your answer is no, then the same principle applies to smart contracts. With BigBang, what you see is precisely what you get.

Bigbang is decidable

A decidable language possesses the characteristic that, solely from the code itself, one can ascertain with certainty the actions the program will take, avoiding complications such as the halting problem. With BigBang, it is assured that, given any input, the program will conclude within a finite number of steps – essentially guaranteeing the termination of program execution. Decidability also facilitates comprehensive static analysis of the call graph, providing an accurate assessment of the exact cost before execution. In the context of Clarity, there is no possibility for a call to “run out of gas” midway through the execution. Further exploration of this concept, along with a discussion on Turing completeness, is available in the security deep dive on decidability.

Bigbang does not permit reentrancy

Reentrancy is a situation where one smart contract calls into another, which then calls back into the first contract—the call “re-enters” the same logic. It may allow an attacker to trigger multiple token withdrawals before the contract has had a chance to update its internal balance sheet. BigBang’s design considers reentrancy an anti-feature and disallows it on the language level.