Decentralized turing complete transaction creation
https://github.com/tyvdh/turing-signing-server
Turing signing servers (or Turrets) are a central signing network hub for three transactional entities which together form the functional backbone of turing complete smart contracting logic for the Stellar network. Those entities are Contracts, Users and Sponsors. Let's break down each entity and the role it plays in the greater Turret system.
A smart contracting system wouldn't be of much use without the core contracting layer. This spoke of the wheel handles the turing complete part of the picture. This is where all the application and business logic of the system takes place. It is worth noting that while this is a turing complete system the output of a contract is only ever an XDR. So while what happens between calling the contract and returning the XDR can be anything, the purpose is hyper focused on composing transactions. This allows for the discouragement and penalizing of contracts which stray from this purpose.
Contracts are not "owned" entities, they are permissioned resources. This means contracts should be viewed as public, immutable, benign functions which only exists to compose XDRs.
Contracts are permissioned in the sense that access to them is restricted through sponsors which we cover in detail below. Before that though, let's cover Users.
Contracts are great, but meaningless if no one is calling or making use of them, which is where the Users come into play. A user is simply the beneficiary of a contract. They need actions performed, transactions created, signed and submitted. In the context of the Turret system the desire and outcome from the User is that these should happen in a trust-less, decentralized, un-managed manner.
Un-managed simply means the infrastructure for creating and signing transactions happens external to the User or Sponsor. Speaking of Sponsors let's cover this final entity of the Turret system.
Sponsors are the cords which tie Users and Contracts together, allowing them to interact successfully. A core concept within the Turret system is that of fees as a reward mechanism for Turrets to execute Contracts, sign their outputs and deliver the final transactions to the Users. For this to happen there must be a powerful yet ergonomic fee structure in place; Aka Sponsors.