Bitcoin Forum
March 28, 2023, 12:08:26 PM *
News: Latest Bitcoin Core release: 24.0.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Can Bitcoin Script be extended to be Turing Complete?  (Read 834 times)
ptrk (OP)
Member
**
Offline Offline

Activity: 136
Merit: 90


View Profile
August 23, 2017, 05:52:23 PM
Merited by ETFbitcoin (1)
 #1

I deal with Bitcoin Script and its opportunities.

Can stack-based language Bitcoin Script be transformed in a turing complete language by doing a hard fork in principle?
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1680005306
Hero Member
*
Offline Offline

Posts: 1680005306

View Profile Personal Message (Offline)

Ignore
1680005306
Reply with quote  #2

1680005306
Report to moderator
knircky
Member
**
Offline Offline

Activity: 99
Merit: 10


View Profile
August 23, 2017, 07:04:32 PM
 #2

I deal with Bitcoin Script and its opportunities.

Can stack-based language Bitcoin Script be transformed in a turing complete language by doing a hard fork in principle?

Does segwit now allow to add a different script language? So i think the answer should be yes.

nicosey
Full Member
***
Offline Offline

Activity: 347
Merit: 107


View Profile
August 28, 2017, 06:33:18 AM
 #3

Doesn't this link up with upcoming MAST support?
QueenOf
Sr. Member
****
Offline Offline

Activity: 546
Merit: 250


View Profile
August 28, 2017, 12:14:16 PM
 #4

I deal with Bitcoin Script and its opportunities.

Can stack-based language Bitcoin Script be transformed in a turing complete language by doing a hard fork in principle?
i think Bitcoin script has no facilities for looping or recursion,different with Ethereum script,are Turing-complete, at least in principle, supporting looping constructs.
coinmachina
Newbie
*
Offline Offline

Activity: 28
Merit: 11


View Profile
August 28, 2017, 02:47:20 PM
 #5

I deal with Bitcoin Script and its opportunities.

Can stack-based language Bitcoin Script be transformed in a turing complete language by doing a hard fork in principle?

You can change any aspect of Bitcoin by doing a hard fork. So you could also introduce a scripting language that is more powerful than the current Bitcoin script.
amaclin1
Sr. Member
****
Offline Offline

Activity: 742
Merit: 305


View Profile
August 28, 2017, 03:47:47 PM
Merited by ETFbitcoin (2)
 #6

I deal with Bitcoin Script and its opportunities.
Can stack-based language Bitcoin Script be transformed in a turing complete language by doing a hard fork in principle?
No. (Without hardfork)
But everything can be implemented by next segwit script versions (today we use segwit_v0) if community votes for it

The right question is: why do you need turing complete language and scripts in bitcoin?

Does segwit now allow to add a different script language? So i think the answer should be yes.
The current segwit (v0) does not allow anything except old bitcoin opcodes

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
luv2drnkbr
Hero Member
*****
Offline Offline

Activity: 793
Merit: 1007



View Profile
August 28, 2017, 11:02:38 PM
Merited by ETFbitcoin (1)
 #7

If Brainfuck is Turing complete, then unused Bitcoin op codes can become Turing complete.

gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 3864
Merit: 7349



View Profile
August 30, 2017, 01:18:48 AM
Merited by ETFbitcoin (2)
 #8

Yes, via segwit script versioning.

But it is provably useless to have turing complete script: https://www.reddit.com/r/Bitcoin/comments/666ihb/posts_theorem_and_blockchain_languages_why_turing/
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!