Post
Topic
Board Service Announcements (Altcoins)
Re: [NXT] Nxt Technology Tree - Nxt's plan that keeps on delivering
by
Daedelus
on 28/10/2015, 22:45:43 UTC
On Nxt's Smart Contract implementation (there are several options on the table) and how Ethereum plans to do the same

Guys, you know we have a lot of hot discussions on AT Project then Smart Contracts proposal from cfb. I wasn't a fan of AT project(I wasn't strictly against that as well though). And I was strictly against Smart Contracts, I really don't like the idea of projecting core implementation details into the blockchain.

Having a job during last days to investigate current state of Ethereum, I would like to say it's good Nxt has delayed AT project adoption. It's not a scalable approach, it has a lot unexpected properties and so on.

Quick example, its possible to write some random crap into blockchain as contract code, e.g. https://etherscan.io/tx/0x4bb32548d3b28d8bbdbe969888dff6285a0404bb314b7a8e5d81a61a313781eb (contract https://etherscan.io/address/0x190cf16a720f69d1b1ac68e873d9c5b06c1f0f2b). It starts with invalid instruction 2f then some meaningless stuff. Fee is minimal as code execution aborts immediately. Trying to submit something about 60kb after this 1kb tx, I've got my geth stuck and broken  Grin

And please note this is not a bug, even more, this is the best behaviour probably(and with arbitraty-input JMP instruction it's not possible to analyze code execution correctness at all, probably).

And scalability would be a problem for Eth. Considering the same logic, e.g. polling to get done against Nxt & Eth, in the former case it's code running
on top of JVM while in latter it's about code running on top of EVM which is running on top of JVM/pyVM/LLVM.

Some researchers around are working on solving general problems of Ethereum-like contracts, namely scalability and privacy. I made the blogpost comparing two known proposals, Hawk and Enigma http://chepurnoy.org/blog/2015/10/towards-a-new-frontier-of-the-smart-contracts-hawk-and-enigma/ .

In both cases contract execution is happening off-chain, and blockchain is being used to store commitments / MACs or CRSes(common reference string for non-interactive Zero Knowledge Proof with size of tens kilobytes).

Surprisingly(or not), Nxt is already well ready for storing that complementary data. The only thing we need is to promote Nxt chain for being used for things like that(so to use Nxt  in both systems). Thoughts?

Source: https://nxtforum.org/general/nxt-and-smart-contracts/msg196912/#msg196912