<p>It should be Turing complete. However, every time a contract is invoked, the maximum number of operations the contract can perform is limited. Operations that access a contract must specify an operation count limit to get a limit higher than the default. Higher limits require higher transaction fees.</p>

CC BY-SA 3.0
2013-12-15T01:35:05.040Z
Does the Turing completeness of Ripple allow for denial of service attacks with infinite loops?
makerofthings7
CC BY-SA 3.0
2014-02-23T21:28:17.053Z
@makerofthings7 No, there's a strict limit on how much work a contract can do.
David Schwartz
CC BY-SA 3.0
2013-03-22T13:42:59.897Z
2013-03-22T13:42:59.897Z
David Schwartz
<p>The wiki seems to imply Turing-completeness because no restrictions on jumps are specified here <a href="https://ripple.com/wiki/Contracts#Foundational_Ops" rel="nofollow">https://ripple.com/wiki/Contracts#Foundational_Ops</a>.</p>

<p>Which is it and what (if any) is the actual intention ?</p>

<p>Cheers ...</p>

CC BY-SA 3.0
2013-03-22T08:43:41.933Z
Cool, I didn't even know Ripple had contracts!
ripper234
CC BY-SA 3.0
2013-03-22T09:33:31.933Z
If the language is Turing complete, they will promptly have to be disabled :-)
Alex Kravets
<ripple><contracts>
Is Ripple's Contract language intended to be Turing complete or sub-Turing complete ?
Alex Kravets
# Is Ripple's Contract language intended to be Turing complete or sub-Turing complete ?

(Asked by: username_0 on 2013-03-22)

The wiki seems to imply Turing-completeness because no restrictions on jumps are specified here <https://ripple.com/wiki/Contracts#Foundational_Ops>.

Which is it and what (if any) is the actual intention ?

Cheers ...

**Tags:** ripple, contracts

> **Comments:**
> **username_1**: Cool, I didn't even know Ripple had contracts!  
> **username_0**: If the language is Turing complete, they will promptly have to be disabled :-)  

---

## 1 answers

### Answer by username_2 on 2013-03-22. Score: 5 | Accepted answer

It should be Turing complete. However, every time a contract is invoked, the maximum number of operations the contract can perform is limited. Operations that access a contract must specify an operation count limit to get a limit higher than the default. Higher limits require higher transaction fees.

> **Comments:**
> **username_3**: Does the Turing completeness of Ripple allow for denial of service attacks with infinite loops?  
> **username_2**: @username_3 No, there's a strict limit on how much work a contract can do.  

---

