From Wikipedia, the free encyclopedia - View original article
iBeacon is the trademark for an indoor positioning system that Apple Inc. calls "a new class of low-powered, low-cost transmitters that can notify nearby iOS 7 devices of their presence." The technology enables a smart phone or other device to perform actions when in close proximity to an iBeacon.
One application is to help smart phones determine their approximate location or context. With the help of an iBeacon, a smartphone's software can approximately find its relative location to an iBeacon in a store. iBeacons can help a phone show notifications of items nearby that are on sale, and it can enable payments at the point of sale (POS) where customers don’t need to remove their wallets or cards to make payments. iBeacon technology works using the Bluetooth Low Energy (BLE) technology, also known as Bluetooth Smart.
iBeacon uses Bluetooth low energy proximity sensing to transmit a universally unique identifier picked up by a compatible app or operating system. The identifier can then be looked up over the internet to determine the device's physical location or trigger an action on the device such as a check-in on social media or a push notification.
Various vendors have since made hardware iBeacons that come in a variety of form factors, including small coin cell devices, USB sticks, and generic Bluetooth 4.0 capable USB dongles.
An iBeacon deployment consists of one or more iBeacon devices that transmit their own unique identification number to the local area. Software on a receiving device may then look up the iBeacon and perform various functions, such as notifying the user. Receiving devices can also connect to the iBeacons to retrieve values from iBeacon's GATT (generic attribute profile) service. iBeacons do not push notifications to receiving devices (other than their own identity). However, mobile software can use signals received from iBeacons to trigger their own push notifications.
Region monitoring is limited to 20 regions and can function in the background (of the listening device) and has different delegates to notify listening app (and user) of entry/exit in the region - even if app is in the background or phone is locked. Region monitoring also allows for a small window in which iOS gives a closed app an opportunity to react to the entry of a region.
Ranging works only in the foreground but will return (to the listening device) an array (unlimited) of all iBeacons found along with their properties (UUID, etc.) 
An iOS device receiving an iBeacon transmission can approximate the distance from the iBeacon. The distance (between transmitting iBeacon and receiving device) is categorised into 3 distinct ranges:
An iBeacon broadcast has the ability to approximate when a user has entered, exited, or lingered in region. Depending on a customer's proximity to a beacon, they are able to receive different levels of interaction at each of these three ranges.
The maximum range of an iBeacon transmission will depend on the location and placement, obstructions in the environment and where the device is being stored (e.g. in a leather handbag or with a thick case). Standard beacons have an approximate range of 70 meters. Long range beacons can reach up to 450 meters.
The frequency of the iBeacon transmission depends on the configuration of the iBeacon and can be altered using device specific methods. Both the rate and the transmit power have an effect on the iBeacon battery life. iBeacons come with predefined settings and several of them can be changed by the developer. Amongst others the rate and the transmit power can be changed as well as the Major and Minor values. The Major and Minor values are settings which can be used if you want to connect to specific iBeacons or if you want to work with more than one iBeacon at the same time. Typically, multiple iBeacon deployment at a venue will share the same UUID, and use the major and minor pairs to segment and distinguish subspaces within the venue. You can for example set the Major values of all the iBeacons in a specific store to the same value and use the Minor value to identify a specific iBeacon within the store.
The Bluetooth LE protocol is significantly more power efficient than Bluetooth Classic. Several chipsets makers, including Texas Instruments and Nordic Semiconductor now supply chipsets optimized for iBeacon use. Power consumption depends on iBeacon configuration parameters of advertising interval and transmit power. A study on 16 different iBeacon vendors reports that battery life can range between 1–24 months. Apple's recommended setting of 100ms advertising interval with a coin cell battery provides for 1–3 months of life, which increases to 2–3 years as advertising interval is increased to 900ms.
Battery consumption of the phones is a factor that must be taken into account when deploying beacon enabled apps. A recent report has shown that older phones tend to draw more battery in the vicinity of iBeacons, while the newer phones can be more efficient in the same environment. In addition to the time spent by the phone scanning, number of scans and number of beacons in the vicinity are also significant factors for battery drain, as pointed out by the Aislelabs report. In a follow up report, Aislelabs found a drastic improvement in battery consumption for iPhone5S, iPhone 5C versus the older model iPhone 4S. At 10 surrounding iBeacons, iPhone 4S can consume up to 11% of battery per hour whereas iPhone5S consumes a little less than 5% battery per hour.  An energy efficient iBeacon application needs to consider these aspects in order to strike a good balance between app responsiveness and battery consumption.
|This section possibly contains unsourced predictions, speculative material, or accounts of events that might not occur. (December 2013)|
In mid-2013 Apple introduced iBeacons and experts wrote about how it is designed to help the retail industry by simplifying payments and enabling on-site offers. With the launch of iOS 7, retailers and other small to medium enterprises will be able to use this Bluetooth 4.0 based technology. On December 6, 2013, it was reported that Apple activated iBeacons across its 254 US retail stores.
As of May 2014, different hardware iBeacons can be purchased for as little as $5 per device to more than $30 per device.  Each of these different iBeacons have varying default settings for their default transmit power and iBeacon advertisement frequency. Some hardware iBeacons advertise at as low as 1 Hz while others can be as fast as every 100 ms.
iBeacon technology is still in its infancy. One well reported software quirk exists on the latest Android system whereby the system's bluetooth stack crashes when presented with many iBeacons. 
Bluetooth low energy devices can operate in an advertisement mode to notify nearby devices of its presence.  At the most simple form, an iBeacon is a Bluetooth low energy device emitting advertisement following a strict format, that being an Apple defined iBeacon prefix, followed by a variable UUID, and a major, minor pair. An example iBeacon advertisement frame could look like:
fb0b57a2-8228-44 cd-913a-94a122ba1206 Major 1 Minor 2
where fb0b57a2-8228-44 cd-913a-94a122ba1206 is the UUID. Since iBeacon advertisement is just an application of the general Bluetooth low energy advertisement, the above iBeacon can be emitted by issuing the following command on Linux to a supported Bluetooth 4 device on a modern kernel. Devices running the Android operating system prior to version 4.4 can only receive iBeacon advertisements but cannot emit iBeacon advertisements. Android 5.0 ("Lollipop") added the support for both central and peripheral modes.
hcitool -i hci0 cmd 0x08 0x0006 a0 00 a0 00 00 00 00 00 00 00 00 00 00 07 00 ################################## 02 01 06 1a ff 4c 00 02 15 # Apple's fixed iBeacon advertising prefix hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 FB 0B 57 A2 82 28 44 CD 91 3A 94 A1 22 BA 12 06 00 01 00 02 D1 00 hcitool -i hci0 cmd 0x08 0x000a 01
By design, the iBeacon advertisement frame is plainly visible. This leaves the door open for interested parties to capture, copy and reproduce the iBeacon advertisement frames at different physical locations. This can be done simply by issuing the right sequence of commands to compatible Bluetooth 4.0 USB dongles. As of Feb 2014, successful spoofing of Apple store iBeacons have been reported.  This is not a security flaw in the iBeacon per se, but application developers must keep this in mind when designing their applications with iBeacons.
PayPal has taken a more robust approach, where the Beacon is purely the start of a complex security negotiation. This is not likely to be hacked, nor is it likely that it would be disrupted by copies of beacons.
Listening for iBeacon can be achieved using the following commands with a modern Linux distribution:
hcitool -i hci0 lescan—passive D6:EE:D4:16:ED:FC (unknown) F6:BE:90:32:3C:5E (unknown) ...
On another terminal, launch the protocol dump program:
hcidump -R -i hci0 > 04 3E 2A 02 01 00 01 FC ED 16 D4 EE D6 1E 02 01 06 1A FF 4C 00 02 15 B9 40 7F 30 F5 F8 46 6E AF F9 25 55 6B 57 FE 6D ED FC D4 16 B6 B4 ...
The MAC address of the iBeacon along with its iBeacon payload is clearly identifiable. The sequence of commands in technical details can then be used to reproduce the iBeacon frame.
Hewlett-Packard Research Labs introduced the "CoolTown" technology  that combined infrared "beacons" and software using then-current PDA technology. A common method was to have the beacon transmit a URL rather than a unique identifier although arbitrary identifiers (including unique identifiers) could be used.
Although the NFC environment is very different and has many non-overlapping applications, it is still compared with iBeacons.
|Wikimedia Commons has media related to IBeacon.|