Pages:
Author

Topic: CIYAM - Project Plan Outline and Progress Updates - page 2. (Read 14721 times)

legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Although unrelated to the main project I have taken off a few days to create a new computer language that I am quite excited about.

It is pretty much not like anything else around (although it has been already compared to "brainfuck") and the reason for its creation will be made apparent at a later time.

Rather than describe the whole thing in detail I'll just show a couple of examples:

Code:
@hello=`Hello`world!`
!hello

would result in the output:
Code:
Hello world!

a more sophisticated example is as follows:
Code:
@final=?=z_?!_~x_~y_~z
@reverse=?x!final_>x,y_@assign=@x=abcdefghijklmnopqrstuvwxyz_!reverse
@test=@x=?_@y=_@z=_?x!assign_!reverse
!test

which would result in the output:
Code:
zyxwvutsrqponmlkjihgfedcba

and if you then did this:
Code:
!test

you'd see this:
Code:
abcdefghijklmnopqrstuvwxyz

Smiley
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
After taking some time off to relax and recoup I have unlocked this topic to continue reporting on the progress of CIYAM (and to those who sent me PM's requesting that I continue to update this topic many thanks for the support - it is good to know that I'm not the only one following this topic).

The blockchain version of the Blog package has now been completed and has been in testing for a couple of weeks now. No major issue has been found but some minor glitches and performance bottlenecks have been recently worked on.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
To get around the problems of potential quantity attacks - limits were introduced for things like the number of tags per Blog Entry and the number of Blog Tags that can be created by an account.

Encryption has not been addressed at this stage but I've decided to change the focus of this project away from the packages for now and instead towards the more technical side of how a DB can work seamlessly with a blockchain.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Work on the Blog package is proceeding, however, working on this has introduced some new challenges.

One of the problems is having "tags" (useful for searching) but limiting their creation so that the application doesn't get attacked (with an unreasonably large list of tags).
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
The commit for the Message package changes has now been pushed (and it is a big one).

For now I've decided not to do the icon thing (mostly because I can't work out what would be best to use) but I think having an Encrypt checkbox is reasonable enough for now.

Some further testing to happen over the weekend then I'll start work on the Blog package.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
The Message package rework is almost complete (a commit will most likely be pushed tomorrow after some final tweaks and testing).

What is really nice now is that the the end-user doesn't need to do anything to encrypt the content (it just happens automatically although there is an Encrypt checkbox that can be unchecked if one purposely wants to send a message that is not encrypted).

It might also be useful to add an icon to the message to indicate whether it is encrypted (have just added that to the "to do" list for tomorrow).
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Work has begun on the blockchain Blog package which hopefully will be nearing completion by next week.

Unfortunately the Blog package work has been delayed as I decided to rework the way that encrypted fields were being handled (which will also be applied to the attached files for consistency).

I will be reworking the Message package to use the new encrypted field implementation before I start on the Blog package (a delay of perhaps a week).

One thing that anyone following this project will discover is that it is not being rushed (nor is it chasing VC funds that would probably force it to be rushed). The project actually began many years ago as an example of a new way to create 3-tier web applications and is now evolving into a new way to create blockchain applications.
sr. member
Activity: 294
Merit: 250
SynqCrypto Team
Nice looking project. I will bookmark this for future updates. Good luck!
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Non-local txs are now treated basically like local txs until confirmed (making the UX much quicker).

Attached files are also now working with the CIYAM blockchain and if they are identified as being "private" then they are automatically encrypted and decrypted.

Work has begun on the blockchain Blog package which hopefully will be nearing completion by next week.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Initial testing of a simple application using a blockchain versions of the User and Message packages has been performed.

There were some teething issues but I'm pleased to say the application is working as expected (many thanks to @vbcs for setting up a VM to help with the testing).

Confirmation times were a little slower than I would have hoped for (up to around a minute) but with only two minting accounts it is perhaps not surprising that some blocks were slow (and some adjustments to the basic blockchain settings will likely improve that performance).

Currently txs that are not locally created do not actually appear until they are included in a block but this could be changed in order to have unconfirmed txs appear quicker (something I'll be looking into next).

After that work has been completed and some further testing has been performed a blockchain version of the Blog package will be created.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
The "rewind" implementation has been completed and tested (so far no problems found).

Some time was lost reworking the way that blockchain applications are supported but now this work has been completed a single CIYAM application server can run both traditional and blockchain applications concurrently.

This will allow for a first blockchain application to be demonstrated on ciyam.org whilst keeping http://ciyam.org/open running as is (although that will probably still be a few months away from completion).
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
A first very simplistic "application" using CIYAM with a blockchain has been successfully tested.

The application doesn't really do anything except let you update your own User record although it does include an encrypted "email" field (so that data encryption and decryption have been tested at the same time).

Although the application itself isn't much to write home about the fact that separate CIYAM server instances are now able to synchronise both their blockchains and blockchain applications is a big step forward.

In the next week the work will be focused on "rewinds" which is how a CIYAM blockchain system will handle "re-orgs" for its applications.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Basic blockchain is now working (but needs a lot more testing) - if anyone is interested to run a node (and no - there is no financial reward for doing so) then contact me via PM.

To be very clear - the CIYAM blockchain is not a currency but instead aims to be a replacement for the current internet (perhaps an overly ambitious aim but why not "shoot for the moon"?).

One of the key objectives is to create a decentralised exchange for "coins" (and services).
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Great to have Jan back with us and some good news in regards to the CIYAM blockchain implementation.

Initial tests for peers being able to get new blocks from other peers are working perfectly (there is a lot more testing to do though).

One thing worth noting is that the CIYAM peer protocol is very much like traditional *nix protocols (text not binary) and has very few commands:

Code:
commands:
=========
chk [] (check if peer has a file or hash the content of a file with a nonce)
get [] (fetch a file from the files area)
put (stores a file to the files area)
pip (exchange a random peer's ip address)
tls (start TLS session)
bye (terminate session)
full member
Activity: 228
Merit: 100
CIYAM - UI/UX design
Dear community!

Just want to officially confirm, i'm back!
I'm UI/UX developer and i'll assisting on marketing related tasks in future also!
Stay tuned!

Happy to be back Smiley
Cheers
jan
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Just an update to let people know that progress is continuing (admittedly at a slow but at least steady rate).

The "standard protocol" has been recently extended to make it fairly straight forward to manually create a blockchain (without txs at this stage).

The next step is to build this capability into the "loop-back peer support" so that a test blockchain can be constructed using just the one computer and after this has been tested blockchains built by multiple peers will next be tested before txs are then integrated.

For those who have been following AT (Automated Transactions) you might be pleased to know that a second blockchain (Qora) will be going live with AT very soon (perhaps as soon as one week from this post).
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
What other packages you have in mind?

Here is a list of the relevant packages that already exist in CIYAM (but are not yet "blockchain" ready):

Blog
Email
Event
Forum
Group
Holding
Itinerary
Ledger
Message
Photo
Project
Schedule
Timezone
Token
Transaction
Wallet

If we wanted to create a blockchain equivalent application to CIYAM Open (http://ciyam.org/open) then we'd need the Blog, Forum, Message and Project packages.
full member
Activity: 137
Merit: 100
AT - Automated Transactions - CIYAM Developer
Nice to see CIYAM is progressing! What other packages you have in mind? I guess for proof of concept reasons, we can have a simple app using the already in place packages.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
The User package has now been completed (took quite a bit longer than had been expected due to various changes needing to be made to handle the encryption of the password hash in particular).

A decision will need to be made about whether to next work on converting other packages to be suitable for blockchain applications or to instead start on the first actual blockchain application implementation with the Standard, User and Token packages that are ready for use.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Basic blockchain functionality has been completed (including rewind and checkpoint logic).

A huge advantage that CIYAM blockchains have over all other existing ones is an automatic checkpoint system (that will let you prune old blocks and transactions from history).

Work is now underway of converting the legacy "packages" to work with the blockchain approach (the "Standard" package has already been converted and the User package is expected to be completed in the next few days).
Pages:
Jump to: