Phase 1 Proof of Concept

The You-Me Drive

 

Phase 1

 

Software development is all about managing complexity and minimising risk - that is why we want to start in a small way, proving that the You-Me Drive concept works before commiting resources to develop new hardware.

 

Phase 1 is a feasibility study using existing hardware, (such as the ZSUN Wireless Wifi USB Smart Card Reader), and writing a simple graphical user interface for a PC.

This will allow us to experiment with the internal details such as P2P file sharing, metadata structure, Wi-Fi networking and user look and feel, and to make sure that the system is possible to build a system that is reliable and useful - in other words saleable.

It will not be particularly secure, as it will be vulnerable to many types of attack, not least from viruses on the PC's OS.

 

Phase 1 ends with a beta test of the complete You-Me Dongle system, saving data in files, checking the backup & restore functionality, consensus voting, and PIN replacement.

We may not manage to finish everything, but we should certainly get a better idea if Phase 2 is worth tackling.

 

There will be an open discussion of security policies and an investigation of possible attacks and methods to limit their effectiveness.

 

It is expected that new usage possibilities will become apparent, such as the storage of blockchain data across multiple YMDs, VOIP etc. etc.

 

The outcome, if all goes well, is a document defining the requirements for Phase 2.

Top level software development overview

You-Me Drive Software Development

2016 Oct 26

 

1. You-Me Drive Boot program - based on colorForth on SourceForge :

 

https://sourceforge.net/projects/colorforth/files/?source=navbar

http://www.inventio.co.uk/USBloader.htm

 

NASM assembler creates the colorForth system, plus colorForth source code, this is used to boot the PC or laptop. Development under Windows 7 or Ubuntu 16.04.

The USBloader program reads and writes USB devices under Windows.

 

2. You-Me Drive WiFi - based on zSun USB WiFi device and OpenWrt :

https://wiki.hackerspace.pl/projects:zsun-wifi-card-reader/

https://www.youtube.com/watch?v=Y4IOKTZoz2Q

 

Hopefully the zSun device can be used without changing its firmware, any required changes should be minor. Development under Ubuntu 16.04.

 

3. You-Me Drive peer-to-peer file synchronization protocol, based on Software Transactional Memory

 

http://www.complang.tuwien.ac.at/anton/euroforth/ef10/papers/haley.pdf

 

We are synchronising relatively small amounts of data, so hash trie of the files stored in each You-Me Drive is used to find out which blocks need to be updated.

Development under colorForth system (item #1, above).

 

4. Windows based browser interface, based on wsa.f SwiftForth Windows Sockets API script

 

https://groups.google.com/forum/#!msg/comp.lang.forth/I4NMoovO8Nw/D_hWMpaXleIJ

http://www.inventio.co.uk/LegacyIndex.htm

 

5. Synergistic effects:

 

The major part of the software development is making the four parts of the system cooperate, and ensuring that together they provide a simple user interface.

The actual programming of items 2 to 4 above is relatively low risk, as much of it is already completed.

No hardware development is planned at this stage.