I had the most wild insight that would allow executing a JVM on the blockchain with minimal space required and without actually storing the complete source code on the blockchain. It would need "specialized" NEM nodes that would get paid for it. This is really promising!
The concept is similar (but totally different) to DarkCoin master nodes.
Sounds interesting. How would you kill the javascript process after a set time or prevent harmful or illegal software from running?
I think something like this could be incorporated into smart contracts.
it will be a subset of Javascript with special injected words, like Ethereum does. each NEM master node will decide what they want to run. if they want to face full consequences of their machines being used regardless of code they could, and would get "more rewards" from it. But no illegal code could be done through the code, like downloading stuff, using their HDDs to store files, etc, its all in memory operation.
There's a new project called Slur (http://slur.io) that sells private data. It's controversial, but shows the power of being decentralized. I'm showing it because there are people that will be up to "open themselves to the world" although anonymously.
Why not use ethereum's scripting language like counterparty did?
http://counterparty.io/news/counterparty-recreates-ethereums-smart-contract-platform-on-bitcoin/
Also, there are constraint programming languages like drools. that could do things as well.
mainly because Javascript is wide adopted, easier and is more idiomatic than python'ish languages. by subset I mean it's fully functional, but some functions are disabled by default, like infinite loops / recursive functions. plus NEM is already focusing on Javascript conformance, there would be no need to use something else.
I couldn't find the source on XCP repo about this port. They seem to have deleted the contract branch. It doesn't seem a real port, reading their blog post about it. It was a lot of hype because they are using serpent on it, but I don't think it's 1:1 to ethereum.
How about Julia?
http://julialang.org/
The thing that concerns me the most is sandboxing. I don't have much experience with doing that.
But yes, we should definitely have a computational ability in our smart contracts. It makes a lot of sense ^ ^
well like I said, the lower the entrance, the better. Javascript is familiar, even more with all the transpilers (Typescript, Coffeescript, AtScript, Flow, Livescript, etc) and node.js, and it's really easy to get with it, no memory allocation, "loose" typings, scoped variable declarations, global variables, hash/dictionary like objects, simple array and OOP.
That script builder might be nice for average people, but for a programmer, it's awkwardly uncanny lol
Ethereum Javascript library has the VM code completly in Javascript, breeding ground!
https://github.com/ethereum/ethereumjs-lib/tree/master/lib/vm
just an update, THIS WORKS, right now I'm testing using NXT testnet blockchain, but this is completly feasible. I created a tipbot using it, with an API similar to ethereum. (injected variables like storage, data, contract, etc) haven't tested for vulnerabilities though.
oh man, I wish I had more time and didn't need to work for a wage, i'd spend all my time with these crazy ideas lol
Sounds cool. If you are interested in helping to implement such a thing in NEM, please PM Jaguar
This would certainly be cool but I think we need to solve the bloating problem first.
right now, it doesn't store anything on the blockchain, it was a proof of concept that it could work side-to-side to the NXT testnet blockchain and do automated transactions depending on a match criteria. some variables are injected into the script that exposes the transaction that was made, so it can interact with the API (somehow like ethereum does) but without storing anything, at the time of writing, it stores files and the code database / versions locally
It should be possible to store the files outside the system and just the hashes on the blockchain. Maybe store torrents on the chain?
It should be possible to store the files outside the system and just the hashes on the blockchain. Maybe store torrents on the chain?
Why would you bloat the blockchain with torrents?!
What is advantege to store torrents on the blockchain and not using it like now
Or you just meant to store the small .torrent file on the blockchan and keep the rest like is now?!
It should be possible to store the files outside the system and just the hashes on the blockchain. Maybe store torrents on the chain?
Why would you bloat the blockchain with torrents?!
What is advantege to store torrents on the blockchain and not using it like now
Or you just meant to store the small .torrent file on the blockchan and keep the rest like is now?!
I mean just a small .torrent file or a hash for an external file. The blockchain should be used only for verification of data and not storage.
Checkout this project, a blockchain based code repository. https://nxtforum.org/nxt-projects/helix-dapps-test-cp-repos
It should be possible to store the files outside the system and just the hashes on the blockchain. Maybe store torrents on the chain?
Why would you bloat the blockchain with torrents?!
What is advantege to store torrents on the blockchain and not using it like now
Or you just meant to store the small .torrent file on the blockchan and keep the rest like is now?!
I think what he means is to store the js to be executed as torrent on the chain and not the js. Allthough torrents seem to be some heavy weaponry for some simple JS.
there will be no blockchain bloat, I can assure you all I'm very conscious about performance and cumulative data, the blockchain will be only used to store hashes (like makoto said). The blockchain is my incorruptible signing time machine
what I want really is to be able make it run on an Intel Galileo 24/7
there will be no blockchain bloat, I can assure you all :) I'm very conscious about performance and cumulative data, the blockchain will be only used to store hashes (like makoto said). The blockchain is my incorruptible signing time machine
what I want really is to be able make it run on an Intel Galileo 24/7
It's a very good idea to store hashes but at somepoint the people will need to get the code from somewhere :)
That's what we have to figure out. A torrent like protocoll would indeed not be a bad idea. NEM-Nodes can start seeding the code if they want to so it doesn't matter if the original provider goes offline. Question is how is the code transmitted and how does one agree to see it. If we do it like that we could even integrate Proof of Storage :)