Bitcoin Forum
May 26, 2020, 06:33:59 PM *
News: Latest Bitcoin Core release: 0.19.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 »  All
  Print  
Author Topic: Nxt :: Automated Transactions (AT) - progress and discussion  (Read 17066 times)
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1004


Ian Knowles - CIYAM Lead Developer


View Profile WWW
February 13, 2014, 05:13:50 PM
Last edit: February 17, 2014, 08:17:36 AM by CIYAM Open
 #1

Thanks to @klee we have begun a project to enable "scripts" for Nxt which will provide a "Turing complete" method of executing code to do useful things such as "pay dividends to shareholders" of a Nxt Asset.

At this stage we are still "brainstorming" mostly and the code itself won't be publicly released until it is completed (we are aiming for the start of April to coincide with other important feature releases).

CfB and myself will be sharing technical lead on this project and will be working with a small focused team in order to get this done "right" and as "quickly as possible".

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
FAST DICE GAME $500 DAILY CONTEST BEST AUTOBET MODE 30% RAKEBACK FOR VIPS PROVABLY FAIR Play Now Play Now
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1590518039
Hero Member
*
Offline Offline

Posts: 1590518039

View Profile Personal Message (Offline)

Ignore
1590518039
Reply with quote  #2

1590518039
Report to moderator
1590518039
Hero Member
*
Offline Offline

Posts: 1590518039

View Profile Personal Message (Offline)

Ignore
1590518039
Reply with quote  #2

1590518039
Report to moderator
1590518039
Hero Member
*
Offline Offline

Posts: 1590518039

View Profile Personal Message (Offline)

Ignore
1590518039
Reply with quote  #2

1590518039
Report to moderator
fotathan
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
February 13, 2014, 05:16:51 PM
 #2

+1
klee
Legendary
*
Offline Offline

Activity: 1498
Merit: 1000



View Profile
February 13, 2014, 05:30:06 PM
 #3

Good luck and all the best to the everyone involved in this project!
Mario123
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile WWW
February 13, 2014, 05:33:52 PM
 #4

+100

Isildur23
Full Member
***
Offline Offline

Activity: 178
Merit: 100


View Profile
February 13, 2014, 05:39:45 PM
 #5

GREAT!  Smiley

Ties are a prison for the soul...
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1004


Ian Knowles - CIYAM Lead Developer


View Profile WWW
February 13, 2014, 05:46:04 PM
Last edit: February 13, 2014, 06:16:53 PM by CIYAM Open
 #6

Okay - let's get "stuck into it" (warning - this topic is going to include a lot of "technical" discussion).

So first and foremost we have the problem of "what kind of scripting language should we use"?

In considering this we have to understand that we don't wont Nxt nodes wasting large amounts of CPU cycles on scripts when there most important function is of course to process Nxt transactions.

For this reason a "high level" language does not seem suitable (too hard to control) and instead a "low level" language (like "assembly code") seems more appropriate (we can control each "execution step" with a "low-level language" and not get tricked into accidentally executing long loops).

Also we need this "low level language" to be able to directly (and safely) communicate with the NRS otherwise it would be pretty useless (take the initial "use case" of sending dividends to shareholders - you need to know a few things like the "balance" and the "list of shareholders" to do this).

So - is there an existing "low-level" language (close to if not assembly) that is suitable or do we need to "roll our own"?

I am not sure of the answer to this question and look forward to your input.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
joefox
Full Member
***
Offline Offline

Activity: 210
Merit: 100


View Profile WWW
February 13, 2014, 06:12:45 PM
 #7

I think basing it on a well-known system like x86/x64 assembly would be terrific.  Coders know it and it's well-documented!

I admin the Nxt Wiki at http://wiki.nxtcrypto.org/ Please support my work by donating to Nxt account #1234567740944417915
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1004


Ian Knowles - CIYAM Lead Developer


View Profile WWW
February 13, 2014, 06:19:27 PM
 #8

I think basing it on a well-known system like x86/x64 assembly would be terrific.  Coders know it and it's well-documented!

The main problem with x86/x64 is the number of op-codes - to keep things simple if we are going to consider an existing "machine code" language then it should probably be more minimal than those.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1004


Ian Knowles - CIYAM Lead Developer


View Profile WWW
February 13, 2014, 06:47:41 PM
 #9


Thanks - yes - a RISC style approach is what I am thinking of also.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
joefox
Full Member
***
Offline Offline

Activity: 210
Merit: 100


View Profile WWW
February 13, 2014, 06:49:16 PM
 #10

I think basing it on a well-known system like x86/x64 assembly would be terrific.  Coders know it and it's well-documented!

The main problem with x86/x64 is the number of op-codes - to keep things simple if we are going to consider an existing "machine code" language then it should probably be more minimal than those.


My thinking was that you might be able to get away with a SUBSET of the command set... but then you may lose Turing-completeness..?

I think the RISC approach is interesting, too!

I admin the Nxt Wiki at http://wiki.nxtcrypto.org/ Please support my work by donating to Nxt account #1234567740944417915
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1004


Ian Knowles - CIYAM Lead Developer


View Profile WWW
February 13, 2014, 06:53:50 PM
 #11

My thinking was that you might be able to get away with a SUBSET of the command set... but then you may lose Turing-completeness..?

Actually you'd be surprised - there is a "Turing complete" language that has only 1 op code (but I am not interested in trying to be "that minimal").

Grin

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
superresistant
Legendary
*
Offline Offline

Activity: 2044
Merit: 1096



View Profile
February 13, 2014, 06:56:29 PM
 #12


Good luck for the project everyone. This will definitely kill most of competitors.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1004


Ian Knowles - CIYAM Lead Developer


View Profile WWW
February 13, 2014, 07:09:56 PM
 #13

As for me, I'm going to research the Lua VM.

Have heard some good things about it - the main question is can we have effectively API (or BIOS if you like) type functions with it?

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2128
Merit: 1009

Newbie


View Profile
February 13, 2014, 07:26:31 PM
 #14

Here is a test:
- Write a script that can forge blocks.

Will anyone challenge this task? Smiley
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2128
Merit: 1009

Newbie


View Profile
February 13, 2014, 07:29:57 PM
 #15

I think so, but not quite sure what you mean by BIOS?  I think a main goal should be to limit access to local system as much as possible for security reasons.

I think he means that if our language is like Assembler then function calls - getLastBlock(), for example - are BIOS calls invoked via interruptions.
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2128
Merit: 1009

Newbie


View Profile
February 13, 2014, 08:50:44 PM
 #16

Here is a test:
- Write a script that can forge blocks.

Will anyone challenge this task? Smiley

Maybe.  What are the ground rules?  Does it need to execute as a script on the blockchain?  Or, can it operate on my node outside of the NRS Java process?

Only inside the sandbox with access only to blockchain data.
colorfish
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
February 14, 2014, 03:02:07 AM
 #17

Hi,  CIYAM.
Seemly like a wonderful idea,
but, what is a nxt scripts?
I'm not familiar with it. Can U provide some essaies for it? Grin
jessica222
Newbie
*
Offline Offline

Activity: 36
Merit: 0


View Profile
February 14, 2014, 03:06:53 AM
 #18

It's a good timing to beat btc,hurry up guys
jubalix
Legendary
*
Offline Offline

Activity: 2114
Merit: 1007


View Profile WWW
February 14, 2014, 03:30:19 AM
 #19

so

if you do this, will etherium be left with any technical advantage over nxt

Admitted Practicing Lawyer::BTC/Crypto Specialist. B.Engineering/B.Laws

https://www.binance.com/?ref=10062065
jubalix
Legendary
*
Offline Offline

Activity: 2114
Merit: 1007


View Profile WWW
February 14, 2014, 03:31:20 AM
 #20

also could you write a javascript implenentaion of nxt client....?

Admitted Practicing Lawyer::BTC/Crypto Specialist. B.Engineering/B.Laws

https://www.binance.com/?ref=10062065
Pages: [1] 2 3 4 5 6 7 8 9 10 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!