BitShares Forum

Main => Technical Support => Topic started by: VoR0220 on August 18, 2015, 01:45:49 am

Title: How goes the Turing Complete side of things?
Post by: VoR0220 on August 18, 2015, 01:45:49 am
Any news on the programmability of smart contracts on the Graphene platform? Any docs on how to develop a smart contract in Graphene? If not, where could I learn more and create documentation?
Title: Re: How goes the Turing Complete side of things?
Post by: xeroc on August 18, 2015, 06:43:52 am
Not so much documentation exists in that regards, I fear.
I still struggle to understand "extensions" that already exist on the chain .. @vikram @bytemaster ?
Title: Re: How goes the Turing Complete side of things?
Post by: luckybit on August 19, 2015, 02:17:02 am
Any news on the programmability of smart contracts on the Graphene platform? Any docs on how to develop a smart contract in Graphene? If not, where could I learn more and create documentation?

Haven given it some thought, I would think it might be in the best interest of Graphene to not be Turing complete. Turing complete is not necessary, and the costs of Turing complete smart contracts are decidability, which impact security if you want to go with the security by correctness model, without any practical benefit.

I reached this conclusion after reading up on Tauchain which will implement a much better designed decideable model. Long term the benefits of the Tauchain model outweigh the benefits of the Ethereum model but take a look for yourselves:
http://tauchain.org/tauchain.pdf

I think before Bytemaster settles on a permanent smart contract system he should at least read the Tauchain whitepaper and study the implications of their design. My own opinion is Tauchain is more flexible, evolveable and for that reason superior but that is only because I don't see any practical necessity for Turing completeness since you can do every algorithm Bitshares could need without having it.

Title: Re: How goes the Turing Complete side of things?
Post by: Ander on August 19, 2015, 02:27:01 am
(http://s17.postimg.org/siv5r3yjz/pqrvv.jpg)
Title: Re: How goes the Turing Complete side of things?
Post by: xeroc on August 19, 2015, 07:02:26 am
@Ander .. lol
Title: Re: How goes the Turing Complete side of things?
Post by: toast on August 19, 2015, 04:04:11 pm
Any news on the programmability of smart contracts on the Graphene platform? Any docs on how to develop a smart contract in Graphene? If not, where could I learn more and create documentation?

Haven given it some thought, I would think it might be in the best interest of Graphene to not be Turing complete. Turing complete is not necessary, and the costs of Turing complete smart contracts are decidability, which impact security if you want to go with the security by correctness model, without any practical benefit.

I reached this conclusion after reading up on Tauchain which will implement a much better designed decideable model. Long term the benefits of the Tauchain model outweigh the benefits of the Ethereum model but take a look for yourselves:
http://tauchain.org/tauchain.pdf

I think before Bytemaster settles on a permanent smart contract system he should at least read the Tauchain whitepaper and study the implications of their design. My own opinion is Tauchain is more flexible, evolveable and for that reason superior but that is only because I don't see any practical necessity for Turing completeness since you can do every algorithm Bitshares could need without having it.

Where is their model actually defined? That paper doesn't really seem to say much..
That said I like the high-level idea about keeping your contract language simple enough to be able to prove correctness, and they definitely understand the domain.
Title: Re: How goes the Turing Complete side of things?
Post by: luckybit on August 20, 2015, 03:37:42 pm
Any news on the programmability of smart contracts on the Graphene platform? Any docs on how to develop a smart contract in Graphene? If not, where could I learn more and create documentation?

Haven given it some thought, I would think it might be in the best interest of Graphene to not be Turing complete. Turing complete is not necessary, and the costs of Turing complete smart contracts are decidability, which impact security if you want to go with the security by correctness model, without any practical benefit.

I reached this conclusion after reading up on Tauchain which will implement a much better designed decideable model. Long term the benefits of the Tauchain model outweigh the benefits of the Ethereum model but take a look for yourselves:
http://tauchain.org/tauchain.pdf

I think before Bytemaster settles on a permanent smart contract system he should at least read the Tauchain whitepaper and study the implications of their design. My own opinion is Tauchain is more flexible, evolveable and for that reason superior but that is only because I don't see any practical necessity for Turing completeness since you can do every algorithm Bitshares could need without having it.

Where is their model actually defined? That paper doesn't really seem to say much..
That said I like the high-level idea about keeping your contract language simple enough to be able to prove correctness, and they definitely understand the domain.

https://docs.google.com/document/d/16239hEjL_IgXYsk2I6RMjMKhmUte30leYI3jJ-Vgp3M/edit
http://www.idni.org/blog/code-and-money
https://en.wikipedia.org/wiki/Intuitionistic_type_theory
https://en.wikipedia.org/wiki/Total_functional_programming
https://en.wikipedia.org/wiki/Homotopy_type_theory

These represent the conceptual lineage of the Tau programming language more or less. Bitshares could benefit by learning from the Tau programming language being developed for Tauchain and making sure that the scripting language is dependently typed.

The primer is a lot clearer than the paper which is heavy on abstraction, philosophy, and concepts, while the primer goes into more details.

And they have code: https://github.com/naturalog/tauchain