今日推荐开源项目：《用 Vue.js 写个桌面应用 Vuido》GitHub链接
推荐理由：如果要写个桌面应用程序，会 C++ 的可能会开出自己的 Qt， 隔壁会 Python 的学着开个 PyQt，后面那个会玩 React 的想到了 Proton Native，前面那个学 Vue.js 的……看到了这个 Vuido。如果有了 Vuido，学 Vue.js 的朋友就可以直接用它来写桌面应用了。现在它已经实现了基本的容器和小部件，同时也可以拿去写个应用了，唯一的不足就是它还只能实现 libui 中实现的功能，但是谁知道它以后会不会成为 Vue.js 使用者的必备工具呢。
今日推荐英文原文：《How to explain blockchain in plain English》作者：Kevin Casey
How to explain blockchain in plain English
For all of the hype around blockchain, most businesses are barely tinkering with it right now – if they’re doing anything at all. A recent Gartner survey of CIOs found that 43 percent of respondents said blockchain was on their rader but they had no concrete plans in the works, while 34 percent said they simply weren’t interested. A scant one percent of CIOs reported any kind of blockchain adoption in their organization.
Change is coming: Research firm IDC, among others, predicts booming growth, expecting worldwide spending on blockchain-related spending to hit $9.7 billion in 2021, up from around $2 billion this year.
But what’s the hold-up for IT leaders? Gartner points to one reason in its survey results: Blockchain engineering skills are hard to come by and, as a result, are expensive.
There’s another issue: Many people still don’t understand what blockchain is. Moreover, people who do understand it sometimes have a hard time explaining it succinctly, especially if they have to do so in non-technical terms that a wide audience can understand.
A lack of internal knowledge and a lack of affordable talent on the open market, notes Dr. Werner Krebs, CEO at Acculation, “pretty much [rules] out any near-term blockchain project. Presumably, that will change.”
The talent issue is going to take some time, so we’ll set it aside for the moment. But we can roll up our sleeves and try to help people better understand blockchain in clear, relatively succinct terms. Better still, IT leaders can arm themselves with the kinds of definitions that help them explain blockchain to others.
[ What are the top use cases for your organization? Read Where does blockchain fit best? ]
We asked Krebs and a slew of others who work closely in and around blockchain technologies to help, starting with a “simple” question: How do you explain blockchain in plain English that just about anyone can understand? We’ve collected their explanations so that you can pick and choose the ones that make the most sense to you.
Marta Piekarska, director of ecosystem at Hyperledger: “Blockchain is an unchangeable, distributed way to store records of events. It is not a distributed database, as one does not usually store information on a blockchain – only attestation to events that occurred. It is shared through a peer-to-peer network, and in order to put information on a blockchain, participants must agree on a common version of truth. In other words, it is a technology to store and exchange information within a group in a reliable, trustworthy, and efficient manner.”
Gordon Haff, technology evangelist at Red Hat: “Blockchain has a number of characteristics that distinguish it from traditional databases. Committed transactions can't be altered, only added. The members of a business network, rather than some single party, have copies of that record and determine which transactions can be added. A transaction (such as a delivery) can automatically trigger another transaction (such as a payment) using smart contracts.”
David Schatsky, managing director at Deloitte: “A blockchain is a digital and distributed ledger of transactions or decentralized database that keeps continuously updated digital records in real-time across a network of computers. Every transaction must be cryptographically validated before being permanently added to the ledger. Blockchain technology doesn’t require a central authority to approve a transaction.”
Mick Ayzenberg, security engineer at Security Innovation: “Blockchain is a mechanism for recording information that is unalterable and does not depend on trusting a third party.”
(Aside from winning the brevity prize for his definition, Ayzenberg developed a “capture the flag”-style decentralized app – or, DApp – that enables users to practice detecting and exploiting six of the most common vulnerabilities in Ethereum smart contracts.)
Mark Grabowski, associate professor at Adelphi University, where he teaches a course on Bitcoin and blockchain: “A blockchain is a file that's constantly growing and all its transactions are recorded permanently. It uses very advanced cryptography to ensure that its records are locked inside the ledger. Every transaction, or block, gets added into the ledger chronologically, so every transaction that happens, happens after the previous one. That's why it's called a chain. And finally, it's all immutable, which means that as you add all these transactions onto the blockchain, the file can never be changed.”
Werner Krebs, CEO at Acculation: “The best one- or two-sentence definition I have seen is something like: Blockchain enables an immutable, shared, decentralized ledger between untrusting parties without need for a middleman or central authority. Thus, blockchain can reduce reconciliation costs in complex commercial transactions like supply chains by establishing a single version of the truth.”
Shannon Adair, director of project management at BitOlympus: “The internet is composed of autonomous computers linked together on different networks. Similarly, blockchain is a database that is distributed among many computers. Any updates to the database require the consensus of the other computers. It also comes with a built-in permanent audit trail. All of this makes the database very difficult to tamper with.
The School Lunch explanation
Tim Kulp, director of emerging technology at Mind Over Machines, serves up “School Lunch,” an explanation that, quite literally, a second-grader can understand:
“Imagine a school lunch table with a bunch of kids sitting at it. Two kids want to trade lunches. Kid A says: ‘I’ll trade you lunch if you have a cookie’ to Kid B. Kid B states that he does have a cookie and the two trade lunch. As the kids trade lunches, the Principal comes over and asks: ‘What’s going on here.’ At which point all the kids at the table speak up and say Kid A traded lunch with Kid B.
This simple story outlines the basics of blockchain. Kid A and B are ‘participants,’ also known as actors, in the blockchain. Lunch is an asset. Trading lunch is the transaction. Whether Kid A’s lunch contains a cookie is a smart contract. Finally, the Principal’s review is the consensus to approve/validate the transaction.
[To summarize,] blockchain is the process of participants engaging in transactions around assets. Consensus is used to validate the transaction and smart contracts are used to set parameters around the transaction.”
No, Kulp’s not scoring points for the briefest explanation. But it’s how he explains blockchain to non-technical people who don’t really need a deep dive into things like cryptographic signatures, how consensus works, or the architectural design of a blockchain system.
Moreover, as you move to a point where you are actively considering a project or needing to make a convincing case for a blockchain investment to others in the company, brevity may lose some of its virtue.
Maryanne Morrow, a regular on the blockchain speaking circuit and CEO and founder of a fintech blockchain startup, 9thGear.io, notes that, say, a dictionary definition of blockchain – yes, it’s in the dictionary – might be a fine start, but it’s incomplete, especially in terms of explaining its business potential.
“Blockchain is a digital, always accurate, distributed ledger that allows for secure transactions without a central trusted third party,” Morrow says. Its characteristics, though, are the substance beneath the hype, and why she thinks blockchain will have a huge impact for decades to come. In Morrow’s terms, blockchain is:
- Immutable: Once agreed [upon], transactions cannot be changed.
- Encrypted: Increases security of transaction.
- Pseudonymous: Only the information necessary for a transaction is shared.
- Decentralized: Enhances security as information resides across every node in the blockchain.
- Consensus-based: Validation of a transaction requires acceptance by majority of the blockchain’s nodes.
- Time-stamped: Ensures that transactions cannot be double counted
- Resilient: Information resides in multiple nodes [which] ensures it is not lost in the event of a technical issue in one or several nodes.
The big-dollar question, then: Should more CIOs be kicking the tires on blockchain in their businesses? To begin to answer that question, you must think about blockchain in business – rather than technical – terms.
“In deciding whether to use blockchain, it is helpful to think about whether [its] unique characteristics provide business value,” says Red Hat’s Haff. “For example, if an industry has no system of trusted middlemen – or if existing middlemen are expensive or otherwise add friction – blockchain might be a good fit.”
Stay tuned: In an upcoming post, we’ll examine that question in more depth, including a closer look at some of the real and potential applications of blockchain in various organizations and industries.