Chat with IBM Developerworks
Skuchain has been contributing to the Hyperledger Foundation’s work on Fabric and testing IBM’s work on Fabric hosting on Bluemix to accelerate the goal of a production ready blockchain environment for enterprise customers. The power of the blockchain design pattern to provide a secure system of record shared between firms has tremendous potential to democratize access to supply chain financing. Skuchain has been working to bring our protocol for securely attestable multiparty contracts to Hyperledger Fabric on through chaincode on our Github . Skuchain has alternate implementations for Ethereum Virtual Machines and UTXO style blockchains that we will release in the future. Chaincode allows us to make one of clearest and easiest to develop with implementations of the protocol.
Check out the following conversations with Zaki Manian, Skuchain cofounder and CSO and John Wolpert, IBM Blockchain Operating Director, Meeta Yadav, Chief Data Scientist for IBM Blockchain, and Dale Avery, Software Developer for IBM Blockchain.
Transcript of the video follows
JOHN WOLPERT: Hey everybody. This is John Wolpert. I’m the Operating Director for IBM Blockchain and it’s good to be with you all. We’re here to talk about Blockchain and in fact I was just minutes ago on stage with Don Tapscott and Alex Tapscott and as bunch of other folks talking about this very subject here at the NASDAQ Center in San Francisco and the room was packed and, you know, Mr. Tapscott has been sort of the augur and oracle of great change in the Internet. It was very clear that this is the next thing in the evolution of the Internet. So I guess we’re all on the right topic.
So today we’re going to talk about blockchain and what IBM’s doing with it. I’m going to start by just saying… the simplest way I’ve ever explained this, the way I explained it to my Mom what blockchain is, is it’s the Internet’s permanent marker. It’s a Sharpie for the Internet. That is, if I give you… think about a dollar bill. If I give you a dollar bill and you take it. It’s an amazing piece of technology. It’s a final settlement. Unless I rob you of it, I can’t get it back. And I can be assured, unless I’ve counterfeited it, that when I give it to you, I no longer have it and it’s unique, the transaction is immutable and I didn’t invent money by handing you my dollar. It’s no longer with me and now it’s with you. Try to do that with ones and zeros on the Internet at a distance and suddenly you have to have lots of intermediaries and trusted agents whose job, and it’s kind of a scary job, is to make sure that none of those things I just described happen. If I take a picture of that dollar bill with my iPhone and send it to you, I sent you a bunch of ones and zeros that purport to be that picture, but that it’s not necessarily the identical one, it’s not the original article, and I still have a copy of it.. or I could on my phone as well. So I’ve duplicated it just in transmitting it to you. Well blockchain prevents all that. It allows you to transfer valuable assets between legally separated entities in a final way where the rules by which that transfer is made… like if I say I’m going to give 15 cookies if you give me 20 doughnuts, but if you give me 20 doughnuts within 15 days, I’ll give you 20 cookies. Now I can write that in a piece of code. I could write it in JAVA. I could write it in Assembly. But if I control that code, I could change the code. You control the code, you could change the code. But if I put that code in a transaction of blockchains and say this is our immutable, our permanent marker of an agreement, then we know that that can’t be changed by anyone because the property is on the blockchain and the fact that there are many many organizations, legally separate, that are maintaining the integrity of that event log, of that ledger as we call it. Blockchain is a ledger of assets that are shared between a network of individuals who are working towards transferring something, goods tangible or intangible. Bitcoin, of course, is the case that we hear about… is the original use of blockchain, at least modern blockchain as we know it today, and that’s a great. One new case is cryptocurrency. What IBM has done and what many other companies have done and said, “Hey that’s kind of like Napster.” It’s getting us really good ideas how to do something more on mainstream not so much on fringe within business. So I mean would you have iTunes without Napster? Would you have Netflix without BitTorrent? Maybe not. And so once again, Bitcoin kind of said, “Hey, we have a new pattern and industry now is getting behind that and saying we can use that for a lot of stuff not just cryptocurrency, but more supply chain, obviously interbank payments, remittances, letters of credit and identity.” So the blockchain made systems that radically improved whole industries beginning with banking and insurance we’re seeing, but really supply chain, I think, is probably the killer area, corporate loans, international trade, bills of lading, all sorts of areas.
Today you’re going to hear from some blockchain experts about this technology and learn about new tools to get started on your first blockchain projects and that line, your first blockchain project, that’s what this is all about. I don’t know what you’re doing sitting around watching me for. You should be going to Hyperledger.org oribm.com/blockchain and you can spin up an IBM or a blockchain network in about 2 minutes with one click of a button and you can start writing code to it today. Just go to ibm.com/blockchain and there you go.
We’re hosting this hangout because we know that only with openness and a contribution of developers like you guys will we flourish and let Hyperledger, which is the large network, one of the largest open source communities in the world. Just a few months after we started it with a bunch of other companies, the Linux Foundation, Hyperledger.org is out there and it needs all of you contributing to the code just like Linux or any other open source… openly governed open source community.
So, Zaki Manian is the founder of Skuchain, which is just an awesome company. We love these guys. He’s going to have some things to say. Zaki, could you introduce yourself and talk about how you made this transition from a developer to a founder of a blockchain business and your recent work on using blockchains in supply chains?
ZAKI MANIAN: Great, thank you. So, my name is Zaki Manian. I’m the co-founder of a company called Skuchain and Skuchain is basically… was founded around the idea of applying the non-cryptocurrency ideas around blockchains to the problem of the supply chain. I have been sort of a polymath developer in my career. I have done lots of different things from embedded systems. I got interested in cryptography and security and cryptocurrencies about 4 years ago and I’ve sort of just been obsessed with them. But when myself and my co-founder Sriram were… you know, we met at a Bitcoin Meetup and as much as we were both interested in cryptocurrency we both saw that there was a real opportunity to take the design pattern that was in the Bitcoin code base and apply it to supply chains. I built a medical device and had a lot of exposure for how much friction there is in the way in which supply chains work. Nothing is digital. Everything is… the extent that it’s digital is spreadsheets and email. There’s no formal system. There’s no rules. Trust is hard. Everything is slow. It’s hard to get paid. It’s hard to know where things are. It’s hard to know where all the company that you’re working with are and making sure everyone is on the same page. And I just thought that there was no more natural application of this technology than supply chain. So what Skuchain has been doing is we’ve been working with banks, we’ve been working with logistics companies, we’ve been working with freight forwarder… really understanding the nitty gritty of how blockchain can create real opportunities to unite the flow of money and the flow of goods and bring about a new revolution of what we call “collaborative commerce”. And basically the idea is take all these companies that don’t really trust each other and have some adversarial interests and allow them to collaborate with a secure set of rules.
JOHN WOLPERT: Sorry about that. I went on mute. So thanks. Supply chains seems to us to be an incredibly important area because it applies the best of the rules for blockchain. Blockchain is not a perfect pattern for everything. It’s right for some things and not for others. The thing that we always watch for is… you have a set of legally separate entities who cannot countenance or allow for any of those entities or any other entity or third party, even the government, to draw on or manage or control the system through which they have to do business, right? So I remember Horiba back in the 1990’s and how they wanted to centralize the supply chain. They wanted to make it more efficient… that was their purpose. You know, these powerful companies… everyone from a Walmart type company to a shipper, a freight forwarder or a port shipping company. They really didn’t want one company to have all the power in the system and so blockchain seems like a good approach now because all of us have control, but none of us are in control of the others. Now what say you to that?
ZAKI MANIAN: So I think we’ve basically… you’ve hit the nail on the head. I ask myself as a developer again… you go to meetings sometimes and you talk to potential customers and you listen to their problems. You go like, “Yeah, you have some problems. The solution is in the blockchain.” But why in the area of supply chain, the cloud has never really been able to work. The cloud has built a huge number of successful companies, but you need something extra. You need to add something on top of your traditional cloud based solutions in order to really deliver on the needs of the supply chain and where we were… Skuchain has been conceiving and… in the supply chain space there’s going to be I think a huge number of different blockchain related products for everything from bills of lading to tracking of who owns the obligation to pay, who owns the goods that are sitting in the warehouse, keeping the freight forwarder and the customers on the same page… huge number of products that are going to be invented. But every one of those products has one requirement which is, you don’t want to build in a centralized point of trust that then can be… will inevitably be abused. Because in the history of supply chains, every single time, this has happened… it has been abused and then the industry has stepped back and said, we’re going to constrain your business to a little piece of the puzzle and you can’t own this (inaudible 12:26).
JOHN WOLPERT: Right. So we’ll come back to Zaki unless you can keep me honest on time in comments. I’d like to move on to Meeta Yadav who is IBM’s Chief Data Officer for Blockchain. So it’s cool we have one of those. Meeta can you say a few things about yourself and go over the technical skills needed to be a blockchain developer and maybe some key market trends that you’ve been seeing with blockchain lately.
MEETA YADAV: Hello everyone. I’m Meeta Yadav. I’m the Chief Data Officer for IBM Blockchain Technologies. That means I just get to play with a ton of data. To echo what John and Zaki were saying, blockchain is a design pattern made famous by Bitcoin, but its uses go far beyond. This technology we believe and we are seeing it now can help us re-imagine the world’s most fundamental business interactions and open doors to new ones. In industry we are increasingly seeing it from customer meeting to customer meeting is getting ready to embrace blockchain and to imagine new business ideas and honestly sometimes they’re afraid of being disrupted as well. So be it banking, insurance, digital rights management, supply chain, diamond industry… everyone in the business of asset transfer is interested in this technology. But I believe and my team believes that these businesses can only be re-imagined and reinvented by pioneering developers. This technology will truly reach its potential if it’s only built on the shoulders of imaginative, curious and non-conformist thinkers and developers. Only with openness and the contribution of developers around the world will this innovation flourish and blockchain be widely adopted. I really believe in my team… is a bunch of non-conformist, imaginative, curious people… which can be challenging at times, but most of the time. So to look at what skills are needed by developers… I look for data and I interviewed my team members and I asked them what were the key skills they thought are needed and the one overwhelming skill that they said was needed was an open mind. The blockchain base system if you can get down to the basics are modular and can be broken down into two categories, the foundation piece and the business application piece. So foundation is the core of how blockchain works. IBM is part of the Hyperledger project like John said, so to contribute to the foundation of blockchain, the key skills that are required are an understanding of distributive systems, messaging, data bases, cryptography, networking and security. So some of the traditional skills. To understand the services of the cloud and understanding of cloud computing and large scale microservice architecture is very important as well. Now when we come around to business applications we believe that great applications will be developed by polyglot developers… people like Zaki. My team and I are not partial to any one programming languages. Our background… we are mathematicians, astrophysicists and chip designers who chose to embrace technology. I still teach chip design courses at the local university. So an understanding of how the… the lingering cool applications which you think will be disruptive I think is the way to go. An understanding of how these applications will interact with the foundation. The ability to write chain code, for example, deal with large data sets, UI skills… they all fall in this catenary of business applications.
Now we start looking at the trends, right? We are seeing more and more money flowing into fintech space. Eleven billion dollars were invested in 2015. All major tech companies are investing in blockchain whether it’s IBM or Microsoft. All major banks and financial industries are investing in blockchain. Google Trends… it was fascinating to find this… Google Trends indicates interest in blockchain is increasing compared to big data and cloud computing. So we have this data out for you in a blog post and you can see that. That was fascinating to see. A quick search of blockchain gate open data shows that we have about 250 code bases and 1600 repositories and that was just a search of the key word ‘blockchain’. So if we search for other variations of it we would find more. So the future as predicted by data and the gut instincts of vectron software players looks very promising. So I would recommend that you jump on the band wagon and start disrupting the world. Thanks John.
JOHN WOLPERT: Thanks Meeta. And by the way there’s a couple of ways you can jump on the band wagon. One is to be what we call node zero in a blockchain network. You’re going to hear a lot more about that from us. We don’t see what IBM… what we’re doing as so much of traditional technology supplier. We’re not selling the software. What we’re doing is helping viral business networks start and proliferate and we think that blockchain is exactly their viral kind of technology pattern in that it looks like a singleton. It looks like a centralized system, but it isn’t. So you don’t have the political problems of a centralized system or the reticence of participants to play on someone else’s centralized system and yet it’s easy to connect to and be part of as a centralized system. That makes it potentially viral depending on the use case. And then also because you can write different applications or different chain code, as we call it or smart contracts, to it. You can then scope. So it’s viral… it’s a three dimensional viral factor because you say start with ‘supply chain providence’ and then go into actual ‘supply check train’ and then into… you got just two companies just doing say conflict material avoidance or tracking and then you can get into shipping and then into trade finance and letters of credit and bills of lading and now you’ve got companies joining the network and then you’ve got different solutions in that same network that even more companies join including the regulator and government and auditors, your banks. It can become very viral. And it can all start by you just creating node zero, the very first node in the network. And that’s something that you’ll be able to do with Hyperledger and with IBM blockchain. And so the two things you can do to get involved are join the Hyperledger.org Foundation and start writing code and checking it in. It’s a meritocracy system so you could be one dude or one college student writing code and if your code is the stuff that’s getting accepted by the community, you can become the maintainer over time. The other thing is you can start writing applications and you can start doing that with IBM blockchain on Bluemix right now. It takes 2 minutes to start.
So Meeta thanks for that. What are you seeing in terms of the trend upwards as far as usage of IBM Blockchain versus other fabrics?
MEETA YADAV: Sorry I was on mute. The trend has been more than upwards and the I hang out with the developers all the time and we have to scramble every time and increase the capacity because we just see such fast growth. If we look at our trend line the slope of the trend line has been changing so frequently on us and this is almost going up straight now. So it’s been very very tremendous. We’ve broken it down into different categories on where we see growth. We are seeing growth from start ups, from individual developers, from different companies entrusted in using the blockchain service and we have an internal growth within IBM as well which we see going up. But it’s been tremendous.
JOHN WOLPERT: That’s fantastic. And not to be ‘adsy’ about it, I think that one of the things that I’ll just say as commentary is that when we look at the big stock exchanges that are choosing IBM Blockchain, Hyperledger underneath it, as opposed to say, more proprietary things that have already been built for exchanges like some of them famously. Whole stock exchanges are choosing us. Why? We asked them and they said, “Well because, yeah sure they built this thing and they did build it on open… they made their source code open, but they didn’t build it on openly governed open source.” And that’s what they want. And so we’ve been winning deals from major major companies and networks and government because we support Hyperledger so faithfully. Hyperledger is an openly governed Linux Foundation open source. We gave our code away to the Linux Foundation. We don’t control it anymore. So don’t be fooled. There’s open source and there’s openly governed open source and people seem to like the latter a lot more.
And with that, I think I’ll turn it over to Dale Avery. Dale is a straight-up blockchain software developer here at IBM. One of the best. Dale, you’ve been here… you and your team came up with the Marbles App. You built it in record time. I saw you guys in Vegas having to build another application to put up in commercial paper trading and I think you guys did it in the hotel room with a raging hangover. Right? Can you show the audience how the Marbles App works and how they can use IBM Bluemix in this case to build it?
DALE AVERY: Sure. Yeah, you got it. Okay let me show them my screen here.
JOHN WOLPERT: I’ve got the raging hangover thing, but it’s true. I saw it. We can look at that.
DALE AVERY: Giving away too much. Okay. Alright. So the model’s application… if you want to follow along or do this yourself. The website that John mentioned, ibm.com/blockchain has links to all of our demons that are available so you can go ahead and follow along with this yourself.
So first, you’re going to go to the GitHub repository for the Marbles Demo and you’re just going to click on the Bluemix button. John’s right. It only takes about 2 minutes to get the Marbles Demo deployed. You’ll see a UI like this one. Just click Log In and then you’ll pick the organization and space on your Bluemix account where you want the demo deployed. But this takes about a minute or so, so I’ve gone ahead and pre-deployed the demo. So after you’ve deployed the demo, you’re going to see the application itself and a blockchain service. Now this is how this demo works. There’s obviously a blockchain network underneath that makes this magic happen and there’s a… in between here that you can’t see it… there’s something called a chain code or smart contract and that actually contains the business logic for this demo. It’s what makes this application a blockchain application. Now this top part is just the Marbles web app. It’s really just a pretty interface to the chain code. You open this up… and then you’ll have a URL here that will take you straight to your instance of the demo. Okay, so this is the UI you’re going to see. We just have two users in this demo, Bob and Leroy and what you can do with this… what we’ve decided to do with this blockchain network… we wanted the simplest asset transfer demo that you could possibly have and we decided why not just trade marbles. So I can go ahead and do is create some assets for the network. Let’s create a few marbles here. Assign one to Bob and assign one to Leroy. And if I refresh the page here, okay, and you can see that now I’ve created these assets and to interact with the demo all I need to do is just click and drag marbles back and forth between the users. And as I’m doing that, each of these transactions is being captured as a block that’s getting stored on the chain. Now that’s really all there is to this to this demo. It’s not very complicated but it’s just supposed to demonstrate the functionality of the Hyperledger fabric. It’s a very basic demo.
But now I’ll explain the other side of this demo and that’s the blockchain network itself. So from the dashboard, if you click on the blockchain service panel, it’ll take you to this, this UI right here. Just as a side note, on this page you’ll be able to see all the credentials for accessing your network. These are the same credentials that that web application is using to interact with the network deploy, invoke, query chain code. But the pretty part is right here. So you can launch your service dashboard and this is going to show you information about your blockchain network like you can see the peers that are running on the network here and the certificate authority. The CA is the peer that’s responsible for managing identity on this network and you can also see down here… this is the smart contract or chain code that is running the Marbles demo. And so if I come over here to the blockchain tab, this is just going to give me a summary of my chain and I can see here in these blocks that the set user… this payload in the block, this is the transaction that this block is capturing and so when I was trading those marbles, the set user function was being called and you can see the id of marble and then the name Leroy there. So this UI just allows you to investigate your blockchain and see exactly what’s going on as you use our demos and once you’re comfortable with the demo and then kind of want to see how you can build something yourself, you come over here to the API tab and you can see the interface that the web application is using to interact with blockchain network. Like this UI back here… all this is captured through a REST API that is available on each of the peers and it’s actually this API right here. So this is… if you ever heard of a Swagger document, this is a Swagger document that’s been converted into a Swagger UI. Basically, you can take a document that describes a REST interface and deploy it as an application that users can click and interact with. So if you want to call this API, well say we want to get the value of block 6, let’s try it out. You can see the response that gets returned by the peer. So this is what I would recommend for new developers, is that they would just come into this tab and experiment with the REST interface… like if you want to see how the demo was deploying, invoking and querying chain code… that’s this end point. This is the one that we’re using and you kind of investigate this and play around with it yourself.
Now the other benefit to this is that, as I mentioned previously, the demo has the three components, the blockchain network, the web application and then the chain code in the middle that makes it all happen. You can use this REST interface to break up how you develop your demo. Basically, you can first build out your smart contract which captures whatever sort of business logic you’re trying to run on the blockchain and then test it out using this interface before you actually start building your web application… or however you decide to expose this chain code to users. So that’s just about it. The other tabs here are just ways for you to step… just like I said, testing out the chain code before you actually build a web application. You can do that here like you can see we have our three example chain codes and I can just deploy Marbles and that will take another minute or so, but if I look here… without actually having a web interface, I can test out the functionality of this smart contract before I’ve actually built a UI for it. So there’s just a lot of resources available out there and Marbles isn’t our only demo. We’ve got a whole organization on GitHub for these things. So if you go to github.com/ibmblockchain there are all kinds of demos and resources out here. There’s a repository that’ll help you learn how to get started with chain code… all kinds of… the documentation for our SDK. There’s just really just a lot of value here. So that’s what I would recommend, is that you start with our website and then use the links to the demos. Try out all the demos and then start learning how to write something yourself. That’s about it.
JOHN WOLPERT: Thanks Dale. I want to throw you a curve ball. We haven’t talked about this beforehand but I know you’re fast on your feet. Tell us something that you think is still challenging about working with this that is being worked on that… where you can maybe say to one of the developers in a meeting, “Hey watch out for this,” and “This is how I would deal with it for now,” and “This is how it’s going to be better going forward.”
DALE AVERY: Yeah, that’s a good question. Okay, so the thing you’re going to struggle with I think at this point, and this is changing… it’s getting better… is software development kits. So what resources are available to you to make it easier to interact with the blockchain network? So the SDK that is actually used in the Marbles demo and the Commercial Paper demo it’s being deprecated. It doesn’t have all of the functionality that has been added to the fabric since we started doing this process and so there’s a new SDK that’s coming in a release soon from the work that’s going to have a lot more functionality. One of the big ones is the ability to create and register new users on the network. Currently, we use a separate library from the SDK to do that in our demos and Marbles doesn’t actually do that. Commercial Paper does so you can see an example of how that works there. But the new SDK you won’t have to worry about having multiple libraries. That’ll all just be in one package. So that would be the big one is what resources are (inaudible 30:56).
JOHN WOLPERT: Right on. I’ll give you another one more on the what you do with us on the business perspective side. Right now you can stand up a small network. Soon you’ll be able to stand up a slightly bigger network that will start testing security, privacy, confidential contracts. And then you’ll be able to do it on a really highly secure environment if you’re a company or a start up that’s dealing with say grandma’s pension or healthcare data. You’re going to want even in a testing environment for that could be highly secure in terms of who, what kind of cloud nodes or cloud environments are actually running your nodes. So those are things that are coming and then ultimately one of the things that we think is going to be pretty cool is when you can list your network on an identity service and let people join just almost like a web browser… like a domain name and let companies join. So now you’re node zero and there’s 500 other nodes that are joining your network. That means that we have to enable the system to have 500 nodes and PBFT if anybody’s a comp sci person on it that probably knows that’s an N-Squared problem. You’re not going to get that kind of scale on a PBFT. We’ve got some tricks up our sleeves and how cool it would be to be able to work with IBM and others to grow your network and make some money as every time a node joins your network (inaudible 32:25). So those are the kinds of things that are coming.
Louis, keep us honest. I think we’re… do we get some Q & A here?
LOUIS: I think we can wrap it up.
JOHN WOLPERT: Okay. Alright. So thanks Meeta, Zaki, Dale and the online participants. This is SurveyMonkey and the link is on the IBM systems blog. Tell us more about what you’d like to develop using blockchain. It takes 2 minutes. And with that I think we’re good to go. Thanks everyone for your time and get out there start building some business networks.
[End of Transcription]