Bitcoin Forum
May 27, 2024, 07:23:24 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Stateless verification  (Read 260 times)
fabbit (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 6


View Profile
January 15, 2020, 10:43:39 AM
 #1

What are the advantages of a stateless verification?
BitMaxz
Legendary
*
Offline Offline

Activity: 3262
Merit: 2979


:( My PC broke due trying to recover an old wallet


View Profile WWW
January 15, 2020, 10:51:31 PM
 #2

You might need to read the "Mastering Bitcoin by Andreas M. Antonopoulos" from here below to get some idea.

- https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch05.html

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
fabbit (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 6


View Profile
January 16, 2020, 12:18:06 AM
 #3

You might need to read the "Mastering Bitcoin by Andreas M. Antonopoulos" from here below to get some idea.

- https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch05.html


Actually I read that part of the book but I didn't understand it very well
squatter
Legendary
*
Offline Offline

Activity: 1666
Merit: 1196


STOP SNITCHIN'


View Profile
January 16, 2020, 02:45:18 AM
Merited by Foxpup (3), joniboini (2), pooya87 (1), ABCbits (1), hugeblack (1)
 #4

You might need to read the "Mastering Bitcoin by Andreas M. Antonopoulos" from here below to get some idea.

- https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch05.html
Actually I read that part of the book but I didn't understand it very well

This bit is important:

Quote
Bitcoin scripts have limited complexity and predictable execution times. Script is not a general-purpose language. These limitations ensure that the language cannot be used to create an infinite loop or other form of “logic bomb” that could be embedded in a transaction in a way that causes a denial-of-service attack against the bitcoin network. Remember, every transaction is validated by every full node on the bitcoin network. A limited language prevents the transaction validation mechanism from being used as a vulnerability.

Compare this to Ethereum, which was persistently attacked in 2016 with denial-of-service attacks.

Another obvious advantage of Bitcoin's model is superior long term scalability. Bitcoin only retains a very limited form of state -- namely, the blockchain and the UTXO set. In Ethereum, by comparison, each block contains a "state root" which stores the entire state of the network -- account nonces, account balances, contract bytecode, contract storage. Ethereum allows for much more complexity and functionality vis-a-vis contract programming and is thus considered "stateful" (while Bitcoin is considered "stateless") but it comes at great cost:

Quote
Eventually, as a node processes every block, we can thus expect the total disk space utilization to be, in computer science terms, roughly O(n*log(n)), where n is the transaction load. In practical terms, the Ethereum blockchain is only 1.3 gigabytes, but the size of the database including all these extra nodes is 10-40 gigabytes.

Ultimately, this is probably why the number of Ethereum nodes has plummeted during a period where the number of reachable Bitcoin nodes has steadily grown. To counter unsustainable state growth, Ethereum will need to implement schemes like state rent.

fabbit (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 6


View Profile
January 16, 2020, 11:26:42 PM
 #5

I don't understand this:
Quote
If your system verifies a script, you can be sure that every other system in the bitcoin network will also verify the script, meaning that a valid transaction is valid for everyone and everyone knows this.
If a transaction is valid for everyone and everyone knows, why is the transaction broadcasted?
pooya87
Legendary
*
Offline Offline

Activity: 3458
Merit: 10594



View Profile
January 17, 2020, 04:15:45 AM
 #6

If a transaction is valid for everyone and everyone knows, why is the transaction broadcasted?

if you don't broadcast the transactions then how are you going to let everyone else know that you have spent some "coins" (aka transaction outputs) and let every node that holds the blockchain (that contains these coins) update their database?

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
fabbit (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 6


View Profile
January 17, 2020, 11:29:02 AM
 #7

Mh I mean when a node received the broadcasted transaction why does the node check for transaction's validation? I mean the node should already known that the transaction is valid for stateless verification principle.
ranochigo
Legendary
*
Offline Offline

Activity: 2982
Merit: 4193



View Profile
January 18, 2020, 08:14:35 AM
Merited by joniboini (2)
 #8

Mh I mean when a node received the broadcasted transaction why does the node check for transaction's validation? I mean the node should already known that the transaction is valid for stateless verification principle.
Stateless verification only means that the information required to validate a script is contained within the script itself. This does not necessary mean that a script is guaranteed to be valid. This only means that the script will be executed the same way on every client. The only way for the individual clients to know if a script is valid is that if they check for it themselves.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
fabbit (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 6


View Profile
January 19, 2020, 10:51:30 PM
 #9

But if a script will be executed the same way in every client, if my node verifies the script than all other nodes verify the script too, because the behaviour is the same in every node?
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!