<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bitcoinsv.io/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Liz+Louw</id>
	<title>Bitcoin Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bitcoinsv.io/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Liz+Louw"/>
	<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php/Special:Contributions/Liz_Louw"/>
	<updated>2026-05-28T00:22:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Digital_signatures_in_Bitcoin&amp;diff=3136</id>
		<title>Digital signatures in Bitcoin</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Digital_signatures_in_Bitcoin&amp;diff=3136"/>
		<updated>2024-06-05T12:05:54Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bitcoin whitepaper describes an electronic coin as a chain of digital [[signatures]]. These digital signatures confer practical control, and in most cases, ownership over the coins held in any given script, and can be used as a record of custodial control to trace transfers of control back through the history of the ledger.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
A digital signature isn't merely a message signed using a given keypair, but is a link to an identity. The European Union legislation on digital signatures states that signatures correspond to “data in electronic form which are attached to or logically associated with other electronic data and which serve as a method of authentication”. For more information, see [https://craigwright.net/blog/law-regulation/how-digital-signatures-work/ this article] from Dr Craig Wright.&lt;br /&gt;
&lt;br /&gt;
Bitcoin script allows users to lock/unlock their bitcoin in different ways.&lt;br /&gt;
&lt;br /&gt;
==Elliptical Curve Digital Signature Algorithm (ECDSA) ==&lt;br /&gt;
[[Elliptic Curve Digital Signature Algorithm]] is the most commonly used signature type in Bitcoin. It makes use of the elliptic curve cryptography keypairs referenced in [[Bitcoin address|Bitcoin addresses]] to generate secure signatures from a given message hash.&lt;br /&gt;
&lt;br /&gt;
Using Bitcoin Script, it is possible to create novel systems that use elliptical curve digital signatures, including [[R-Puzzles]], [[multisignature scripts]] and [[Threshold Signatures]].&lt;br /&gt;
&lt;br /&gt;
==Threshold Signatures==&lt;br /&gt;
There have also been practical implementations of [[Threshold Signatures]] in Bitcoin wallets and libraries, which extend Elliptic Curve signatures to enable multiple parties to participate in the creation of a signature, created from a private key that is never explicitly calculated or previously existed. When used in a transaction, a Threshold Signature is no different to a normal ECDSA signature and can be validated using [[OP_CHECKSIG]] and related signature check opcodes.&lt;br /&gt;
&lt;br /&gt;
==Rabin Signatures==&lt;br /&gt;
Researchers at nChain have begun developing methods of validating [https://nchain.com/app/uploads/2018/09/Rabin-Signatures-in-Bitcoin-Cash-v2.pdf Rabin signatures] in Bitcoin script. These signatures could theoretically allow for data collected outside the Bitcoin SV ledger to be evaluated and signed, allowing [[oracle]] functionality within Bitcoin transactions.&lt;br /&gt;
Currently no practical implementation of a Rabin signature in Bitcoin Script exists.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3135</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3135"/>
		<updated>2024-06-05T11:38:47Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [[Satoshi Nakamoto]].  It was first detailed in the Bitcoin Whitepaper in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===What Are Overlay Networks?===&lt;br /&gt;
&lt;br /&gt;
Bitcoin [https://wiki.bitcoinsv.io/index.php/Overlay_networks overlay networks] are special network layers built on top of the Bitcoin blockchain. These networks interpret transaction data in their own unique ways to provide additional services or functionalities beyond sending and receiving Bitcoin.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3134</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3134"/>
		<updated>2024-06-05T11:38:12Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [[Satoshi Nakamoto]].  It was first detailed in the bitcoin in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===What Are Overlay Networks?===&lt;br /&gt;
&lt;br /&gt;
Bitcoin [https://wiki.bitcoinsv.io/index.php/Overlay_networks overlay networks] are special network layers built on top of the Bitcoin blockchain. These networks interpret transaction data in their own unique ways to provide additional services or functionalities beyond sending and receiving Bitcoin.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3133</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3133"/>
		<updated>2024-06-03T10:16:50Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===What Are Overlay Networks?===&lt;br /&gt;
&lt;br /&gt;
Bitcoin [https://wiki.bitcoinsv.io/index.php/Overlay_networks overlay networks] are special network layers built on top of the Bitcoin blockchain. These networks interpret transaction data in their own unique ways to provide additional services or functionalities beyond sending and receiving Bitcoin.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3132</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3132"/>
		<updated>2024-03-22T13:20:57Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===What Are Overlay Networks?===&lt;br /&gt;
&lt;br /&gt;
Bitcoin [https://wiki.bitcoinsv.io/index.php/Overlay_networks overlay networks] are special network layers built on top of the Bitcoin blockchain. These networks interpret transaction data in their own unique ways to provide additional services or functionalities beyond sending and receiving Bitcoin.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Confederacy_Topic_Manager&amp;diff=3131</id>
		<title>Confederacy Topic Manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Confederacy_Topic_Manager&amp;diff=3131"/>
		<updated>2024-03-22T13:16:34Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Confederacy_lookup_services&amp;diff=3130</id>
		<title>Confederacy lookup services</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Confederacy_lookup_services&amp;diff=3130"/>
		<updated>2024-03-22T13:11:41Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3129</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3129"/>
		<updated>2024-03-22T13:10:28Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===What Are Overlay Networks?===&lt;br /&gt;
&lt;br /&gt;
Bitcoin [https://wiki.bitcoinsv.io/index.php/Overlay_networks overlay networks] are special network layers built on top of the Bitcoin blockchain. These networks interpret transaction data in their own unique ways to provide additional services or functionalities beyond sending and receiving Bitcoin.&lt;br /&gt;
&lt;br /&gt;
===What are Confederacy Topic Managers?===&lt;br /&gt;
&lt;br /&gt;
A [[Confederacy Topic Manager]] in a Bitcoin overlay network serves as a tangential party that applies a predefined set of rules to transactions to determine the admissibility of Unspent Transaction Outputs (UTXOs) into a specific overlay topic. Topic managers are essential to Confederacy's operation, helping facilitate the efficient execution of transactions within the federation of servers tracking certain topics within the Bitcoin network.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Confederacy_lookup_services&amp;diff=3128</id>
		<title>Confederacy lookup services</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Confederacy_lookup_services&amp;diff=3128"/>
		<updated>2024-02-20T11:04:50Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: Created page with &amp;quot;Confederacy lookup services are integral modules in Confederacy that facilitate the location and retrieval of specific Unspent Transaction Outputs (UTXOs) within a given topic...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Confederacy lookup services are integral modules in Confederacy that facilitate the location and retrieval of specific Unspent Transaction Outputs (UTXOs) within a given topic, based on submitted queries. Serving as dynamic data management reservoirs, these services utilise the specifics of incoming UTXO events to build elaborate data stores, which are then used for indexing and parsing UTXO data.&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=SYKVmbajBj0 Watch our video about Confederacy Lookup Services]&lt;br /&gt;
&lt;br /&gt;
A Confederacy lookup service reacts to UTXO events - both entries and exits within a particular topic. Whenever a Topic Manager running on the Confederacy instance admits new outputs to any topic or an output gets spent, the lookup service considers these events, feeding them into its datastore for indexing. This custom datastore caters to each service's specific requirements and can apply deep analytical and indexing methodologies to make sense of the data, structure it, and provide responses to queries.&lt;br /&gt;
&lt;br /&gt;
When a lookup service provider receives a search query, the service uses the information from the query to perform a datastore search. The lookup service responds with a standard format (BRC-36) response to the user, indicating a set of UTXOs responsive to the query. It is noteworthy that the service decides its datastore organisation and search algorithm independently, catering to the protocol of the specified overlay network.&lt;br /&gt;
&lt;br /&gt;
Confederacy hosts also have the opportunity to monetise the use of their lookup services by using PacketPay, a base-layer monetisation system. The hosts can establish their fee models for the services, enabling receiving money from users for access to data and, in some cases, paying other nodes for data synchronisation. The flexibility of the PacketPay system allows for unique monetisation strategies tailored per Confederacy node, ensuring that the system is not only functional but also profitable for the node operators.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3127</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3127"/>
		<updated>2024-02-20T11:03:08Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===What Are Overlay Networks?===&lt;br /&gt;
&lt;br /&gt;
Bitcoin [https://wiki.bitcoinsv.io/index.php/Overlay_networks overlay networks] are special network layers built on top of the Bitcoin blockchain. These networks interpret transaction data in their own unique ways to provide additional services or functionalities beyond sending and receiving Bitcoin.&lt;br /&gt;
&lt;br /&gt;
===What are Confederacy Topic Managers?===&lt;br /&gt;
&lt;br /&gt;
A [[Confederacy Topic Manager]] in a Bitcoin overlay network serves as a tangential party that applies a predefined set of rules to transactions to determine the admissibility of Unspent Transaction Outputs (UTXOs) into a specific overlay topic. Topic managers are essential to Confederacy's operation, helping facilitate the efficient execution of transactions within the federation of servers tracking certain topics within the Bitcoin network.&lt;br /&gt;
&lt;br /&gt;
===What are Confederacy Lookup Services?===&lt;br /&gt;
&lt;br /&gt;
[[Confederacy lookup services]] are integral modules in Confederacy that facilitate the location and retrieval of specific Unspent Transaction Outputs (UTXOs) within a given topic, based on submitted queries. Serving as dynamic data management reservoirs, these services utilise the specifics of incoming UTXO events to build elaborate data stores, which are then used for indexing and parsing UTXO data.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Confederacy_Topic_Manager&amp;diff=3126</id>
		<title>Confederacy Topic Manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Confederacy_Topic_Manager&amp;diff=3126"/>
		<updated>2024-01-29T08:57:11Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Confederacy Topic Manager in a Bitcoin overlay network serves as a tangential party that applies a predefined set of rules to transactions to determine the admissibility of [https://www.bsvblockchain.org/news/understanding-utxos-the-fundamental-building-blocks-of-bitcoin Unspent Transaction Outputs (UTXOs)] into a specific overlay topic. Topic managers are essential to Confederacy's operation, helping facilitate the efficient execution of transactions within the federation of servers tracking certain topics within the Bitcoin network.&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=PVWpTg7TTQk Watch the video on Confederacy Topic Managers.]&lt;br /&gt;
&lt;br /&gt;
The primary function of Topic Managers lies in assessing incoming transactions' compatibility with the rules established for a particular overlay topic. By examining these rules, Topic Managers can filter transactions, admitting only those whose UTXOs meet the criteria stipulated by the overlay network. This mechanism promotes transaction efficiency and maintains the desired structure and standards of the overlay network.&lt;br /&gt;
&lt;br /&gt;
However, Topic Managers do not solely assess incoming transactions. Their functionalities extend to incorporate information related to previous UTXOs from the same topic that have just been spent by an incoming transaction. The consumption of UTXOs by new transactions often alters the desired outcome, with implications for the admissibility of new UTXOs. Topic Managers keep track of these changes, taking transformations into account to maintain the balance and rules of their specific overlay topics.&lt;br /&gt;
&lt;br /&gt;
Given their pivotal role in orchestrating transactions and managing changes within overlay topics, Topic Managers are deployed in an effective implementation of the Confederacy system. They uphold the goals of specific overlays and stand as crucial components of the Confederacy network's secure, decentralised, and efficient operation.&lt;br /&gt;
&lt;br /&gt;
In summary, Confederacy Topic Managers are mandated with the task of facilitating the acceptance of transactions within Bitcoin's overlay network, precisely managing UTXOs' admissibility into specific topics and capturing the dynamism and complexity of Bitcoin transactions. They play an integral role in Confederacy, helping maintain the integrity, efficiency, and scalability of Bitcoin overlay networks' operations.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Confederacy_Topic_Manager&amp;diff=3125</id>
		<title>Confederacy Topic Manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Confederacy_Topic_Manager&amp;diff=3125"/>
		<updated>2024-01-29T08:55:43Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Confederacy Topic Manager in a Bitcoin overlay network serves as a tangential party that applies a predefined set of rules to transactions to determine the admissibility of Unspent Transaction Outputs (UTXOs) into a specific overlay topic. Topic managers are essential to Confederacy's operation, helping facilitate the efficient execution of transactions within the federation of servers tracking certain topics within the Bitcoin network.&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=PVWpTg7TTQk Watch the video on Confederacy Topic Managers.]&lt;br /&gt;
&lt;br /&gt;
The primary function of Topic Managers lies in assessing incoming transactions' compatibility with the rules established for a particular overlay topic. By examining these rules, Topic Managers can filter transactions, admitting only those whose UTXOs meet the criteria stipulated by the overlay network. This mechanism promotes transaction efficiency and maintains the desired structure and standards of the overlay network.&lt;br /&gt;
&lt;br /&gt;
However, Topic Managers do not solely assess incoming transactions. Their functionalities extend to incorporate information related to previous UTXOs from the same topic that have just been spent by an incoming transaction. The consumption of UTXOs by new transactions often alters the desired outcome, with implications for the admissibility of new UTXOs. Topic Managers keep track of these changes, taking transformations into account to maintain the balance and rules of their specific overlay topics.&lt;br /&gt;
&lt;br /&gt;
Given their pivotal role in orchestrating transactions and managing changes within overlay topics, Topic Managers are deployed in an effective implementation of the Confederacy system. They uphold the goals of specific overlays and stand as crucial components of the Confederacy network's secure, decentralised, and efficient operation.&lt;br /&gt;
&lt;br /&gt;
In summary, Confederacy Topic Managers are mandated with the task of facilitating the acceptance of transactions within Bitcoin's overlay network, precisely managing UTXOs' admissibility into specific topics and capturing the dynamism and complexity of Bitcoin transactions. They play an integral role in Confederacy, helping maintain the integrity, efficiency, and scalability of Bitcoin overlay networks' operations.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Confederacy_Topic_Manager&amp;diff=3124</id>
		<title>Confederacy Topic Manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Confederacy_Topic_Manager&amp;diff=3124"/>
		<updated>2024-01-29T08:54:20Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: Created page with &amp;quot;A Confederacy Topic Manager in a Bitcoin overlay network serves as a tangential party that applies a predefined set of rules to transactions to determine the admissibility of...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Confederacy Topic Manager in a Bitcoin overlay network serves as a tangential party that applies a predefined set of rules to transactions to determine the admissibility of Unspent Transaction Outputs (UTXOs) into a specific overlay topic. Topic managers are essential to Confederacy's operation, helping facilitate the efficient execution of transactions within the federation of servers tracking certain topics within the Bitcoin network.&lt;br /&gt;
&lt;br /&gt;
Watch the video on Confederacy Topic Managers.&lt;br /&gt;
&lt;br /&gt;
The primary function of Topic Managers lies in assessing incoming transactions' compatibility with the rules established for a particular overlay topic. By examining these rules, Topic Managers can filter transactions, admitting only those whose UTXOs meet the criteria stipulated by the overlay network. This mechanism promotes transaction efficiency and maintains the desired structure and standards of the overlay network.&lt;br /&gt;
&lt;br /&gt;
However, Topic Managers do not solely assess incoming transactions. Their functionalities extend to incorporate information related to previous UTXOs from the same topic that have just been spent by an incoming transaction. The consumption of UTXOs by new transactions often alters the desired outcome, with implications for the admissibility of new UTXOs. Topic Managers keep track of these changes, taking transformations into account to maintain the balance and rules of their specific overlay topics.&lt;br /&gt;
&lt;br /&gt;
Given their pivotal role in orchestrating transactions and managing changes within overlay topics, Topic Managers are deployed in an effective implementation of the Confederacy system. They uphold the goals of specific overlays and stand as crucial components of the Confederacy network's secure, decentralised, and efficient operation.&lt;br /&gt;
&lt;br /&gt;
In summary, Confederacy Topic Managers are mandated with the task of facilitating the acceptance of transactions within Bitcoin's overlay network, precisely managing UTXOs' admissibility into specific topics and capturing the dynamism and complexity of Bitcoin transactions. They play an integral role in Confederacy, helping maintain the integrity, efficiency, and scalability of Bitcoin overlay networks' operations.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3123</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3123"/>
		<updated>2024-01-29T08:53:41Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===What Are Overlay Networks?===&lt;br /&gt;
&lt;br /&gt;
Bitcoin [https://wiki.bitcoinsv.io/index.php/Overlay_networks overlay networks] are special network layers built on top of the Bitcoin blockchain. These networks interpret transaction data in their own unique ways to provide additional services or functionalities beyond sending and receiving Bitcoin.&lt;br /&gt;
&lt;br /&gt;
===What are Confederacy Topic Managers?===&lt;br /&gt;
&lt;br /&gt;
A [[Confederacy Topic Manager]] in a Bitcoin overlay network serves as a tangential party that applies a predefined set of rules to transactions to determine the admissibility of Unspent Transaction Outputs (UTXOs) into a specific overlay topic. Topic managers are essential to Confederacy's operation, helping facilitate the efficient execution of transactions within the federation of servers tracking certain topics within the Bitcoin network.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3122</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3122"/>
		<updated>2024-01-29T08:51:45Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===What Are Overlay Networks?===&lt;br /&gt;
&lt;br /&gt;
Bitcoin [https://wiki.bitcoinsv.io/index.php/Overlay_networks overlay networks] are special network layers built on top of the Bitcoin blockchain. These networks interpret transaction data in their own unique ways to provide additional services or functionalities beyond sending and receiving Bitcoin.&lt;br /&gt;
&lt;br /&gt;
===What are Confederacy Topic Managers?===&lt;br /&gt;
&lt;br /&gt;
A Confederacy Topic Manager in a Bitcoin overlay network serves as a tangential party that applies a predefined set of rules to transactions to determine the admissibility of Unspent Transaction Outputs (UTXOs) into a specific overlay topic. Topic managers are essential to Confederacy's operation, helping facilitate the efficient execution of transactions within the federation of servers tracking certain topics within the Bitcoin network.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3117</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3117"/>
		<updated>2023-10-09T15:56:31Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Tools and Building on Bitcoin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3116</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3116"/>
		<updated>2023-10-09T15:56:04Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Tools and Building on Bitcoin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;br /&gt;
&lt;br /&gt;
[https://wiki.bitcoinsv.io/index.php/New_page_here/ new page]&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3115</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3115"/>
		<updated>2023-10-09T15:55:40Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Tools and Building on Bitcoin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3114</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3114"/>
		<updated>2023-10-09T15:55:05Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Tools and Building on Bitcoin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;br /&gt;
&lt;br /&gt;
[https://wiki.bitcoinsv.io/index.php/Main_Page/ Wiki BitcoinSV]&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3113</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3113"/>
		<updated>2023-10-09T15:51:42Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Network rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3112</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3112"/>
		<updated>2023-10-09T15:51:27Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Network rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:paragraph --&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Blockchain 1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list --&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain 2a&amp;lt;!-- wp:list {&amp;quot;ordered&amp;quot;:true} --&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockhain12&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain 4&amp;lt;!-- wp:list {&amp;quot;ordered&amp;quot;:true} --&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain 5&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain 6&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain 5&amp;lt;!-- wp:list --&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;https://en.wikipedia.org/wiki/Help:Wikitext&amp;quot; target=&amp;quot;_blank&amp;quot; rel=&amp;quot;noreferrer noopener nofollow&amp;quot;&amp;gt;Blockchain 7 and 8&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:paragraph --&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Blockchain&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:paragraph --&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3111</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3111"/>
		<updated>2023-10-09T15:49:58Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Network rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3110</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3110"/>
		<updated>2023-10-09T15:49:39Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Network rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:paragraph --&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Blockchain 1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list --&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain 2a&amp;lt;!-- wp:list --&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockhain12&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain 4&amp;lt;!-- wp:list --&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain 5&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain 6&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Blockchain 5&amp;lt;!-- wp:list --&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;https://en.wikipedia.org/wiki/Help:Wikitext&amp;quot; target=&amp;quot;_blank&amp;quot; rel=&amp;quot;noreferrer noopener nofollow&amp;quot;&amp;gt;Blockchain 7 and 8&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:paragraph --&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Blockchain&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:paragraph --&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3109</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3109"/>
		<updated>2023-10-09T15:46:16Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Network rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3108</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3108"/>
		<updated>2023-10-09T15:45:55Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Network rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:heading --&amp;gt;&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;wp-block-heading&amp;quot; id=&amp;quot;h-heading-1&amp;quot;&amp;gt;Heading 1&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:heading --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list --&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;bullet list 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:list-item --&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;bullet list 2&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list-item --&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:list --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wp:paragraph --&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=New_page_here&amp;diff=3107</id>
		<title>New page here</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=New_page_here&amp;diff=3107"/>
		<updated>2023-10-09T15:31:10Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3106</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3106"/>
		<updated>2023-10-09T15:28:06Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Network rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=New_page_here&amp;diff=3105</id>
		<title>New page here</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=New_page_here&amp;diff=3105"/>
		<updated>2023-10-09T15:27:36Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: Created page with &amp;quot;example&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;example&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3104</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3104"/>
		<updated>2023-10-09T15:22:38Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Network rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
[[new page here]]&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3103</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3103"/>
		<updated>2023-10-09T15:17:04Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Tools and Building on Bitcoin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3102</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=3102"/>
		<updated>2023-10-09T15:15:56Z</updated>

		<summary type="html">&lt;p&gt;Liz Louw: /* Tools and Building on Bitcoin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [https://bitcoinsv.io/bitcoin.pdf Bitcoin Whitepaper] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009. The Bitcoin ledger and [[Blockchain]] were established with the generation of the [[Genesis block]] on the 3rd of January 2009 and the mining of Block 1 six days later on the 9th of January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows electronic payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
 &lt;br /&gt;
The leaderless structure of the network is viewed as a resolution to [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction. This solves several issues previously seen as unsolvable in distributed networks, including the problem of preventing [[Double-spending]] of coins.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
Bitcoin is primarily a [[Payments in Bitcoin|payment system]] which supports peer to peer connection and [[Instant Transactions]]. Early in the [[History of Bitcoin]] payments required users to understand complicated technical details of Bitcoin's technological underpinnings to make transactions. But developments such as [[Paymail]] and [[Simplified Payment Verification]] are changing the landscape and making it much easier for users to connect and leverage the blockchain for the [[back-end]] of their applications.&lt;br /&gt;
&lt;br /&gt;
Bitcoin also supports the development of [[Application layer protocol|application layer protocols]] which make use of [[Bitcoin Transactions]] as a transport layer for information exchange. Several Application layer protocols already exist for BitcoinSV - for more detail see [[Building on Bitcoin]]. [[The Metanet]] fuses Bitcoin's highly secure and instant [[Transaction fees|sub-cent transactions]] with onchain data storage and transferability enabling efficient and secure web usage. This will bring forth an Internet of Value where [[Micropayment]]s become a means to both access and monetize data.&lt;br /&gt;
&lt;br /&gt;
Applications which make use of the immutable nature of the [[Blockchain|Bitcoin Ledger]] to store and retrieve data are emerging at an increasing rate. [[False Return]] scripts and other scripts that use [[Pushdata Opcodes]] to push data into Bitcoin transactions are creating new ways of recording data for public consumption. Bitcoin acts as a [[Timechain|timestamp server]] allowing data to be validated and referenced using transactions.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
[[The Bitcoin Network]] is the network that all peers use to access the ledger. The network forms spontaneously over time as more peers access and use the system. There is no central governance that determines how peers on the network must connect, but the incentive structure that Bitcoin employs to bring enterprise miners into the system results in the formation of a small world network which is simple and resilient. &lt;br /&gt;
&lt;br /&gt;
Once the final restrictions on the [[protocol]] are removed in the [[Chronicle Update]] (expected early-mid 2021) network users will be able to create partitioned zones which employ specific rulesets particular to their requirements. This will be enabled by creating transactions that use [[OP_VER]] to give particular subsets of nodes specialised instructions, and will create the effect of layered network partitions over the core system which are referred to as [[Bitcoin Layered Networks]].&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is a record of all valid transactions that have ever been transmitted to the network. The ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed Acyclic Graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of [[Digital Signatures in Bitcoin|digital signatures]] maps out the entire history of valid exchange actions, allowing the tracing of all bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Chain_of_Signatures.png|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the ledger by miners in [[Block|Blocks]]. A block consists of a [[Block hashing algorithm#Block_Header|header]] which contains a timestamp, a reference to the block it builds on, a valid [[Proof of Work]] and the double [[SHA-256]] hash of the root of a [[wikipedia:Merkle Tree|Merkle tree]] generated with a list of transactions, and the list of transactions. Most nodes use compact block propagation techniques which [[compress]] the list of transactions to a much smaller size rather than broadcasting the full block. Receiving Nodes must decompress the block using a list of validated transactions that they have also compacted.&lt;br /&gt;
&lt;br /&gt;
Blocks form a second layer DAG called the [[Blockchain]] which is built by [[Mining|network miners]] in a competitive process. Each block forms a node in the graph with a single incoming edge from the block it is built upon. A block may have more than one outgoing edge in a case where multiple blocks were built upon it, but only one of those edges can become part of the longest chain of proof of work. A block without an edge to the longest chain of proof of work is called an [[Orphan Block]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Block_Chain.png|centre|alt=A chain of blocks]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The structure of the block chain DAG means that there is a clearly traceable path back to the [[Genesis block|first block mined]]. Blocks are discovered just under every 10 minutes on average, with miners using a predefined mathematical algorithm to control the [[difficulty]] of the proof of work process to maintain that time frame.&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer using [[Simplified Payment Verification]] (SPV) to manage trust. SPV involves sending accompanying information with a transaction input that proves it is from a transaction that has been timestamped on the ledger.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Simplified_Payment_Verification.png|centre|alt=Simplified payment verification]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users can exchange unfinalised transactions without sending them to the network to be mined creating what are called [[Payment Channels]].&lt;br /&gt;
Payment channels allow users to conduct information exchange within valid Bitcoin transactions, only broadcasting a finalised transaction including the full value exchange to the mining network once the information transfer is complete.&lt;br /&gt;
&lt;br /&gt;
Once a transactions is sent to the network, global consensus can be reached on the validity in less than 2 seconds. If a transaction is not accepted by any miners and added to a block template, it is considered invalid. Transactions can be invalid for a variety of reasons such as being submitted with an invalid scriptSig, not adhering to [[Protocol|network or miner rules]], or not paying an adequate fee.&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign custodial control to each transaction [[VOUT|output]] via the creation of arbitrary spending conditions defined by scripts.&lt;br /&gt;
&lt;br /&gt;
Each transaction uses bitcoins stored in '[[UTXO|unspent transaction outputs]]' as the transaction inputs. The transaction process aggregates the [[satoshis]] held in each input and spends them into a new set of unspent transaction outputs. When UTXOs are spent in a transaction they are consumed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Transaction.png|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Bitcoin scripting language is [[wikipedia:Turing_completeness|Turing complete]], and can be used to create [[wikipedia:Turing_machine|Turing machines]] that use the Bitcoin ledger as a tape, writing to and reading from the transaction graph as needed.&lt;br /&gt;
&lt;br /&gt;
The scripting language also includes opcodes that allow users to embed arbitrary data in transactions, providing for the creation of [[Application layer protocol|application layer protocols]] that use Bitcoin transactions as a [[wikipedia:Transport layer|transport layer]].&lt;br /&gt;
&lt;br /&gt;
Rewards paid to miners for the creation of a block are inscribed in what is called a [[Coinbase]] transaction. This transaction has a specific format and is always the first transaction in the block's [[wikipedia:Merkle tree|Merkle tree]].&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to enforce network rules. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;img-responsive&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Proof_of_Work.png|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the [[mining]] process, a node gathers transactions from the network on a [[First seen rule|first seen]] basis and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. Hash operators continuously request new block templates through the [[Getminingcandidate]] interface to ensure they are getting up-to-date block data to hash against. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where each miner is connected to most of the other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming something that closely resembles a [[Mandala Network]]. Peers operating in these shell-like layers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
As enterprise organisations, Bitcoin miners must operate as legal entities within a given jurisdiction and as such are bound to the laws and legal processes that exist in that jurisdiction. Through this, miners can be compelled to enact certain rules or perform certain actions in order to comply with the law.&lt;br /&gt;
&lt;br /&gt;
===Alert Key===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are distributed by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;br /&gt;
&lt;br /&gt;
[[new page here]]&lt;/div&gt;</summary>
		<author><name>Liz Louw</name></author>
		
	</entry>
</feed>