Pages:
Author

Topic: Why I think neither Ethereum and AT are going to be the future of blockchains - page 2. (Read 2278 times)

legendary
Activity: 1050
Merit: 1016
Ultimately we have decided on an implementation which doesn't attempt to combat it directly via outright detection, but allows the script itself to provide meta-data which indicates how much memory it is likely to use, average time between heartbeat signals the interpreter can expect and various other metrics.  The creator of the script can execute a benchmarker which generates this meta-data, before deployment, and packages it into the script header.

That is an interesting approach - the way that Software Manufacturing can solve the same problem is actually must easier (because the source code is *controlled* by the generation).

So in a CIYAM system we don't need to do these checks (although of course you do need to check the app itself before you decide to run it).


Well, the spec of requirements for our scripting solution, and architecture, is quite different to what is currently being developed such as Ethereum and others (AT too no doubt).  We have multiple execution domains/scopes, where the requirements for each domain may differ between them for the same script/s...so the solution I present is very tuned to our needs.

I'm sure that with a lesser/looser set of solution requirements it could be implemented many ways, perhaps simpler.
legendary
Activity: 1890
Merit: 1078
Ian Knowles - CIYAM Lead Developer
Parser is handwritten!? Do you have the grammar specification of the input and/or example programs?
Is the code on Github functional already?

All the code is there - the main "parser" you might be interested in is called "xrep" (there are actually a few parsers).

Your site mentions that CIYAM is a linux distro but what you descibe here seems more like some sort of runtime environment.
Are you booting directly into the runtime env or are these two separate projects with the same name?

The CIYAM Server OS is going to be the way to distribute CIYAM (my view is that VMs are the future).
legendary
Activity: 1890
Merit: 1078
Ian Knowles - CIYAM Lead Developer
Ultimately we have decided on an implementation which doesn't attempt to combat it directly via outright detection, but allows the script itself to provide meta-data which indicates how much memory it is likely to use, average time between heartbeat signals the interpreter can expect and various other metrics.  The creator of the script can execute a benchmarker which generates this meta-data, before deployment, and packages it into the script header.

That is an interesting approach - the way that Software Manufacturing can solve the same problem is actually must easier (because the source code is *controlled* by the generation).

So in a CIYAM system we don't need to do these checks (although of course you do need to check the app itself before you decide to run it).
hero member
Activity: 770
Merit: 500
Parser is handwritten!? Do you have the grammar specification of the input and/or example programs?
Is the code on Github functional already?

Your site mentions that CIYAM is a linux distro but what you descibe here seems more like some sort of runtime environment.
Are you booting directly into the runtime env or are these two separate projects with the same name?
legendary
Activity: 1050
Merit: 1016
*sigh*

Expected a nice intelligent discussion starting with 18 posts already.....instead found trolls and whiners.....that is enough BTT for one day (all 5 mins of it).

Yes - but you are welcome to help further the topic with something more interesting (am sorry that I seem to attract a lot of trolls these days).


Hey don't worry, I attract them just the same Smiley

We're doing similar Turing complete development here with eMunie and have had many a discussion of how to solve problems just as

while (1==1)
{ str += str; }

Our interpreters run a Java/JavaScript hybrid, the bulk of the script code being JavaScript, with calls possible into native Java functions depending on the permissions granted to that script by the executor.

Side stepping a lot of the technicalities, we investigated a number of ways to detect this behavior but couldn't come to a accepted method which allowed legitimate scripts to operate as intended, but malicious scripts to be detected (which was as we expected with a Turing complete implementation, but wanted to check it out anyway).  

Ultimately we have decided on an implementation which doesn't attempt to combat it directly via outright detection, but allows the script itself to provide meta-data which indicates how much memory it is likely to use, average time between heartbeat signals the interpreter can expect and various other metrics.  The creator of the script can execute a benchmarker which generates this meta-data, before deployment, and packages it into the script header.

With the parameters set, the executing nodes then have some information on expected behavior and requirements to execute.  If the requirements are too great for that node, it can choose to not execute that script (Raspberry's for example), or pass it to the network for execution and receive a result, as similar to Hadoop Map-Reduce architecture.  Additionally if the execution of that script exceeds the expectations, perhaps the script management module doesnt receive a heartbeat from that interpreter instance for a period of time beyond the expected average as per the meta data, that script can be terminated as each interpreter instance runs in its own sandboxed VM instance.

This kind of implementation should suffice, as the issuer of the script has to provide some information on what the script requires, if it exceeds those expectations by being malicious, then its very easy to detect and act accordingly.
legendary
Activity: 1890
Merit: 1078
Ian Knowles - CIYAM Lead Developer
Do you have a spec of your language?

It is not a language (in any traditional sense) so that might take some time to explain (but it generates standard C++).

Creating the documentation is a going to be my main task in the future - so please be patient with that (if you want to contact me more directly about the project then feel free to send me a PM).

You mentioned earlier that your project is open-source. Did you already commit the code somewhere?

The project is here: https://github.com/ciyam/ciyam
hero member
Activity: 770
Merit: 500
It is not functional programming although it does work close to that (Aspect Oriented Programming is probably the best analogy).
Do you have a spec of your language?

Quote
It doesn't use anything like JIT as it actually generates C++ source code that is compiled.
LLVM? YACC parser generating C++ at run-time and calling the compiler?

You mentionned earlier that your project is open-source. Did you already commit the code somewhere?
legendary
Activity: 1890
Merit: 1078
Ian Knowles - CIYAM Lead Developer
PS: ok, that doesn't belong to alt-currencies, but I still think you should have this thread moved to projects. You'll get more attention from developers, and a better signal / noise ratio.

If the mods see fit to move it to Projects then that is fine with me (it is often hard to know where best to start such a topic so I dropped in the Bitcoin Discussion forum to see where it would go).

It is not functional programming although it does work close to that (Aspect Oriented Programming is probably the best analogy).

It doesn't use anything like JIT as it actually generates C++ source code that is compiled.

The efficiency is that the information passed is very minimal (think like SQL) so it can do a lot more processing with a lot less input.
hero member
Activity: 770
Merit: 500
In Software Manufacturing the above pseudo code would have to be divided into two components - a looping specification and a separate specification that covers what to do within the loop.
Sounds very much like functional programming with a recursive combinator to handle the looping using tail recursion and payload passed a lambda. Are you basing your work on some existing funtional language or starting from scratch?

As all source code is "generated"
JIT compilation? Otherwise how do you deal with differences of architecture beween hosts?

I'm a bit unclear about what you are proposing. My understanding so far is that you are working on a contract system using pure functional programming and just in time compilation to optimize the code so that it runs faster than a VM or interpreted stack based language and you count leveraging the nature of functional programming as side-effect free modular function objects to allow for something completely modular, and are planning on pushing that to the extreme where one would just need to connect functional boxes to do any type of program without having to actual write a program. Is that correct?

PS: ok, that doesn't belong to alt-currencies, but I still think you should have this thread moved to projects. You'll get more attention from developers, and a better signal / noise ratio.
legendary
Activity: 1890
Merit: 1078
Ian Knowles - CIYAM Lead Developer
*sigh*

Expected a nice intelligent discussion starting with 18 posts already.....instead found trolls and whiners.....that is enough BTT for one day (all 5 mins of it).

Yes - but you are welcome to help further the topic with something more interesting (am sorry that I seem to attract a lot of trolls these days).
legendary
Activity: 1890
Merit: 1078
Ian Knowles - CIYAM Lead Developer
If this is another attempt at "visual programming" then it will probably fail to provide progress in the same way as all previous attempts at two-dimensional programming degenerated into "freehand paint programs".

Okay - it is not an attempt at "visual programming" at all but works more using "aspect oriented programming" methods.

I can explain the details to you if you want (it isn't that hard to follow).
legendary
Activity: 2128
Merit: 1068
In Software Manufacturing the above pseudo code would have to be divided into two components - a looping specification and a separate specification that covers what to do within the loop. As all source code is "generated" you can't stop the resulting code from effectively being something like this:
Please elaborate your post and show how you propose to linearize your "software manufacturing" representation of this sample program.  It has to have a one-dimensional representation to be really useful.

All I saw in your links is this picture which (I cannot even post the link, because your Javascript & DOM are so complex that they completely don't render in Safari and in Opera I can't "Copy Image Address"). I have to transcribe the portion of the image:

Code:
// []

#include "`{`$full_class_name`}.h"

If this is another attempt at "visual programming" then it will probably fail to provide progress in the same way as all previous attempts at two-dimensional programming degenerated into "freehand paint programs".
legendary
Activity: 1050
Merit: 1016
*sigh*

Expected a nice intelligent discussion starting with 18 posts already.....instead found trolls and whiners.....that is enough BTT for one day (all 5 mins of it).
sr. member
Activity: 351
Merit: 250
If I was I would have moved your thread to alt-currencies. Now I'm not saying that your project isn't interesting. I'm just stating that you are off-topic here, in a subtle way maybe, but still off-topic. I let it up to the mods to make the final call on that matter.

So again it seems that you think you should be in charge of what posts go where.

Like you say - let's leave it up to the mods. Smiley

(as you think that a product that has a BTC Wallet and isn't an alt coin should be moved to alt coins)


I think he is just making an emotional knee jerk reaction because you had the nerve to attack his investment in ethereum. Of course this topic is relevant to Bitcoin as it makes some salient points that more efficient processes are best handled off the blockchain.

+1
hero member
Activity: 658
Merit: 501
If I was I would have moved your thread to alt-currencies. Now I'm not saying that your project isn't interesting. I'm just stating that you are off-topic here, in a subtle way maybe, but still off-topic. I let it up to the mods to make the final call on that matter.

So again it seems that you think you should be in charge of what posts go where.

Like you say - let's leave it up to the mods. Smiley

(as you think that a product that has a BTC Wallet and isn't an alt coin should be moved to alt coins)


I think he is just making an emotional knee jerk reaction because you had the nerve to attack his investment in ethereum. Of course this topic is relevant to Bitcoin as it makes some salient points that more efficient processes are best handled off the blockchain.
full member
Activity: 137
Merit: 100
AT - Automated Transactions - CIYAM Developer
But lets not speak more about AT. The thread is not about AT or Ethereum. The concerns raised from CIYAM are beyond these projects and are more general.
full member
Activity: 137
Merit: 100
AT - Automated Transactions - CIYAM Developer
Whilst there is a lot of excitement about the possibilites of "Turing complete" blockchain transactions that are supported by Ethereum and AT (the latter being my own invention)
Shameless plug / Product placement

Why do you think it is a product placement from the moment the thread name already contains that word and on top of that he is saying that is not the future. He is not advertising it this way, just discussing his thoughts and concerns. And even so -  as CIYAM mention it is the first Turing complete that is live on mainnet, so it is worth mentioning imo.

Lumping together a random project with a blockbuster such a Ethereum and taking a critical tone to make the post sound legit may be smart marketing, but it's still completely off-topic in this sub-forum.

That being said, Satoshi and I could be wrong sometime, as being pure rockstar geniuses doesn't necessarily make us fit to debate of political matters; now Satoshi has stepped down, so that let's only me to rule that forum. Right Wink?

Have you read the documentation of AT or studied its potential to say it is a random project and/or cannot be compared to Ethereum? We are not care about marketing or whatsoever, just the tech and this is how that random project was developed. It is not about being wrong or genius or whatsoever, anyone is free to express his opinion and is also free to have a huge ego. But if you support the evolution of the technology and moving forward, at least you should be able to have a serious discussion instead of "trolling" and accusing. If the thread is or not in the right sub-forum, then are mods out there to decide that.
legendary
Activity: 1890
Merit: 1078
Ian Knowles - CIYAM Lead Developer
If I was I would have moved your thread to alt-currencies. Now I'm not saying that your project isn't interesting. I'm just stating that you are off-topic here, in a subtle way maybe, but still off-topic. I let it up to the mods to make the final call on that matter.

So again it seems that you think you should be in charge of what posts go where.

Like you say - let's leave it up to the mods. Smiley

(as you think that a product that has a BTC Wallet and isn't an alt coin should be moved to alt coins)
hero member
Activity: 770
Merit: 500
Lumping together a random project with a blockbuster such a Ethereum and taking a critical tone to make the post sound legit may be smart marketing, but it's still completely off-topic in this sub-forum.

That is rather odd to say - as in fact the CIYAM project was started in 2001 (yes 14 years ago) but okay seemingly you are in charge of what is "on topic" in the whole forum now.


If I was I would have moved your thread to alt-currencies. Now I'm not saying that your project isn't interesting. I'm just stating that you are off-topic here, in a subtle way maybe, but still off-topic. I let it up to the mods to make the final call on that matter.
legendary
Activity: 1890
Merit: 1078
Ian Knowles - CIYAM Lead Developer
Lumping together a random project with a blockbuster such a Ethereum and taking a critical tone to make the post sound legit may be smart marketing, but it's still completely off-topic in this sub-forum.

That is rather odd to say - as in fact the CIYAM project was started in 2001 (yes 14 years ago) but okay seemingly you are in charge of what is "on topic" in the whole forum now.
Pages:
Jump to: