Some ideas for the blockchain exploration API

Hello,
I just wanted to share a few ideas about the web clients or the API allowing to explore the blockchain, although I am not sure of their feasibility.

1. Peer-to-peer calculation
The web exploration of the blockchain (http://www.metab.ucoin.io/#/home and http://cesium.ucoin.io/#) are very slow at the moment. I suppose they are highly limited by the servers ressources.
Would it be possible to make these apps calculate thanks to a cluster of servers? For example uCoin nodes could also activate an option to allow calculation for these web apps.

2. Indicators recipes
The problem I see with this blockchain exploration is that it can only be used in real-life situations by people with statistics and coding skills. These people can harvest data thanks to their skills.

For common people, analysing this data is either meaningless or impossible.

Let’s say I want to purchase an item online to a seller I don’t know personally. Thanks to the blockchain, there is a potential to harvest data about the seller from the blockchain and use it to make more informed decisions.

For example I can say I want to trust more an online seller who sells a lot to many different individuals (many incoming transactions with many different people). I can create an indicator for this purpose and use it. But I need coding and statistics skills to do this, plus a server to do the calculations …

What I think would be interesting is a system allowing every user to create indicators based on some sort of recipe (or source code). This recipe could be modified (commits/issues/…) and shared to others.

Now the non-expert wanting to buy something online can just choose to use an indicator that has been created by someone else and apply it to the vendor … Perhaps this could even be integrated in Sakia to make it even easier to use (add custom indicators from the community list to your favorite list).

The community could come up with plenty of interesting indicators harvesting the openess of the blockchain: risk of account being a sybil, online seller reputation… And of course less “positive” indicators such as richness, poorness or “top 10 poorest users”… Or even indicators used by health insurance or loans to exclude users… But that’s part of the blockchain so they will do it anyway.

At least this is a way of harvesting the blockchain which does not exclude non-coders and non-statisticians and which can be applied to real life situations (whereas generic meta information on the blockchain have no real use in practice for commoners I believe). It also borrows principles from the open source software and their collaborative communities.

What do you think?

These are interesting ideas which should be implemented in the Community Management Tool. I suggested this idea during FMM6. A web tool like what we can find on https://btcjam.com/users/1319 to analyse the community, the users, the transactions.

As I don’t have much time to put on this, I’m calling for developers to implement it :slight_smile: I think @s_b_ started working on it.

I really like the recipes ideas, but it’s a big work to do. Could come later !

2 Likes

Thanks! I did not know about bitcoing applications such as btcjam. Also mentionned here: Votre avis sur ces schémas
Very interesting indeed.

1 Like

This is great Firefox OS and Ubuntu Touch integration. Ah it’s cgeek who did this GitHub - c-geek/cesium: Webapp and Smartphone client for Duniter network.

2 Likes

OK, I must be honest, this is just post-it development. Algorithms of www.metab.ucoin.io are so dirty it’s a miracle they still work, they were not meant to handle a blockchain with more than ~1000 blocks. We now have 45.000+ blocks.

Cesium was just a prototype working with a basic network of 2 nodes, and is now kind of broken.

Fortunately I will update these 2 prototypes this week. :grin:

Love it. Absolutely possible, now.

But need some skilled & available developers to do it :slight_smile: I guess @s_b_ is on it yet.

2 Likes

I only know how to code in PHP unfortunately. If his app is PHP then perhaps I could give a hand.

Here would be a very basic implementation of this system:

  • The recipe has inputs: an user’s public key and a period range.
  • The recipe has variables that are retrieved on call: let’s say all the blockchain transactions for the given pubkey and period (id, source/target pubkey, amount) and the user info (WoT variables)
  • The recipe has functions available to use: for instance mean(), sum(), count(), min(), max(), var(), std(), …

Now let’s say I want to implement a very basic indicator of online seller trustability.
I could make a kind of recipe doing:

Retrieve only transactions with a positive amount (incomes)
Trustability = count(positive_transactions_id) * count(distinct positive_transaction_target)

The formulae would make an indicator of trustability based on the number of transactions as a seller time the number of different buyers.

I know it is not a good formulae for that purpose as it is too simplistic. But at least I think you get the idea ^^ And with this recipe repository the formulae could be improved collaboratively.

Then the user would be able to apply the formulae to any individual by just inputing his/her pubkey and period (from the beginning, last month, etc…). Perhaps it could be done in a few clicks in Sakia.

I think it is important that indicators harvesting the blockchain are collaboratively made, human readable and open source in this community form, and human usable.

Also on some home automation software I have been using, they used Blocky to make recipes easily programmable.

the stats there are great! do you have the source code somewhere / github?

Yes it is, on https://github.com/ucoin-io/ucoin-web !

1 Like

Yes I tried something in PHP
http://transitiontechs.me/ucpproject/community/
It displays a simple graph with the JS library D3.js
it represents some members of the Metab community with their certifiers
and another view with a table of all members

@scith
Interesting ideas to develop :slight_smile: