Home Blog Page 337

What is Ethereum?

Ethereum is a blockchain protocol that includes a programming language which allows for applications, called contracts, to run within the blockchain. Initially described in a white paper by its creator, Vitalik Buterin in late 2013, Ethereum was created as a platform for the development of decentralized applications that can do more than make simple coin transfers.

How does it work?

Ethereum is a blockchain. In general, a blockchain is a chain of data structures (blocks) that contains information such as account ids, balances, and transaction histories. Blockchains are distributed across a network of computers; the computers are often referred to as nodes.

Cryptography is a major part of blockchain technology. Mathematical encryption algorithms like RSA and ECDSA are used to generate public and private keys that are mathematically coupled. Public keys, or addresses, and private keys allow people to make transactions across the network without involving any personal information like name, address, date of birth, etc. These keys and addresses are often called hashes and are usually a long string on hexadecimal symbols.

 

1*mjowAqqMPCvO25ptToWrag.png

Example of an RSA generated public key

Blockchains have a public ledger that keeps track of all transactions that have occurred since the first, “genesis”, block. A block will include, at least, a hash of the current and previous blocks, and some data. Nodes across the network work to verify transactions and add them to the public ledger. In order for a transaction to be considered legitimate, there must be consensus.

Consensus means that the transaction is considered valid by the majority of the nodes in the network. There are four main algorithms used to achieve consensus among a distributed blockchain network: the byzantine fault tolerance, proof-of-work, proof-of-stake, and delegated proof-of-stake. Chris explains them well in his post.

Attempting to make even the slightest alteration to the data in a block will change the hash of the block and will therefore be noticed by the entire network. This makes blockchains immutable and append-only. A transaction can only be added at the end of the chain, and once a transaction is added to a block there can be no changes made to it.

 
0*q2_wGWrjD_EBgBva.

Source: andrefortuna.org

Accounts

Users of Ethereum control an account that has a cryptographic private key with a corresponding Ethereum address. If Alice, for example, wants to send Bob 1,000 ETH (ETH / Ether is Ethereum’s money). Alice needs Bob’s Ethereum address so she knows where to send it, and then Bob needs to use his private key that corresponds to that address in order to receive the 1,000 ETH.

Ethereum has two types of accounts: accounts that user’s control and contracts (or “smart contracts”). Accounts that user’s control, like Alice and Bob, primarily serve for ETH transfers. Just about every blockchain system has this type of account that can make money transfers. But what makes Ethereum special is the second type of account; a contract.

Contract accounts are controlled by a piece of code (an application) that is run inside the blockchain itself.

“What do you mean, inside the blockchain?”

EVM

Ethereum has a Virtual Machine, called EVM. This is where contracts get executed. EVM includes a stack (~processor), temporary memory (~RAM), storage space for permanent memory (~disk/database), environment variables (~system information, e.g: timestamp), logs, and sub-calls (you can call a contract within a contract).

An example contract might look like this:

if (something happens):
    send 1,000 ETH to Bob (addr: 22982be234)
else if (something else happens):
    send 1,000 ETH to Alice (addr: bbe4203fe)
else:
    don't send any ETH

If a user sends 1,000 ETH to this account (the contract), then the code in this account is the only thing that has power to transfer that ETH. It’s kind of like an escrow. The sender no longer has control over the 1,000 ETH. The digital assets are now under the control of a computer program and will be moved depending on the conditional logic of the contract.

Is it free?

No. The execution of contracts occurs within the blockchain, therefore within the Ethereum Network. Contracts take up storage space, and they require computational power. So Ethereum uses something called gas as a unit of measurement of how much something costs the Network. The price of gas is voted on by the nodes and the fees user’s pay in gas goes to the miners.

Miners

Miners are people using computers to do computations required validate transactions across the network and add new blocks to the chain.

Mining works like this: when a block of transactions is ready to be added to the chain, miners use computer processing power to find hashes that match a specific target. When a miner finds the matching hash, she will be rewarded with ETH and will broadcast the new block across the network. The other nodes verify the matching hash, then if there is consensus, it is added to the chain.

What’s inside a block?

Within an Ethereum block is something called the state and history. The state is a mapping of addresses to account objects. The state of each account object includes:

  • ETH balance
  • nonce **
  • the contract’s source code (if the account is a contract)
  • contract storage (database)

** a nonce is a counter that prevents the account from repeating a transaction over and over resulting perhaps in taking more ETH from a sender than they are supposed to.

Blocks also store history: records of previous transactions and receipts.

State and History and stored in each node (each member of the Ethereum Network). Having each node contain the history of Ethereum transactions and contract code is great for security and immutability, but can be hard to scale. A blockchain cannot process more transactions than a single node can. Because of this, Ethereum limits the number of transactions to 7–15 per second. The protocol has adopted sharding — a technique that essentially breaks up the chain into smaller pieces but still aims to have the same level of security.

Transactions

Every transaction specifies a TO: address. If the TO: is a user-controlled account, and the transaction contains ETH, it is considered a transfer of ETH from account A to account B. If the TO: is a contract, then the code of the contract gets executed. The execution of a contract can result in further transactions, even calls to contracts within a contract, an event known as an inter-transaction.

But contracts don’t always have to be about transferring ETH. Anyone can create an application with any rules by defining it as a contract.

Who is using Ethereum?

Ethereum is currently being used mostly by cryptocurrency traders and investors, but there is a growing community of developers that are building dapps (decentralized applications) on the Ethereum Network.

There are thousands of Ethereum-based projects being developed as we speak. Some more the most popular dapps are games (e.g CryptoKitties and CrptyoTulips).

How is Ethereum different from bitcoin?

Bitcoin is a blockchain technology where users are assigned a private key, linked with a wallet that generates bitcoin addresses where people can send bitcoins to. It’s all about the coins. It’s a way to exchange money in an encrypted, decentralized environment.

Ethereum not only lets users exchange money like bitcoin does, but it also has programming languages that let people build applications (contracts) that are executed within the blockchain.

Bitcoin functions on proof of work as a means of achieving consensus across the network. Whereas Ethereum uses proof of stake.

Ethereum’s creator is public (Vitalik Buterin). Bitcoin’s is unknown (goes by the alias, Satoshi Nakamoto)

Other blockchains that do contracts

There are other blockchain projects that allow the creation of contracts. Here is a brief description of what they are and how they are different than Ethereum:

Neo — faster transaction speeds, inability to fork, less energy use, has two tokens (NEO and GAS), will be quantum resistant.

Icon — uses loopchain to connect blockchain-based communities around the world.

Nem — contract code is stored outside of the blockchain resulting in a lighter and faster network.

Ethereum Classic — a continuation of the original Ethereum blockchain (before it was forked)

Conclusion

Ethereum is a rapidly growing blockchain protocol that allows people to not only transfer assets to each other, but to create decentralized applications that run securely on a distributed network of computers.

Evaluating the Evaluation: A Benchmarking Checklist

A co-worker introduced me to Craig Hanson and Pat Crain’s performance mantras, which neatly summarize much of what we do in performance analysis and tuning. They are:

Performance mantras

  1. Don’t do it
  2. Do it, but don’t do it again
  3. Do it less
  4. Do it later
  5. Do it when they’re not looking
  6. Do it concurrently
  7. Do it cheaper

These have inspired me to summarize another performance activity: evaluating benchmark accuracy. Good benchmarking rewards investment in engineering that actually improves performance, but, unfortunately, poor benchmarking is a lot more common. I have spent a lot of my career refuting bad benchmarks, and have developed such a knack for it that prior employers adopted a rule that no benchmark can be published unless approved by me. Because benchmarking is so important for our industry, I’d like to share with you how I do it.

Read more at Brendan Gregg’s Blog

Ubuntu Linux 18.04.1 LTS Bionic Beaver Available for Download

Ubuntu is one of the most popular desktop Linux-based operating systems in the world, and rightfully so. It’s stable, fast, and offers a very polished user experience. Ubuntu has gotten even better recently too, since Canonical — the company that develops the distribution — switched to GNOME from the much-maligned Unity. Quite frankly, GNOME is the best overall desktop environment, but I digress.

Today, Ubuntu 18.04.1 becomes available. This is the first “point” release of 18.04 LTS Bionic Beaver. It is chock full of fixes and optimizations, which some individuals and organizations have been waiting for before upgrading. You see, while some enthusiasts will install the latest and greatest immediately, others value stability — especially for business — and opt to hold off until many of the bugs are worked out.  If you are a longtime Windows user, think of it like waiting for Microsoft to release a service pack before upgrading — sort of.

“If you’re already running 18.04 LTS, and you have been updating regularly, then you will already have all of these applied and so essentially you’re already running 18.04.1 LTS.

Read more at BetaNews

10+ Top Open-Source Tools for Docker Security

For container security, you’ll find plenty of open-source tools that can help prevent another debacle like the one at Tesla, which suffered a Kubernetes cluster breach. But container security is still tricky, so you need to know which utilities to add to your arsenal.

Sure, there are commercial container security products out there, but open-source projects can take you pretty far. Many focus on auditing, tracking Common Vulnerabilities and Exposures (CVE) databases and benchmarks established by CIS, the National Vulnerability Database, and other bodies. Tools then scan the container image, reveal its contents, and compare the contents against these manifests of known vulnerabilities.

Automating container auditing, as well as using other container security processes, can be a huge boon for enterprises by helping teams catch problems early in the build pipeline.

While there are plenty of open-source container security tools out there, here are the best, most mature ones with the largest user communities.

Read more at Tech Beacon

DARPA Drops $35 Million on “Posh Open Source Hardware” Project

The U.S. Defense Advanced Research Projects Agency (DARPA) announced the first grants for its Electronic Resurgence Initiative (ERI). The initial round, which will expand to $1.5 billion over five years, covers topics ranging from automating EDA to optimizing chips for SDR to improving NVM performance. Of particular interest is a project called POSH, (posh open source hardware), which intends to create a Linux-based platform and ecosystem for designing and verifying open source IP hardware blocks for next-generation system-on-chips.

The first funding recipients were announced at DARPA’s ERI Summit this week in San Francisco. As reported in IEEE Spectrum, the recipients are working out of R&D labs at major U.S. universities and research institutes, as well as companies like Cadence, IBM, Intel, Nvidia, and Qualcomm.

Most of the projects are intended to accelerate the development of complex, highly customized SoCs. ERI is motivated by two trends in chip design. First, as Moore’s Law roadmap slows to a crawl, SoC designers are depending less on CPUs and more on a growing profusion of GPUs, FPGAs, neural chips, and other co-processors, thereby adding to complexity. Second, we’re seeing a greater diversity of applications ranging from cloud-based AI to software defined networking to the Internet of Things. Such divergent applications often require highly divergent mixes of processors, including novel chips like neural net accelerators.

DARPA envisions the tech world moving toward a wider variety of SoCs with different mixes of IP blocks, including highly customized SoCs for specific applications. With today’s semiconductor design tools, however, such a scenario would bog down in spiraling costs and delays. ERI plans to speed things up.

Here are some brief summaries of the projects followed by a closer look at POSH:

  • IDEA — This EDA project is based primarily on work by David White at Cadence, which received $24.1 million of the total IDEA funding. The immediate goal is to create a layout generator that would enable users with even limited electronic design expertise to complete the physical design of electronic hardware such as a single board computer within 24 hours. A larger goal is to enable the automated EDA system to capture the expertise of designers using it.
  • Software Defined Hardware (SDH) — SDH aims to develop hardware and software that can be reconfigured in real time based on the kind of data being processed. The goal is to design chips that can reconfigure their workload in a matter of milliseconds. Stephen Keckler at Nvidia is leading the funding at $22.7 million.
  • Domain-Specific System on Chip (DSSoC) — Like the closely related SDH project, the DSSoC project is inspired by software defined radio (SDR). The project is working with the GNU Radio Foundation to look at the needs of SDR developers as the starting point for developing an ideal SDR SoC.
  • 3DSoC — This semiconductor materials and integration project is based largely on MIT research from Max Shulaker, who received $61 million. FRANC is attempting to grow multiple layers of interconnected circuitry atop a CMOS base to prove that a monolithic 3D system using a more affordable 90nm process can compete with CPUs with more advanced processes.
  • Foundations Required for Novel Compute (FRANC) — FRANC is looking to improve the performance of NVM memories such as embedded MRAM with a goal of enabling “emerging memory-centric computing architectures to overcome the memory bottleneck presented in current von Neumann computing.”

POSH boosts open hardware with verification

The POSH project received over $35 million in funding spread out among a dozen researchers. The biggest grants, ranging from about $6 to $7 million went to Eric Keiter (Sandia National Labs), Alex Rabinovitch (Synopsis), Tony Levi, and Clark Barrett (Stanford and SiFive).

As detailed in a July 18 interview in IEEE Spectrum with DARPA ERI director Bill Chappell, proprietary licensing can slow down development, especially when it comes to building complex, highly customized SoCs. If SoC designers could cherry pick verified, open source hardware blocks with the same ease that software developers can download software from GitHub today, it could significantly reduce development time and cost. In addition, open source can speed and improve hardware testing, which can be time-consuming when limited to engineers working for a single chipmaker.

POSH is not intended as a new open source processor architecture such as RISC-V. DARPA has helped fund RISC-V, and as noted, POSH funding recipient Barrett is part of the leadership team at RISC-V chip leader SiFive.

POSH is defined as “an open source SoC design and verification ecosystem that will enable the cost effective design of ultra-complex SoCs.” In some ways, POSH is the hardware equivalent of projects such as Linaro and Yocto, which verify, package, and update standardized software components for use by open source developers. As Chappell put it in the IEEE interview, POSH intends to “create a foundation of building blocks where we have full understanding and analysis capability as deep as we want to go to understand how these blocks are going to work.”

The ERI funding announcement quotes POSH and IDEA project leader Andreas Olofsson, as saying: “Through POSH, we hope to eliminate the need to start from scratch with every new design, creating a verified foundation to build from while providing deeper assurance to users based on the open source inspection process.”

POSH is focusing primarily on streamlining and unifying the verification process, which along with design, is by far a leading cost of SoC design. Currently, there are very few high-quality, verified hardware IP blocks that are openly available, and it’s difficult to tell those apart from the blocks that aren’t.

You’re not going to bet $100 [million] to $200 million on a block that was maybe built by a university or, even if it was from another industrial location, [if] you don’t really know the quality of it,” Chappell told IEEE Spectrum. “So you have to have a methodology to understand how good something is at a deep level before it’s used.”

According to Chappell, open source hardware is finally starting to take off because of the increasing abstraction of the hardware design. “It gets closer to the software community’s mentality,” he said.
DARPA ERI’s slidedeck (the POSH section starts at page 49) suggests Linux as the foundation for the POSH IP block development and verification platform. It also details the following goals:

  • TA-1: Hardware Assurance Technology — Development of hardware assurance technology appropriate for signoff quality validation of deeply hierarchical analog and digital circuits of unknown origin. Hardware assurance technology would provide increasingly high levels assurance for formal analysis, simulation, and emulation and prototypes.
  • TA-2: Open Source Hardware Technology — Development of design methods, standards, and critical IP components needed to kick-start a viable open source SoC eco-system. IP blocks would include digital blocks such as CPU, GPU, FPGA, media codecs, encryption accelerators, and controllers for memory, Ethernet, PCIe, USB 3.0, MIPI-CSI, HDMI, SATA, CAN, and more. Analog blocks might include PHYs, PLL and DLL, ADCs, DACs, regulators. and monitor circuits.
  • TA-3: Open Source System-On-Chip Demonstration — Demonstration of open source hardware viability through the design of a state of the art open source System-On-Chip.

Join us at Open Source Summit + Embedded Linux Conference Europe in Edinburgh, UK on October 22-24, 2018, for 100+ sessions on Linux, Cloud, Containers, AI, Community, and more.

Hot Technologies on Track at Open Source Summit

Open Source Summit North America is right around the corner. There will be hundreds of sessions, workshops, and talks, all curated by experts in the Linux and open source communities. It’s not an easy feat to choose the topics and sessions you want to attend at the event  because there are so many topics and only so much time.

In this article, we talk with Laura Abbott, a developer employed by Red Hat, and Bryan Liles, a developer at Heptio, a Kubernetes company, based in Seattle, Washington, about the upcoming event. Abbott is on the program committee for Open Source Summit, and Liles is one of the program chairs, working hard “to build out a schedule that touches on many aspects of Open Source.”

Hot topics

“I’ve been interested in cloud-native applications for a few years now, and I spend most of my time thinking about the problems and developing software in this space,” said Liles. “I’m also interested in computer vision, augmented reality, and virtual reality. One of the most important topics in this space right now is Machine Learning. It’s amazing to see all the open source solutions being created. I feel that even as a hobbyist, I can find tools to help me build and run models without causing me to go into debt. Personally, I’m looking forward to the talks in the Infrastructure & Automation and the Kubernetes/Containers/Cloud Native Apps tracks.”

Here are just a few of the must-see cloud computing sessions:

As a kernel developer, Abbott gets excited when people talk about their future kernel work, especially when it involves the internals like the page cache or memory management. “I also love to see topics that talk about getting people involved in projects for the first time,” she said. “I’m also excited to see the Diversity Empowerment Summit and learning from the speakers there.”

You may wonder as we are moving toward the cloud native world, where everything is running in a cloud, does Linux even matter anymore? But, the fact is Linux is powering the cloud. “Linux is what’s powering all those topics. When people say Linux. they’re usually referring to the complete platform from kernel to userspace libraries. You need a solid base to be able to run your application in the cloud. The entire community of Linux contributors enables today’s developers to work with the latest technologies,” said Abbott.

A few of the featured talks in the Linux Systems and Development track include:

Latest Trends

“DevOps is unsurprisingly a hot topic,” said Abbott. “There is a lot of focus on how to move towards newer best practices with projects like Kubernetes and how to best monitor your infrastructure. Blockchain technologies are a very hot topic. Some of this work is very forward looking but there’s a lot of interest in figuring out if blockchain can solve existing problems,” said Abbott.

That means OSSNA is the place to be if you are interested in emerging trends and technologies. “If you are looking to see what is coming next, or currently involved in Open Source, you should attend,” says Liles. “The venue is in a great location in Vancouver, so you can also take in the city between listening to your peers during talks or debating current trends during the hallway track,” said Liles.

Abbott concluded, “Anyone who is excited about Linux should attend. There’s people talking about such a wide variety of topics from kernel development to people management. There’s something for everyone.”

Sign up to receive updates on Open Source Summit North America:

This article originally appeared at The Linux Foundation.

The Use Cases for Blockchain, Real and Hypothetical

Blockchain has finally gotten over the Wall Street hump. Now that BitCoin and Ethereum are essentially old news, the actual technology behind these commodities is beginning to trickle into real-world enterprise applications. Blockchain, it seems, has many useful use cases out there in the business world, and with the help of the Linux Foundation and IBM, enterprises can now take advantage of the open source Hyperledger implementation of blockchain technology.

On today’s episode of The New Stack Analysts podcast recorded live at OSCON 2018, Klint Finley, a reporter with Wired and the author of the “Wired Guide to Blockchain,” said that he had a few real and hypothetical use cases the piece he wrote a few months ago. “Blockchain feels like the thing that is the hardest to parse the value out of the hype. With cloud computing, it was clearly an enormously hyped concept, but there were use cases and benefits. With big data it was coming out of actual real use cases at places like Google and Yahoo! With the Internet of Things, that’s probably the least well established of those at this point, but there are still established use cases for that. With blockchain it feels really preliminary,” said Finley.

Tracy Kuhrt, community architect at the Hyperledger Project at The Linux Foundation, pointed out a few of the current use cases for Hyperledger, however. 

Read more at The New Stack.

An Introduction to Using Linux on Embedded Single-Board Computers

Most of the more powerful compact form-factor single-board computers (SBCs) run one of the popular Linux distributions designed for use with these embedded boards. While there isn’t a specific version of the Linux kernel for embedded applications, the difference from a PC or desktop device running Linux is usually very small.

Typically being more reliant on Flash memory than having plenty of RAM and a hard disk – and in some cases also being ‘headless’, i.e. having no HDMI or video output – the distribution for embedded applications is tailored to available resources, rather than not being capable of running certain functions or commands. For the headless SBCs the only way to interact with them is through the Linux command line, so a good grounding in the basics of Linux is essential. Also, at a device and peripheral connectivity level, such as with GPIO interfaces and I2C functions, there are a number of Linux resources that are important to know. In this article we’ll cover some of the commands you are most likely to use when connecting up your embedded SBC to the real world. It is assumed that you have some basic Linux command line skills.

Before getting to work with the command line interface (CLI), let’s review some of the benefits of using Linux. Found running on anything from compact SBCs with embedded microcontrollers through to multi-core data-centre servers, Linux is an extremely efficient and scalable operating system (OS).

Read more at New Electronics

The Kubernetes Third-Year Anniversary Is Just the Beginning

A vibrant development community continues to help make Kubernetes the profoundly successful open source project it has become. In just a few years after Kubernetes was created as an in-house project by Google, Kubernetes’ governance processes have also served to underpin the platform’s adoption as well.  And a healthy community is at the heart of any successful source project.

At the same time, the open source community is not a “static asset.” To be permanently successful and to move forward, any open source project also needs a growing pool of contributors in order to survive. That’s why the Kubernetes community is working on multiple programs, focused on onboarding contributors, including the Kubernetes Mentoring initiativeKubernetes Contributing guide and Office Hours, as well as “Meet our Contributors sessions”Outreachy and even Google Summer of Code (GSoC), which is one of the most popular and well-known programs for the new contributors to the open source projects in the world. Some of the stand-out contributors have also garnered industry recognition.

Releases, Features and Roadmap

Kubernetes is a technology, first and foremost. And the project obviously couldn’t be so successful if the technology did not offer such a profound benefit to organizations.

The most important releases of Kubernetes occur four times per year, providing a new set of features each time. The patch releases (delivering security patches and bug fixes) take place even more often, keeping the codebase always up-to-date.

Read more at The New Stack

Learn more in the Kubernetes project update from Ihor Dvoretskyi coming up at Open Source Summit in Vancouver.

Top 10 Reasons to be at the Premier Open Source Event of the Year | Register Now to Save $150

Here’s a sneak peek at why you need to be at Open Source Summit in Vancouver next month! But hurry – spots are going quickly. Secure your space and register by August 4 to save $150.

  1. Awesome content: 250+ sessions on Linux systems, cloud native development, cloud infrastructure, AI, blockchain and open source program management & community leadership.
  2. Deep Dive Labs & Tutorials: Including Hands-On with Cilium Network Security, Cloud-native Network Functions (CNF) Seminar, Istio Playground Lab, Practical Machine Learning Lab, First Tutorial on Container Orchestration plus many more – all included in one low registration price.
  3. 9 Co-located Events: Linux Security Summit, OpenChain Summit, Acumos AI Developer Mini-Summit, Cloud & Container Apprentice Linux Engineer tutorials, CHAOSSCon and much more!

Read more at The Linux Foundation