Bitcoin Forum
August 16, 2024, 09:24:21 AM *
News: Latest Bitcoin Core release: 27.1 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / Re: Storing scripts (smart contracts) outside the blockchain on: March 15, 2016, 03:27:19 PM
I think I did not explained myself properly.

I'm thinking about different blockchain implementations.

Imagine that I'm creating a private specialized network that will process complex contracts.

Would there be any way that I could store contratcs outside the blockchain and just reference them in the transactions?
2  Bitcoin / Development & Technical Discussion / Storing scripts (smart contracts) outside the blockchain on: March 15, 2016, 12:52:47 PM
I'm following "Mastering Bitcoin" from Andreas Antonopoulos in order to understande the Bitcoin implementation.

In the chapter about transactions, he points some advantages of P2SH transactions:

  • Complex scripts are replaced by shorter fingerprints in the transaction output, making the transaction smaller.
  • Scripts can be coded as an address, so the sender and the sender’s wallet don’t need complex engineering to implement P2SH.
  • P2SH shifts the burden of constructing the script to the recipient, not the sender.
  • P2SH shifts the burden in data storage for the long script from the output (which is in the UTXO set) to the input (stored on the blockchain).
  • P2SH shifts the burden in data storage for the long script from the present time (payment) to a future time (when it is spent).
  • P2SH shifts the transaction fee cost of a long script from the sender to the recipient, who has to include the long redeem script to spend it.

About item 4, it still looks suboptimal to me.

Imagine that I have a firm where in order to spend the payment from customers I also have to get the signatures from at least 1 of 2 other partners. My script would look like:

Code:
2 <My PubKey> <Partner 1's PubKey> <Partner 2's PubKey> 3 OP_CHECKMULTISIG

So, for every incoming payments that I'd like to spend, my scriptSig would have to be bloated with the script above plus 2 signatures <sig1> <sig2>.

Imagine that I'll have thousands of these transactions, this would be bloating the blockchain, probably decreasing the processing capabilities of the network.

I was wondering: is there any way of mantaining these scripts as "accounts" in "script wallets" and not storing it inside the blockchain?

When there is need for validation, I could simply retrieve this script form the "wallet" and check the transaction.

How would it be possible?
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!