MallCloud / contracts-api

API for communicating with Ethereum Contracts
0 stars 0 forks source link

Clarification of algorithm and the execution of the notebook without source code #15

Closed markpyzhov closed 6 years ago

markpyzhov commented 6 years ago

The original text of requirements is described in wiki/BlockChain-communication.

  1. Algorithm use can occur through:
    • Access to algorithm via API in which the user cannot access the source code (i.e., GraphQL)
    • Access to execution of a notebook but with no download in encrypted format or using other functions in Kapil's api
    • Access to source code

@ehillerbrand can you explain the difference between "Access to algorithm via API in which the user cannot access the source code (i.e., GraphQL)" and "Access to execution of a notebook but with no download in encrypted format or using other functions in Kapil's api"

The first it is a tweaking of trained model in Pachyderm (@ehillerbrand don't forget that GraphQL is a type of the connection between client and server, not the server it self)

I and @daemonslayer think that the second is an ability to train/test/analyse the model by defined data. But I don't completely understand:

  1. Who will have an access except Admin to do this?
  2. What does mean: "encrypted format"?
ehillerbrand commented 6 years ago

@daemonslayer You both keep talking about buying and downloading source code. This is not correct. We are trying to enable customers to buy the rights to use the notebook without revealing source code.

DS#1 may sell the source code to DS#2. In that case, the source code is revealed.

However, when DS#1 loads the notebook, a customer is buying the use not buying the code. My comments are focused on how can I buy but not see.

If you want to buy a notebook that is usable but is not visible, you can either provide an encrypted notebook in which the linkages to the rendering engine/data sets is abstracted out so that the notebook can be used with data without visability, or the notebook is callable via API without visaiblity.

The business requirement is enabling a notebook to be used without allowing a customer or another data scientist the ability to see the source code, if viewing the source code is not part of the sale.

markpyzhov commented 6 years ago

If you want to buy a notebook that is usable but is not visible, you can either provide an encrypted notebook in which the linkages to the rendering engine/data sets is abstracted out so that the notebook can be used with data without visability, or the notebook is callable via API without visibility.

I don't completely understand what is "an encrypted notebook". Can you point me to an example?

ehillerbrand commented 6 years ago

A customer buys the rights to use a notebook (a 'customized notebook'). The customer should be able to use the notebook but not be able to see the contents of the notebook. In order to use the notebook a customer executes the customized notebook using their customer data. They do not get to view the contents of the notebook but just see the prediction output. Make sense?

markpyzhov commented 6 years ago

Yes, thanks.