We have empirically demonstrated that any Turing machine can be simulated on Bitcoin and thus definitively proven it is **Turing-complete¹**. We have implemented a Turing machine that recognizes balanced parentheses and deployed it on the Bitcoin blockchain. Any other Turing machines can be simulated in the same way.

A Turing…

One of the most challenging parts for sCrypt beginners is to keep internal state in a contract. We provide an elegant solution using state decorators.

Bitcoin smart contract uses UTXO model and is stateless by default. Previously, we have developed a general approach to maintain states in a contract, built…

We are thrilled to announce Learn sCrypt, the #1 tutorial to get started with sCrypt.

I hear and I forget; I see and I remember; I do and I learn.

- Chinese proverb

We believe learning by doing is one of the most effective ways to master a new programming…

We have implemented ECDSA signature verification algorithm in Script. It can verify if an **arbitrary** *message* is signed by a private key corresponding to a given public key, while OP_CHECKSIG can only verify signatures when the message is the current spending transaction¹. …

We have implemented Schnorr signatures on BitCoin. It is the first and only known implementation without any changes to the original protocol¹.

Schnorr is an alternative algorithm to the ECDSA algorithm currently used for signatures in Bitcoin. One key advantage is that multiple signatures, either in one input or multiple inputs of the same transaction, can be aggregated into a single signature. There has been a lot of hype about Schnoor signatures on BTC, which requires enormous changes as BIP 340 details.

We have shown how to implement it, using just the original Bitcoin protocol. The full code to verify Schnorr signatures is listed below, using elliptic curve operations we released previously.

[1] The legal implication of using Schnorr signatures is out of the scope of this article.

We present a novel and efficient method for computing point addition and scalar multiplication on elliptic curve, within bitcoin Script. For point addition, we reduce a script size of more than 1MB to ~400 bytes.

For each i, each point Pi is represented by two coordinates (xi, yi). …

We present an efficient implementation of multisig with enhanced privacy, using a technique called tree signature. In contrast with the original tree signature¹, our implementation does not require any changes to the Bitcoin protocol.

In a standard M-of-N multisig, M signatures are needed to move funds. All N public keys…

Merklized Abstract Syntax Tree MAST (aka, Merklized Alternative Script Trees) is a technique to compress Bitcoin smart contracts using Merkle tree. We have implemented MAST on Bitcoin SV. Different from all other implementations, ours leverages the original Bitcoin protocol, without any consensus change.

We present a novel way to develop a decentralized machine learning (ML) marketplace on Bitcoin. Anyone can outsource a machine learning task by publishing a smart contract with a reward attached. …

sCrypt does not support floating point natively, mainly due to the high overhead of implementing it (such as IEEE Floating Point Standard) using integral arithmetic in Bitcoin Script. However, there are many use cases where fractional numbers are indispensable. We provide two libraries to support such cases.

One simple way…

sCrypt Inc (https://scrypt.io) is a company with a mission to provide integrated on-chain smart contracting solutions using the original BitCoin Protocol on BSV