
Codius: A system for running smart contracts - pgr1
http://codius.org/
======
NicoJuicy
It's to develop a systematic way to combine contracts and conditions.

Eg. One this is done, then pay in bitcoin, ... Some clear examples can be
found here :
[https://groups.google.com/forum/#!topic/codius/tOtcG9cZA-Y](https://groups.google.com/forum/#!topic/codius/tOtcG9cZA-Y)

~~~
kolinko
Well, there's more to that. Conditions by themselves can be handled by the
blockchain, but using external sources (like websites, price feeds, etc)
requires something like Codius or Orisi.org.

One fun example of an oracle smart contract is Mechanical Turk arbitration...
[http://orisi.net/discussion/4/mturk-and-distributed-
oracles-...](http://orisi.net/discussion/4/mturk-and-distributed-oracles-two-
tiered-arbitration)

But basically anything that requires external inputs can be done. If you don't
need external inputs, you can probably create the contract within
Bitcoin/Ethereum alone.

------
wwsculley
How is this different from Ethereum?

~~~
drcode
In short, codius requires parties to select a group of reputable nodes to run
the contract code but in exchange is technically simpler and faster.

Ethereum requires zero trust and gives pretty much a 100% guarantee the
contract will be executed as written, but is technically more challenging and
contracts run slower.

~~~
kolinko
Codius (and Orisi.org) can deliver external inputs to the contracts - it's
something no blockchain system can do by design.

In other words - if you want your Ethereum contract to rely on weather, a
certain website, or a currency price, you need Orisi, Codius, or some other
similar system.

~~~
drcode
> Codius (and Orisi.org) can deliver external inputs to the contracts - it's
> something no blockchain system can do by design.

False, when I make a bitcoin purchase, and external input (the amount I spent)
makes it into a bitcoin script. In other altcoin systems you can put in
arbitrary datafeeds, like the weather (admittedly with a gatekeeper that spoon
feeds it to the blockchain) Also, if someone wanted to create an altcoin that
allowed totally arbitrary inputs (like Codius) I see no reason why it would be
technically impossible.

------
gmosx
Interesting idea. Ripple Labs seems to be churning out a lot of interesting
stuff lately.

------
sdegutis
Slight off-topic, but I recommend never using the phrase of the pattern
"simple {and,but,yet} powerful" in anything, ever. It doesn't convey anything
meaningful, and it's very overused.

------
kelvin0
Can someone please explain a use case for this 'framework'? The whitepaper
explains many things, which are somewhat confusing as to their level of
use/abstraction.

~~~
untilHellbanned
Looks very cool but I agree. The whitepaper shouldn't be the main introduction
to this site. Many things, such as "What's the connection of Codius with
Bitcoin's Blockchain?", need to be succintly described on the landing page
above the link to the whitepaper.

Need FAQ please!

~~~
emschwartz
Smart contracts run on Codius can interact with any blockchain!

To move money in Bitcoin all you need is a valid digital signature. Smart
contracts are programs that can check some conditions and then based on those
decide to sign a Bitcoin (or Litecoin, Nextcoin, Ripple, etc) transaction or
not based on those.

For a simpler introduction to smart contracts and Codius check out:
[http://bit.ly/codiussimple](http://bit.ly/codiussimple)

Keep the questions coming!

~~~
drdaeman
How?

As I get it, for a software to sign something it must be in possession of
private key material. Then, anyone who knows the contract could extract the
key and do perform the transaction without bothering about conditions. And if
only one party knows the contract, it could refuse to sign even though the
conditions met. Or everything depends on a trusted third party that would keep
and wouldn't disclose the secret part unless the conditions are met? And
participants would only see a partial contract - i.e. conditions and actions
minus the secret material?

~~~
kelvin0
After reading the 'simple overview' I have exactly the same questions as you.
It's all nice that the contract runs and checks for conditions and such ...
however the 'implementation' of the condition checking seem to be the Achilles
heal of this whole thing. For example, the use-case of the online buyer, who
would check the phone was shipped? Another 'smart-contract' ...?

