Closed synctext closed 3 years ago
Base64 enoding of a private public keypair of the secp256k1 elliptic curve: Currenlty signs an 8 byte strings
@qstokkink If I'm correct you mentioned yesterday that trustchain is using the Ed25519 elliptic curve?
@klikooo to be precise: it uses Curve25519 and not Ed25519.
Current progress, Database code getting functional, https://github.com/wkmeijer/CS4160-trustchain-android/tree/4_create_database
Project till 24 Nov, 100h/p, used 40%. Q2 code support on Tuesday morning (5h/week).
Current progress, Android-to-Android direct connect functional, only when connected to same wifi. Bluetooth pending. Can connect to others and crawl blocks and decode. Working Bouncycastle lib for curves of Trustchain. Nasty bug: public key storage gets altered. No networking part yet.
App can now correctly create a full block.
When phone A wants to connect to phone B, A first sends a crawlrequest to get info from the B. A also sends her last 5 blocks to B, so B has enough information to validate halfblocks send by A. Normally dispersy handles this, so the code in the app here is not very sophisticated.
In the screenshots notice the public keys of A and B, public key of A ends in F4E4D6
, public key of B ends in 190886
.
When both A and B have gotten to know each other, A creates a halfblock and sends it to B.
Half block created by A:
Half block created by A (continued):
B then validates the halfblock received from A by matching it against what he knows from A in its database. When everything is validated correctly, B creates the other half of the block and sends it to A. A receives the block and puts it in her database, thus completing the exchange.
A receives other half from B:
Other half of the block in database of A (notice that the link public key is the public key of A):
Next steps:
ToDo:
@synctext could you update the link of the documentation on brightspace to the following http://trustchain-android.readthedocs.io/
Please upload your Trustchain app as a private Beta on Google Play store release this or next week. Prepare please for a public release on 24 Jan at the latest on Google Play store.
This app will be mentioned at length in my upcoming talk at Stanford: https://cyber.stanford.edu/bpase18
Sandeep can help with a stable IPv4:port for bootstrapping. We now have a dedicated Pixel phone for that running Android 8.1 IPv4 : 130.161.211.254 Port 1873 Local 192.168.1.28 (changed) (running often-crashing original app by Jaap, as released on app store). Location Van Mourik Broekmanweg 6, 3rd floor, ... Please send .apk for bootstrapping with stability or drop by.
Open matters:
ToDo:
Last sprint:
As discussed, possible upcoming sprints:
Comments: IPv8 is cool according to @MattSkala. Next step is to expand IPv8 concepts/overlay/code with nearby Bluetooth devices. Great progress: Libtorrent magnet link downloading now works in the expanded app!
This issue must be moved to the same repository where the Android app is. And the Android app by @MattSkala must be moved to Tribler organization. And @MattSkala must get limited rights for the corresponding repo at our organization.
@ichorid The Kotlin implementation already is part of Tribler organization:
Feel free to move or close this issue.
This issue is indeed completed so I will close it 👍
Create a clean-slate Java implementation of Trustchain. Enables future support of a Android credit wallet. Plus future digital votingpass app future integration, Tribler/tribler#2918
Issues:
First results: