Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .vitepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@ export default defineConfig({
],

"/script/": [
{ text: "Script Basics", link: "/script/script_basics.md"},
{ text: "Script Success and Failure", link: "/script/script.md" },
{ text: "ASM Representation", link: "/script/asm.md" },
{ text: "Push Operators", link: "/script/push.md" },
Expand Down
9 changes: 4 additions & 5 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,11 @@ hero:
# link: /overview/

features:
- title: All opcodes
details: A small encyclopedia of all current opcodes.
- title: Opcodes
details: An encyclopedia of all current opcodes.
link: /opcodes/

- title: Learn more about bitcoin script
details: More documentation on the nitty gritty of the bitcoin scripting language.
- title: Script
details: The basics of the bitcoin scripting language.
link: /script/

# - title: Proposed opcodes
Expand Down
2 changes: 1 addition & 1 deletion script/index.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Bitcoin Script
The pages in this section explore some of the more meta parts of the bitcoin scripting system.
The pages in this section explore the bitcoin scripting system.
11 changes: 11 additions & 0 deletions script/script_basics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Script Basics

The Bitcoin ledger consists of a large, dynamic set of Unspent Transaction Outputs (UTXOs) monitored by a world-wide network of nodes. Control of these outputs is dictated by private keys, which can cryptographically sign transactions. A signature proves the ownership of a private key without revealing it to the network. Valid signatures result in the reassignment of UTXOs to other owners, a process also known as "spending".

The language through which the network participants communicate is simply called Script or Bitcoin Script. Script is unlike modern programming languages–it most closely resembles a stack-oriented language from the late 1960's called [Forth](https://en.wikipedia.org/wiki/Forth_(programming_language)). Satoshi chose this style for its simplicity and minimal storage requirements.

Some other important properties of Script:

- Turing incomplete – this prevents loop-based denial-of-service attacks on the network

- Stateless – any valid construction contains all necessary information for network participants to validate it