Closed boninggong closed 6 years ago
TODO for next sprint:
Next meeting with Johan: 28 November 2017 - 11:30
TODO for this sprint:
Points for next sprint:
Link to repo: https://github.com/ClintonCao/CS4160-trustchain-android
Possible outcome: pull request on the original android project
Next meeting with Johan: 5 December 2017 - 11:30
Meeting 04-12-2017
TODO:
Questions for next time:
The concept from an user perspective:
Update:
Normally the GUI in the working case:
In a future sprint, link to IPv8 testnet: https://github.com/Tribler/tribler/issues/3272
Sprint and tasks for week 2.4, see issues and assignees on the fork repository.
Next meeting with Johan: 12 December 2017 - 16:00
Status update:
Update last week:
release: https://github.com/ClintonCao/CS4160-trustchain-android/releases/tag/2.0
Progress:
Version 3.0 of the app is available here.
Sprint feedback:
Final documentation is contribution to: http://trustchain-android.readthedocs.io/
username
in the hashmap (UserNameStorage)should not exceed 5 pages including introduction with proper references, problem statement, high level description of the system, and reason for certain critical choices made in the design.
Talking to @wkmeijer and @klikooo about the app. Testing with few phones and latest Google Play code with inboxes. Overlay is a bit better, but still mostly broken. Please focus on overlay part. Friday I will feature this app at Stanford. Would be nice if it's in better shape. Thnx.
[update] Seems that the bootstrap server can talk to everybody. See picture below.
However, the basics which worked in earlier app-to-app work seem broken. No 4G or 3G.
(small issue; unconnectable peers should be purged after 5-ish failed attempts or a few minutes timeout by the overlay.)
Latest release: https://github.com/ClintonCao/CS4160-trustchain-android/releases
Short url: http://bit.ly/2n2l8rQ
Photo donated to the Public Domain. No copyrights claimed.
Status?
@synctext This latest version is now available as an update in the play store.
@wkmeijer maybe could you also publish the APK on the Github repo (https://github.com/wkmeijer/CS4160-trustchain-android/releases)?
Thnx,updated. Mental notes on versioning.. New abilities or security features are hard to deploy. Any update of an overlay is required to know and understand the version of peers it sees. Updates MUST either create a new isolated network akin to a hard fork or be fully backwards compatible.
The screenshots for a walkthrough of the app can be downloaded from: https://drive.google.com/open?id=1OwmJVxRF91V9ENGMebDRsIhpUZIavFjR
We will include these later in the readthedocs file and give a more descriptive explanation of each step and all the functions that are implemented.
convert -delay 150 -loop 0 1\-* [2-9]* 1[1-9]* all.gif
The final Pull Request is online https://github.com/wkmeijer/CS4160-trustchain-android/pull/81 The released apk: https://github.com/ClintonCao/CS4160-trustchain-android/releases/tag/4.0 This includes:
@synctext
Quick feedback on performance for input to grading:
You will create your own blockchain, almost from scratch. Your blockchain will be special! Your blockchain will be the first in the world to operate on smartphones exclusively. Your blockchain will not need servers, miners, consensus nodes, PCs, central entities, oversight bodies, governments, banks, or any other impurity. Just phones. Your blockchain should not rely on any server, require no infrastructure, and trust no entity except itself. It thus also becomes increasingly attack-resilient and with offline support it will not even depend on The Internet itself.
The two students helping you as TAs in this course have already implemented a starting point for you. You will build upon their work and create an operational Android-based implementation capable of talking to the live network. The protocol is Trustchain, the 3rd generation blockchain created by TUDelft scientists. Read the scientific paper. A more extensive master thesis from mathematics is also available.
TrustChain is capable of creating trusted transactions among strangers without central control. This enables new areas of blockchain use with a focus on building trust between individuals. Our innovative approach offers scalability, openness and Sybil-resistance while replacing proof-of-work with a mechanism to establish the validity and integrity of transactions. TrustChain is a permission-less tamper-proof data structure for storing transaction records of agents. We create an immutable chain of temporally ordered interactions for each agent. It is inherently parallel and every agent creates his own genesis block. TrustChain includes a novel Sybil-resistant algorithm named NetFlow to determine trustworthiness of agents in an online community. NetFlow ensures that agents who take resources from the community also contribute back. We demonstrate that irrefutable historical transaction records offer security and seamless scalability, without requiring global consensus. Experimentation shows that the transaction throughput of TrustChain surpasses that of traditional blockchain architectures like Bitcoin. We show by using extracted data from a live network that TrustChain has sufficient informativeness to identify freeriders, leading to refusal of service.
The live network can be seen here in a real-time overview. Your "Part I" starting point for software engineering can be found here on Github. Documentation on Android Trustchain. A key element of your "Part II" project is to implement networking. Another Delft project to take inspiration from is creating an academically pure Android-to-Android overlay, with it's own live deployment on Google Play.
Functionality to implement in your Android app: take a photo, sign this photo, publish on your blockchain, browse the Trustchain of others, validate their chain signatures, see their signed photos, and optionally support offline features.
Group Members: @ClintonCao @TimBuckers @Michieldoesburg @LaurensWe @boninggong