Blockchain in Frappe with ERPNext

Hi @peterg,
I and also many universities around the world are disagreeing with you. Especially trusted/reputed universities:
The university I am working went the blockchain way for their Diploma.


https://registrar.mit.edu/transcripts-records/digital-diplomas

Best,

I know they’re doing it, but I can’t for the life of me see a single advantage beyond “cool factor”. In very concrete terms, what advantage does Blockcert offer that an equivalent lookup function on MIT’s own website couldn’t?

I have spent the last 20 years working in different regions of the world for various employer. Certifying Diplomas is always an annoying step that I have to go through… That means connecting university - embassies / consulate - employer. That’s a lot of paperwork that could be simplified with a trusted technology.

Beyond the cool factor, an employer (especially in big institution/Cies) would not automatically recognize your diploma because you have the physical paper.

Lastly, I don’t think university or other instutions publicly share their students data (who graduated, when, which field, what mentions, etc.)

You are conflating Blockchain into Bitcoin somewhat.

It would be more accurate to say that the central problem solved by blockchain is to enable dependable record keeping in a distrustful community.

If a mafia family decided to use a single multitenant ERPNext installation to record all their own company’s business and the conglomerated ledger of debts between the various family member’s companies, blockchain would do the job. MariaDb would not.

The annoyances you’re describing are very real, but none of them are solved by a blockchain.

With Blockcerts, an employer can verify your diploma by going to the Blockcerts webpage and entering a code. Instead of trusting the piece of paper, your employer is asked to trust Blockcerts. That’s an improvement perhaps, but it’s still a trust relationship. Someone could provide a literally identical service using a normal database, completely without all the overhead that comes with blockchain. The blockchain provides no advantage here except buzz.

Even simpler, MIT could verify all this information themselves using an equivalent webpage, without having to rely on a middleman. Many Learning Management Systems like Moodle offer this functionality out of the box. To verify diplomas in this way, MIT doesn’t have to share any information beyond what is already published as Blockcerts.

There are huge advantages to digitally verifiable credentials, but using a blockchain to accomplish that is unnecessary at best and risky at worst. There are far better technologies that give far more control to both issuers and students.

1 Like

I think blockchain only will matter for an ERP perspective, if it will help to solve one problem.
The consolidation of Business Process and ERP Processes.

From the business point of view, an Business Process, works exactly like a block chain.
Each area (node) have they own flows (contracts) and from time to time one area communicate to another area (transactions/transfers).

I belive that is the approach that should be taken into consideration. Like the blockchain, being a central point of view about the business process, where you can, validate, trace, audit and trust the flow of information into the ERP.

While each module is an node helping to ensure the trust of the business flows, adding value on the flow.

As an reference Value Chain

There’s some interesting work being done on value chains in industries like mining and high-value agriculture, but always (as far as I’m aware) between different companies.

It’s theoretically possible to do this within a company, too, but I wonder how practical it would be. If different departments in the same company are actively trying to falsify each other’s records (the scenario a blockchain is designed to prevent), aren’t there much bigger problems than just data quality? :slight_smile:

@peterg the case if that you are looking from the point of view of the “Information” into the ERP, so, from that POV, is right, there’s a war of “untrust” on the information.

But, if you look from the perspective of a “Business Process”, you can, write answers for questions like

“Why Melissa from Accounting is changing the customer record that Petter, from Sales, have generated few days ago?”

  • Melissa changed the record, to add the tax information, and properly setup the billing accounts for that customer, because this is his responsability, and the information that Petter generated, was not rich enought, to support the work of Melissa, due a degree of competence.

Also, this is exactly what we model into “Business Processes” maps, who will change the information, where they will change, when they will change and why.

But, ERPNext, doesn’t allow us, to see the whole picture, due a fragmentation of the flow of information into the system, into different documents.

So, if you are able to audit and trust that your nodes are adding value on the information as the way you expect (by a contract) so you can trust in your business process.

It’s a worthwhile goal what you’re describing, but I’m not really sure how you’d accomplish it on a blockchain. If your goal is to create a perfectly auditable system (“immutable everything”), wouldn’t a system-versioned/temporal database be both simpler and better?

Digital certificates?

The term “trust” in blockchain refer first to “custody” then to “believe/confidence”.

Blockchain is trust-free (i.e. “custody” free) because it doesn’t need certain (and fixed) party/node to keep the information. They are distributed among (freely maintained) party/nodes (in so called distributed ledger -> which has nothing to do with financially termed ledger)
And these information is encrypted with a block and chain method.

That makes the information (distributed and chained-encrypted) can be “believed” as reliable.
Blockchain is trusted because it is trust-free :slight_smile:

And I see that blockchain is good for data that is transactional, not static (use static encryption for this: PGP, SSL, PKI, etc).
In crypto-currency the important information kept in blockchain is the transaction, not the coin itself, i.e who buys how much at what time from whom. This proves the ownership of the coins.

For the university certificate discussion above, I see blockchain is good not for keeping the certificate per se. But for the issuance of the certificate (from univ to student) like @f_deryckel said, and for proof-of-ownership when the student needs to show it to third party, for example when he applies for job. Or if he wants to pawn it… :smiley:

Back to ERP.
So what is hypothetically good to be blockchained is the transactional (or as @max_morais_dmm mentioned as process) in the system such as creation or amendment of a document (not necessary the data inside the document itself, which can be kept in conventional database). This creates immutable transaction (transaction records that only goes forward).
Or use smart-contract to create self-release transactions when certain conditions are fulfilled, e.g. salary payment, purchase payment, quality approval, etc.
Hence blockchain can be good for audit.

@alkuhlani so if you want to make something, maybe you can create a SaaS which ERPNext user can send a document (e.g PO) to his account in your SaaS to be stamped (i.e put in blockchained) before sending it to the vendor.

But again… implementing distributed-ledger must consider the need of many nodes, which might make it not practical for internal or single-party use.

Finally, my view regarding ERPNext is don’t do it… at least not now. Maybe for version 20 is ok :slight_smile:

1 Like

This is the question of enough and enhanced. :slight_smile:
Is it enough? Yes
Can we enhance it? Yes
So the next question is should… should we do it?

Here’s some real world use case of using Blockchain for supply chain management I came across last year:

Personally, would love to see this start with something small. Eg: Customer accepting a quote/contract within a system that acts digital signature or pretty much replaces it.

At this point, it is pretty much experimentation without a 100% solid use case to back implementing blockchain or crypto in the system right now.

1 Like

Hammer looking for a nail.

While I understand the attraction the word Blockchain brings, it largely stands to be a very specific solution to specific problems. Most original “success” stories of blockchain have failed the test of time. Here’s an article that should bring some context to what I mean,

3 Likes

The postal service’s app that tracking package by blockchain.

Came across this article. Worth a read

1 Like

Block chain might be useful for archive purposes.
To make 100% sure, that no document is going to be modified afterwards.
But that’s the only valid use case I can see for now inside a company.

In business practice it might be to secure all information after closing a fiscal year or if other regulations (internal or external) apply.

I first downloaded bitcoin because some farmer was accepting magic internet money (bitcoin) for Alpaca socks. Since then I’ve always thought the real point of blockchain was being able to provide a transparent, distributed, and auditable global exchange for food and agriculture products that provides a stable price discovery function.

So now I see ERPnext (which seems to have some ag users) and some discussion of an article pointing out the embarrassing hype coming from blockchain. Maybe this is the right place to build a web store that I can sell electric tractors and soybeans using a distributed consensus ledger currency.

For anyone still interested in this topic:

General Ledger Dialtone :slight_smile:

2 Likes

This seems to be what I was thinking would be an obvious use of a blockchain with ERPNext. You could envisage Frappe being part of its own blockchain which could be used to exchange documents. So instead of emailing a Sales Invoice, it just gets published (e.g. as json) onto the blockchain. Then if the other company also uses ERPNext, it would pick it up automatically and insert it as a purchase invoice. You could implement public key encryption too.

You could only publish certain document types, and Frappe could sign company info (e.g. domain name) into the blockchain, so the trust you have with the physical company business card that was handed to you by the sales guy is extended onto the blockchain. Then Frappe ‘knows’ that the company is already available on the network.

This could be extremely useful for logistics where stock and warehouses are also published. A global ERP/MRP. Also for searching for products/services, kind of an inherently structured internet.

The reason I came was to see if anyone was interested in a bitcoin payment gateway integration. I would love to accept bitcoin instead of this increasingly worthless government stuff :laughing:

1 Like